In an integer, the denominator is 1. Therefore, this method returns 1.
# File rational.rb, line 417 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 438 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 473 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 457 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 410 def numerator self end
Returns a Rational representation of this integer.
# File rational.rb, line 424 def to_r Rational(self, 1) end