Module:JI ratios in ED: Difference between revisions

Ganaram inukshuk (talk | contribs)
m Added prime limit to candidate ratio search
Ganaram inukshuk (talk | contribs)
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, int_limit, equave, tenney_height, denominator_limit)
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, 99, equave, tenney_height, denominator_limit)
local result = p.find_ratios_in_ed_by_primes(ed, primes, equave, tenney_height, denominator_limit)
return result
return result