Module:Rational: Difference between revisions

Plumtree (talk | contribs)
mNo edit summary
Plumtree (talk | contribs)
m from_ket() implemented
Line 45: Line 45:
end
end
return val
return val
end
-- create a rational number from a string of whitespace-separated integers
function p.from_ket(s)
local factor = 1
local a = { sign = 1 }
for i in s:gmatch('[%-%d]+') do
local power = tonumber(i)
if power == nil then return nil end
-- find the next prime
factor = factor + 1
while not u.is_prime(factor) do
factor = factor + 1
end
if power ~= 0 then
a[factor] = power
end
end
return a
end
end