Module:JI ratio finder: Difference between revisions
Bugfixed subgroup candidate ratio search |
Added filtering by equave-complement int-limit |
||
| Line 137: | Line 137: | ||
end | end | ||
return filtered_ratios | |||
end | |||
-- Filter ratios based on whether its equave complement exceeds an int limit | |||
function p.filter_ratios_by_equave_complement_int_limit(ratios, int_limit, equave) | |||
local ratios = ratios or { rat.new(5, 4), rat.new(81, 64), rat.new(9, 7) } | |||
local int_limit = int_limit or 10 | |||
local equave = equave or rat.new(2) | |||
local filtered_ratios = {} | |||
for i = 1, #ratios do | |||
local complement = p.equave_complement(ratios[i], equave) | |||
local numerator, denominator = rat.as_pair(complement) | |||
if numerator <= int_limit and denominator <= int_limit then | |||
table.insert(filtered_ratios, ratios[i]) | |||
end | |||
end | |||
return filtered_ratios | return filtered_ratios | ||
end | end | ||