Module:Rational: Difference between revisions

Plumtree (talk | contribs)
mNo edit summary
Plumtree (talk | contribs)
m is_square_superparticular() implemented
Line 487: Line 487:
local n, m = p.as_pair(a)
local n, m = p.as_pair(a)
return n - m == 1
return n - m == 1
end
-- determine whether a rational number is a square superparticular
function p.is_square_superparticular(a)
if type(a) == 'number' then
a = p.new(a)
end
if a.nan or a.inf or a.zero then
return false
end
-- check the numerator
for factor, power in pairs(a) do
if type(factor) == 'number' then
if power > 0 and power % 2 ~= 0 then
return false
end
end
end
return p.is_superparticular(a)
end
end