Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more
In an integer, the denominator is 1. Therefore, this method returns 1.
# File rational.rb, line 449 def denominator 1 end
Returns the greatest common denominator of the two numbers
(self
and n
).
Examples:
72.gcd 168 # -> 24 19.gcd 36 # -> 1
The result is positive, no matter the sign of the arguments.
# File rational.rb, line 470 def gcd(other) min = self.abs max = other.abs while min > 0 tmp = min min = max % min max = tmp end max end
Returns the GCD and the LCM (see gcd and lcm) of the two arguments
(self
and other
). This is more efficient than
calculating them separately.
Example:
6.gcdlcm 9 # -> [3, 18]
# File rational.rb, line 505 def gcdlcm(other) gcd = self.gcd(other) if self.zero? or other.zero? [gcd, 0] else [gcd, (self.div(gcd) * other).abs] end end
Returns the lowest common multiple (LCM) of the two arguments
(self
and other
).
Examples:
6.lcm 7 # -> 42 6.lcm 9 # -> 18
# File rational.rb, line 489 def lcm(other) if self.zero? or other.zero? 0 else (self.div(self.gcd(other)) * other).abs end end
In an integer, the value is the numerator of its rational
equivalent. Therefore, this method returns self
.
# File rational.rb, line 442 def numerator self end
Returns a Rational representation of this integer.
# File rational.rb, line 456 def to_r Rational(self, 1) end