Module:Q-odd-limit intervals: Difference between revisions
ArrowHead294 (talk | contribs) Restore revision 144934 |
ArrowHead294 (talk | contribs) No edit summary |
||
| Line 125: | Line 125: | ||
local function approx(steps, subgroup, monzo_list, t_title) | local function approx(steps, subgroup, monzo_list, t_title) | ||
local t_body_direct = {} | local t_body_direct = {} | ||
local elist_direct = {} | |||
local t_body_val = {} | local t_body_val = {} | ||
local elist_val = {} | |||
local val = {} | local val = {} | ||
for i = 1, #subgroup do | for i = 1, #subgroup do | ||
| Line 133: | Line 135: | ||
for i = 1, #error_list do | for i = 1, #error_list do | ||
ratiocomp = string.format("%d/%d, %d/%d", error_list[i].ratio.num, error_list[i].ratio.den, 2 * error_list[i].ratio.den, error_list[i].ratio.num) | ratiocomp = string.format("%d/%d, %d/%d", error_list[i].ratio.num, error_list[i].ratio.den, 2 * error_list[i].ratio.den, error_list[i].ratio.num) | ||
error_abs_val = string.format("%.3f", | eav = error_list[i].error_abs_val | ||
error_rel_val = string.format("%.1f", | erv = error_list[i].error_rel_val | ||
error_abs_direct = string.format("%.3f", | ead = error_list[i].error_abs_direct | ||
error_rel_direct = string.format("%.1f", | erd = error_list[i].error_rel_direct | ||
error_abs_val = string.format("%.3f", eav) | |||
error_rel_val = string.format("%.1f", erv) | |||
error_abs_direct = string.format("%.3f", ead) | |||
error_rel_direct = string.format("%.1f", erd) | |||
if bit32.band(error_list[i].ratio.den, error_list[i].ratio.den - 1) == 0 and is_in(error_list[i].ratio.num, subgroup) then -- check power of 2 for den and prime for num | if bit32.band(error_list[i].ratio.den, error_list[i].ratio.den - 1) == 0 and is_in(error_list[i].ratio.num, subgroup) then -- check power of 2 for den and prime for num | ||
ratiocomp = "'''" .. ratiocomp .. "'''" | ratiocomp = "'''" .. ratiocomp .. "'''" | ||
| Line 152: | Line 158: | ||
end | end | ||
t_body_direct[i] = string.format("|-\n| %s\n| %s\n| %s", ratiocomp, error_abs_direct, error_rel_direct) | elist_direct[i] = { | ||
t_body_val[i] = string.format("|-\n| %s\n| %s\n| %s", ratiocomp, error_abs_val, error_rel_val) | ratiocomp = ratiocomp, | ||
ead = ead, | |||
erd = erd, | |||
error_abs_direct = error_abs_direct, | |||
error_rel_direct = error_rel_direct, | |||
} | |||
elist_val[i] = { | |||
ratiocomp = ratiocomp, | |||
eav = eav, | |||
erv = erv, | |||
error_abs_val = error_abs_val, | |||
error_rel_val = error_rel_val, | |||
} | |||
end | |||
table.sort(elist_direct, function(a, b) return a.ead < b.ead end) | |||
for i = 1, #error_list do | |||
t_body_direct[i] = string.format("|-\n| %s\n| %s\n| %s", elist_direct[i].ratiocomp, elist_direct[i].error_abs_direct, elist_direct[i].error_rel_direct) | |||
t_body_val[i] = string.format("|-\n| %s\n| %s\n| %s", elist_val[i].ratiocomp, elist_val[i].error_abs_val, elist_val[i].error_rel_val) | |||
end | end | ||