Module:Rational: Difference between revisions
mNo edit summary |
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 | ||