mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* complex.c (f_lcm): removed.
* rational.c (rb_lcm, rb_gcdlcm): added. * lib/complex.rb (gcd, lcm, gcdlcm): removed. * lib/rational.rb (gcd, lcm, gcdlcm): ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15844 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
69ad92d9ca
commit
d4f5cb67d4
5 changed files with 101 additions and 113 deletions
|
@ -1,35 +1,3 @@
|
|||
class Integer
|
||||
|
||||
def gcd(other)
|
||||
min = self.abs
|
||||
max = other.abs
|
||||
while min > 0
|
||||
tmp = min
|
||||
min = max % min
|
||||
max = tmp
|
||||
end
|
||||
max
|
||||
end
|
||||
|
||||
def lcm(other)
|
||||
if self.zero? or other.zero?
|
||||
0
|
||||
else
|
||||
(self.div(self.gcd(other)) * other).abs
|
||||
end
|
||||
end
|
||||
|
||||
def gcdlcm(other)
|
||||
gcd = self.gcd(other)
|
||||
if self.zero? or other.zero?
|
||||
[gcd, 0]
|
||||
else
|
||||
[gcd, (self.div(gcd) * other).abs]
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
module Math
|
||||
|
||||
alias exp! exp
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue