In Files

  • rational.rb

Class/Module Index [+]

Quicksearch

Integer

Public Instance Methods

denominator() click to toggle source

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

 
               # File rational.rb, line 417
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 438
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 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
            
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 457
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 410
def numerator
  self
end
            
to_r() click to toggle source

Returns a Rational representation of this integer.

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