summaryrefslogtreecommitdiff
path: root/numeric.rb
diff options
context:
space:
mode:
authorS.H <gamelinks007@gmail.com>2022-10-28 01:13:16 +0900
committerGitHub <noreply@github.com>2022-10-27 09:13:16 -0700
commitc6f439a6a8df582416e756d7511aa4d9c72071a9 (patch)
tree1c9d36b4ace554f42160800e8343a88a180b85fd /numeric.rb
parent7cf7e6c33226093c9c4e3078f7ced3b9b9c99b05 (diff)
Improve performance some `Integer` and `Float` methods [Feature #19085] (#6638)
* Improve some Integer and Float methods * Using alias and Remove unnecessary code * Remove commentout code
Notes
Notes: Merged-By: k0kubun <takashikkbn@gmail.com>
Diffstat (limited to 'numeric.rb')
-rw-r--r--numeric.rb74
1 files changed, 65 insertions, 9 deletions
diff --git a/numeric.rb b/numeric.rb
index c2091465f8..f026679210 100644
--- a/numeric.rb
+++ b/numeric.rb
@@ -6,7 +6,17 @@ class Numeric
# Returns +true+ if +num+ is a real number (i.e. not Complex).
#
def real?
- return true
+ true
+ end
+
+ #
+ # call-seq:
+ # num.real -> self
+ #
+ # Returns self.
+ #
+ def real
+ self
end
#
@@ -19,7 +29,7 @@ class Numeric
# 1.integer? #=> true
#
def integer?
- return false
+ false
end
#
@@ -29,7 +39,7 @@ class Numeric
# Returns +true+ if +num+ is a finite number, otherwise returns +false+.
#
def finite?
- return true
+ true
end
#
@@ -40,8 +50,34 @@ class Numeric
# finite, <code>-Infinity</code>, or <code>+Infinity</code>.
#
def infinite?
- return nil
+ nil
+ end
+
+ #
+ # call-seq:
+ # num.imag -> 0
+ # num.imaginary -> 0
+ #
+ # Returns zero.
+ #
+ def imaginary
+ 0
+ end
+
+ alias imag imaginary
+
+ #
+ # call-seq:
+ # num.conj -> self
+ # num.conjugate -> self
+ #
+ # Returns self.
+ #
+ def conjugate
+ self
end
+
+ alias conj conjugate
end
class Integer
@@ -146,7 +182,7 @@ class Integer
#
# Since +int+ is already an Integer, this always returns +true+.
def integer?
- return true
+ true
end
alias magnitude abs
@@ -178,7 +214,7 @@ class Integer
#
# For example, <code>?a.ord</code> returns 97 both in 1.8 and 1.9.
def ord
- return self
+ self
end
#
@@ -208,7 +244,7 @@ class Integer
#
# #to_int is an alias for #to_i.
def to_i
- return self
+ self
end
# call-seq:
@@ -216,7 +252,7 @@ class Integer
#
# Since +int+ is already an Integer, returns +self+.
def to_int
- return self
+ self
end
# call-seq:
@@ -244,6 +280,26 @@ class Integer
def ceildiv(other)
-div(-other)
end
+
+ #
+ # call-seq:
+ # int.numerator -> self
+ #
+ # Returns self.
+ #
+ def numerator
+ self
+ end
+
+ #
+ # call-seq:
+ # int.denominator -> 1
+ #
+ # Returns 1.
+ #
+ def denominator
+ 1
+ end
end
# call-seq:
@@ -276,7 +332,7 @@ class Float
# Since +float+ is already a Float, returns +self+.
#
def to_f
- return self
+ self
end
#