Module:JI ratios in ED: Difference between revisions
m Added prime limit to candidate ratio search |
Added exact ratio filtering (commas should no longer show up as unisons, nor their complements for the equave) |
||
| Line 6: | Line 6: | ||
local p = {} | local p = {} | ||
function p.find_ratios_in_ed_by_primes(ed, primes | function p.find_ratios_in_ed_by_primes(ed, primes, equave, tenney_height, denominator_limit) | ||
local ed = ed or 12 | local ed = ed or 12 | ||
local primes = primes or { 3, 5, 7, 11, 13, 17, 19 } | local primes = primes or { 3, 5, 7, 11, 13, 17, 19 } | ||
| Line 69: | Line 69: | ||
-- Filter ratios by complement-agnostic tenney height | -- Filter ratios by complement-agnostic tenney height | ||
prime_filtered_ratios = jiraf.filter_ratios_by_complement_agnostic_tenney_height(prime_filtered_ratios, tenney_height, equave) | prime_filtered_ratios = jiraf.filter_ratios_by_complement_agnostic_tenney_height(prime_filtered_ratios, tenney_height, equave) | ||
-- Filter ratios by exact cent value | |||
local exact_ratio = jiraf.filter_exact_ratio(prime_filtered_ratios, edstep_in_cents) | |||
if exact_ratio ~= nil then | |||
prime_filtered_ratios = { exact_ratio } | |||
end | |||
-- Add ratios to cells | -- Add ratios to cells | ||
| Line 120: | Line 126: | ||
local denominator_limit = tonumber(frame.args["Denominator Limit"]) or 99 | local denominator_limit = tonumber(frame.args["Denominator Limit"]) or 99 | ||
local result = p.find_ratios_in_ed_by_primes(ed, primes | local result = p.find_ratios_in_ed_by_primes(ed, primes, equave, tenney_height, denominator_limit) | ||
return result | return result | ||