Module:Mediants: Difference between revisions

Ganaram inukshuk (talk | contribs)
Removed tenney height search (for now); comments/todo
Ganaram inukshuk (talk | contribs)
No edit summary
Line 143: Line 143:
-- whose numerator or denominator exceeds the int limit. This is made a stand-
-- whose numerator or denominator exceeds the int limit. This is made a stand-
-- alone function under the reasoning that it's a common enough operation.
-- alone function under the reasoning that it's a common enough operation.
function p.find_mediants_by_int_limit(init_ratios, int_limit)
local init_ratios = init_ratios or {{1,1}, {1,0}}
local int_limit = int_limit or 50
local ratios, depths
ratios, depths = p.find_mediants_by_search_func(init_ratios, p.int_limit_search, int_limit)
return ratios, depths
end
function p.find_only_mediants_by_int_limit(init_ratios, int_limit)
local init_ratios = init_ratios or {{1,1}, {1,0}}
local int_limit = int_limit or 50
local ratios, depths
ratios, depths = p.find_mediants_by_search_func(init_ratios, p.int_limit_search, int_limit)
return ratios
end


--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
Line 149: Line 169:


function p.tester()
function p.tester()
local func = p.int_limit_search
 
local ratios, depths = p.find_mediants_by_search_func({{1,1}, {1,0}}, func, 50)
--ratios, depths = p.find_mediants({{1,1}, {1,0}}, 7)
local generators = {}
for i = 1, #ratios do
local input_mos = mos.new(5,2)
local gen = mos.bright_gen_to_cents(input_mos, ratios[i])
local gcd = utils._gcd(ratios[i][1], ratios[i][2])
local edo = (ratios[i][1] * 5 + ratios[i][2] * 2)/gcd
--local new_string = string.format("%s:%s\t%s\t%sedo\t%.3f", ratios[i][1]/gcd, ratios[i][2]/gcd, depths[i], edo, gen)
local new_string = string.format("%s/%s\t%s", ratios[i][1]/gcd, ratios[i][2]/gcd, depths[i])
table.insert(generators, new_string)
end
return generators
return p.find_only_mediants_by_int_limit({{1,1},{3,1}})
end
end


return p
return p