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 t_body = {}
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_pval = string.format("%.3f", error_list[i].error_abs_pval)
error_abs_val = string.format("%.3f", error_list[i].error_abs_val)
error_rel_pval = string.format("%.1f", error_list[i].error_rel_pval)
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_pval = "'''" .. error_abs_pval .. "'''"
error_abs_val = "'''" .. error_abs_val .. "'''"
error_rel_pval = "'''" .. error_rel_pval .. "'''"
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_pval = "''" .. error_abs_pval .. "''"
error_abs_val = "''" .. error_abs_val .. "''"
error_rel_pval = "''" .. error_rel_pval .. "''"
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[i] = string.format("|-\n| %s\n| %s\n| %s\n| %s\n| %s", ratiocomp, error_abs_direct, error_rel_direct, error_abs_pval, error_rel_pval)
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" ..
"! rowspan=\"2\" class=\"unsortable\" | Interval and complement\n" ..
"! class=\"unsortable\" | Interval and complement " ..
"! colspan=\"2\" | Direct approximation<br />(even if inconsistent)\n" ..
"!! Error (abs, [[Cent|¢]]) " ..
"! colspan=\"2\" | Patent val mapping\n" ..
"!! 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" ..
"! Error (abs, [[Cent|¢]])\n" ..
"! class=\"unsortable\" | Interval and complement " ..
"! Error (rel, [[Relative cent|%]])\n" ..
"!! Error (abs, [[Cent|¢]]) " ..
"! Error (abs, [[Cent|¢]])\n" ..
"!! Error (rel, [[Relative cent|%]])\n" ..
"! Error (rel, [[Relative cent|%]])\n" ..
table.concat(t_body_val, "\n") ..
table.concat(t_body, "\n") ..
"\n|}"
"\n|}"
end
end