Module:Rational: Difference between revisions
m Typo |
m signum() -> u.signum() |
||
Line 1: | Line 1: | ||
local u = require('Module:Utils') | local u = require('Module:Utils') | ||
local p = {} | local p = {} | ||
-- construct a rational number n/m | -- construct a rational number n/m | ||
Line 15: | Line 9: | ||
return { nan = true } | return { nan = true } | ||
else | else | ||
return { zero = true, sign = signum(m) } | return { zero = true, sign = u.signum(m) } | ||
end | end | ||
else | else | ||
if m == 0 then | if m == 0 then | ||
return { inf = true, sign = signum(n) } | return { inf = true, sign = u.signum(n) } | ||
end | end | ||
end | end | ||
local sign = signum(n) * signum(m) | local sign = u.signum(n) * u.signum(m) | ||
n = n * signum(n) | n = n * u.signum(n) | ||
m = m * signum(m) | m = m * u.signum(m) | ||
local n_factors = u.prime_factorization_raw(n) | local n_factors = u.prime_factorization_raw(n) | ||
local m_factors = u.prime_factorization_raw(m) | local m_factors = u.prime_factorization_raw(m) |