- rational.rb

denominator()
click to toggle source

In an integer, the denominator is 1. Therefore, this method returns 1.

# File rational.rb, line 449 def denominator 1 end

gcd(other)
click to toggle source

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

gcdlcm(other)
click to toggle source

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

lcm(other)
click to toggle source

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

numerator()
click to toggle source

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

to_r()
click to toggle source

Returns a Rational representation of this integer.

# File rational.rb, line 456 def to_r Rational(self, 1) end