Module:Infobox chord: Difference between revisions
No edit summary |
No edit summary |
||
Line 58: | Line 58: | ||
local odd_limit = 1 | local odd_limit = 1 | ||
local | local ratio_string = {} | ||
for i, h in ipairs(harmonics) do | for i, h in ipairs(harmonics) do | ||
for prime, n in pairs(utils.prime_factorization_raw(h)) do | for prime, n in pairs(utils.prime_factorization_raw(h)) do | ||
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 | ||
if i == 1 then | |||
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 | ||
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]]" |