Module:Temperament data: Difference between revisions
CompactStar (talk | contribs) No edit summary |
CompactStar (talk | contribs) No edit summary |
||
| Line 172: | Line 172: | ||
period = period * (subgroup[i]^preimage[i][1]) | period = period * (subgroup[i]^preimage[i][1]) | ||
end | end | ||
local te = get_te_generator(subgroup, comma_basis, preimage) | local te =get_te_generator(subgroup, comma_basis, preimage) | ||
local stretch_factor = te[1][1] * math.log(2) / math.log(period) | local stretch_factor = te[1][1] * math.log(2) / math.log(period) | ||
return scalarmatmul(te, 1/ stretch_factor) | return scalarmatmul(te, 1/stretch_factor) | ||
end | end | ||
| Line 253: | Line 253: | ||
end | end | ||
generators = rat_list_to_matrix(subgroup, generators) | generators = rat_list_to_matrix(subgroup, generators) | ||
local cte_generator = frame.args['cte_generator'] | |||
local pote_generator = get_pote_generator(subgroup, comma_matrix, generators) | local pote_generator = get_pote_generator(subgroup, comma_matrix, generators) | ||
local result = '[[Subgroup]]: ' .. frame.args['subgroup'] | local result = '[[Subgroup]]: ' .. frame.args['subgroup'] | ||
| Line 261: | Line 262: | ||
end | end | ||
result = result:sub(0,-3) | result = result:sub(0,-3) | ||
if | if cte_generator ~= nil then | ||
result = result .. '\n\n[[Optimal tuning]] ([[Lp tuning|POL2]] | cte_generator = mysplit(cte_generator, ',') | ||
for i = 1, #cte_generator do | |||
cte_generator[i] = tonumber(cte_generator[i]) | |||
end | |||
result = result .. '\n\n[[Optimal tuning]]s:\n* [[CTE]]:' | |||
for i = 1, #(cte_generator[1]) do | |||
if subgroup[1] == 2 and i == 1 then | |||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. '1\\1' .. ', ' | |||
elseif subgroup[1] == 3 and i == 1 then | |||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. '1\\1edt' .. ', ' | |||
else | |||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. u._round(cte_generator[1][i] * 1200, 7) .. ', ' | |||
end | |||
end | |||
result = result:sub(0,-3) | |||
if subgroup[1] ~= 2 then | |||
result = result .. '\n* [[Lp tuning|POL2]]:' | |||
else | |||
result = result .. '\n* [[POTE]]:' | |||
end | |||
else | else | ||
result = result .. '\n\n[[Optimal tuning]] ([[POTE]]): ' | if subgroup[1] ~= 2 then | ||
result = result .. '\n\n[[Optimal tuning]] ([[Lp tuning|POL2]]): ' | |||
else | |||
result = result .. '\n\n[[Optimal tuning]] ([[POTE]]): ' | |||
end | |||
end | end | ||
for i = 1, #(pote_generator[1]) do | for i = 1, #(pote_generator[1]) do | ||
if subgroup[1] == 2 and i == 1 then | if subgroup[1] == 2 and i == 1 then | ||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. '1\\1' .. ', ' | result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. '1\\1' .. ', ' | ||
elseif subgroup[1] == 3 and i == 1 then | |||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. '1\\1edt' .. ', ' | |||
else | else | ||
result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. u._round(pote_generator[1][i] * 1200, 7) .. ', ' | result = result .. '~' .. trim(unparsed_gens[i]) .. ' = ' .. u._round(pote_generator[1][i] * 1200, 7) .. ', ' | ||
| Line 274: | Line 305: | ||
end | end | ||
result = result:sub(0,-3) | result = result:sub(0,-3) | ||
return result | return result | ||
end | end | ||