Module:Infobox chord: Difference between revisions

Bcmills (talk | contribs)
No edit summary
Bcmills (talk | contribs)
No edit summary
Line 58: Line 58:
local odd_limit = 1
local odd_limit = 1


local ratios = {}
local ratio_string = {}
for i, h in ipairs(harmonics) do
for i, h in ipairs(harmonics) do
debug_data = debug_data .. "harmonic:" .. h .. "<br/>"
for prime, n in pairs(utils.prime_factorization_raw(h)) do
for prime, n in pairs(utils.prime_factorization_raw(h)) do
debug_data = debug_data .. "prime:" .. prime .. "<br/>"
if prime > prime_limit then
if prime > prime_limit then
prime_limit = prime
prime_limit = prime
Line 71: Line 69:
local numer = h / gcd
local numer = h / gcd
local denom = root / gcd
local denom = root / gcd
table.insert(ratios, numer .. "⁄" .. denom)
if i == 1 then
debug_data = debug_data .. "ratio:" .. numer .. "⁄" .. denom .. "<br/>"
ratio_string = ratio_string .. numer .. "⁄" .. denom
else
ratio_string = ratio_string .. " – " .. numer .. "⁄" .. denom  
end
local odd = numer
local odd = numer
while odd % 2 == 0 do
while odd % 2 == 0 do
odd = odd / 2
odd = odd / 2
end
end
debug_data = debug_data .. "odd:" .. odd .. "<br/>"
if odd > odd_limit then
if odd > odd_limit then
odd_limit = odd
odd_limit = odd
end
end
end
end
table.insert(infobox_data, {"Ratios", ratio_string})
table.insert(infobox_data, {"[[Prime limit]]", prime_limit})
table.insert(infobox_data, {"[[Odd limit]]", odd_limit})


cats = cats .. "[[Category:" .. prime_limit .. "-limit chords]]"
cats = cats .. "[[Category:" .. prime_limit .. "-limit chords]]"