Module:Q-odd-limit intervals: Difference between revisions
ArrowHead294 (talk | contribs) No edit summary |
ArrowHead294 (talk | contribs) No edit summary |
||
| Line 124: | Line 124: | ||
local function approx(steps, subgroup, monzo_list, t_title) | local function approx(steps, subgroup, monzo_list, t_title) | ||
local | local t_body_direct = {} | ||
local t_body_val = {} | |||
local val = {} | local val = {} | ||
for i = 1, #subgroup do | for i = 1, #subgroup do | ||
| Line 132: | Line 133: | ||
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", error_list[i].error_abs_val) | |||
error_rel_val = string.format("%.1f", error_list[i].error_rel_val) | |||
error_abs_direct = string.format("%.3f", error_list[i].error_abs_direct) | error_abs_direct = string.format("%.3f", error_list[i].error_abs_direct) | ||
error_rel_direct = string.format("%.1f", error_list[i].error_rel_direct) | error_rel_direct = string.format("%.1f", error_list[i].error_rel_direct) | ||
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 .. "'''" | ||
error_abs_val = "'''" .. error_abs_val .. "'''" | |||
error_rel_val = "'''" .. error_rel_val .. "'''" | |||
error_abs_direct = "'''" .. error_abs_direct .. "'''" | error_abs_direct = "'''" .. error_abs_direct .. "'''" | ||
error_rel_direct = "'''" .. error_rel_direct .. "'''" | error_rel_direct = "'''" .. error_rel_direct .. "'''" | ||
| Line 145: | Line 146: | ||
if error_list[i].error_rel_pval > 50 then | if error_list[i].error_rel_pval > 50 then | ||
ratiocomp = "''" .. ratiocomp .. "''" | ratiocomp = "''" .. ratiocomp .. "''" | ||
error_abs_val = "''" .. error_abs_val .. "''" | |||
error_rel_val = "''" .. error_rel_val .. "''" | |||
error_abs_direct = "''" .. error_abs_direct .. "''" | error_abs_direct = "''" .. error_abs_direct .. "''" | ||
error_rel_direct = "''" .. error_rel_direct .. "''" | error_rel_direct = "''" .. error_rel_direct .. "''" | ||
end | end | ||
t_body_direct[i] = string.format("|-\n| %s\n| %s\n| %s", ratiocomp, error_abs_direct, error_rel_direct) | |||
t_body_val[i] = string.format("|-\n| %s\n| %s\n| %s", ratiocomp, error_abs_val, error_rel_val) | |||
end | end | ||
return "{| class=\"wikitable center-all mw-collapsible mw-collapsed sortable\"\n" .. | return "{| class=\"wikitable center-all mw-collapsible mw-collapsed sortable\"\n" .. | ||
"|+ style=\"white-space: nowrap;\" | " .. t_title .. "\n" .. | "|+ style=\"white-space: nowrap;\" | " .. t_title .. " (direct approximation)\n" .. | ||
"|-\n" .. | "|-\n" .. | ||
"! | "! class=\"unsortable\" | Interval and complement " .. | ||
" | "!! Error (abs, [[Cent|¢]]) " .. | ||
" | "!! Error (rel, [[Relative cent|%]])\n" .. | ||
table.concat(t_body_direct, "\n") .. | |||
"\n|}\n\n" .. | |||
"{| class=\"wikitable center-all mw-collapsible mw-collapsed sortable\"\n" .. | |||
"|+ style=\"white-space: nowrap;\" | " .. t_title .. " (patent val mapping)\n" .. | |||
"|-\n" .. | "|-\n" .. | ||
"! | "! class=\"unsortable\" | Interval and complement " .. | ||
"!! Error (abs, [[Cent|¢]]) " .. | |||
"! Error (abs, [[Cent|¢]]) | "!! Error (rel, [[Relative cent|%]])\n" .. | ||
"! Error (rel, [[Relative cent|%]])\n" .. | table.concat(t_body_val, "\n") .. | ||
table.concat( | |||
"\n|}" | "\n|}" | ||
end | end | ||