Module:JI ratio finder: Difference between revisions

Ganaram inukshuk (talk | contribs)
m Comments; logic adjusted for finding the unison
Ganaram inukshuk (talk | contribs)
Removed odd-limit function, as it's now part of Module:Rational
Line 3: Line 3:
local rat = require('Module:Rational')
local rat = require('Module:Rational')
local p = {}
local p = {}
-- Helper function
-- Finds the odd limit of a ratio
-- why isnt this in rat
function p.odd_limit(a)
local a_copy = rat.copy(a)
if a_copy[2] ~= nil then
a_copy[2] = 0
end
local num, den = rat.as_pair(a_copy)
return math.max(num, den)
end


-- Main function
-- Main function
Line 53: Line 38:
within_min_tolerance = ratio_in_cents > cents - tolerance
within_min_tolerance = ratio_in_cents > cents - tolerance
within_max_tolerance = ratio_in_cents < cents + tolerance
within_max_tolerance = ratio_in_cents < cents + tolerance
within_odd_limit = p.odd_limit(current_ratio) <= odd_limit
within_odd_limit = rat.odd_limit(current_ratio) <= odd_limit
within_prime_limit = rat.max_prime(current_ratio) <= prime_limit
within_prime_limit = rat.max_prime(current_ratio) <= prime_limit
is_simplified = utils._gcd(num, den) == 1
is_simplified = utils._gcd(num, den) == 1