Module:JI ratios: Difference between revisions

Ganaram inukshuk (talk | contribs)
Add complements-only option
Ganaram inukshuk (talk | contribs)
m bugfix
Line 189: Line 189:
local gcd = utils._gcd(numerator, denominator)
local gcd = utils._gcd(numerator, denominator)
if gcd == 1 then
if gcd == 1 then
local ratio = {numerator, denominator}
local within_equave = numerator / denominator <= equave_as_float
local within_equave = numerator / denominator <= equave_as_float
local within_tenney_height = math.log(numerator * denominator) / math.log(2) <= tenney_height
local within_tenney_height = math.log(numerator * denominator) / math.log(2) <= tenney_height
local comp_within_int_limit = p.complement_within_int_limit(mediant, equave, int_limit) or not comps_only
local comp_within_int_limit = p.complement_within_int_limit(ratio, equave, int_limit) or not comps_only
if within_equave and within_tenney_height and comp_within_int_limit then
if within_equave and within_tenney_height and comp_within_int_limit then
table.insert(ratios, {numerator, denominator})
table.insert(ratios, ratio)
else
else
break
break