Module:Powharmonic series: Difference between revisions

ArrowHead294 (talk | contribs)
mNo edit summary
ArrowHead294 (talk | contribs)
mNo edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
local p = {}
local p = {}
local yesno = require("Module:Yesno")


function p.powharmonic(frame)
function p.powharmonic(frame)
     local n = tonumber(frame.args["n"])
     local n = tonumber(frame.args["n"])
     local expo = tonumber(frame.args["expo"])
     local expo = tonumber(frame.args["expo"])
     local out_str = "{| class=\"wikitable center-all\"\n"
     local result = "{| class=\"wikitable center-all\"\n"
    .. "|+ style=\"font-size: 105%;\" | Intervals of the " .. expo .. "-Powharmonic series\n"
    .. "|+ style=\"font-size: 105%; white-space: nowrap;\" | " .. string.format("Intervals of the %s-Powharmonic series\n", expo)
    .. "|-\n"
    .. "! rowspan=\"2\" | Pitch !! colspan=\"2\" | Frequency multiplier !! colspan=\"3\" | Pitch\n"
    .. "! rowspan=\"2\" | Pitch !! colspan=\"2\" | Frequency multiplier !! colspan=\"3\" | Pitch\n"
    .. "|-\n"
    .. "|-\n"
Line 16: Line 19:
     for i = 1, n do
     for i = 1, n do
         p_current = 1200 * math.log(i) / math.log(2) * expo
         p_current = 1200 * math.log(i) / math.log(2) * expo
         out_str = out_str
         result = result
             .. "|-\n"
             .. "|-\n"
             .. "| ".. i
             .. "| ".. string.format("%s", i)
             .. " || " .. i .. "<sup>" .. expo .. "</sup>"
             .. " || " .. string.format("%s<sup>%s</sup>", i, expo)
             .. " || " .. string.format(fmt_cent, i^expo)
             .. " || " .. string.format(fmt_cent, i^expo)
             .. " || " .. string.format(fmt_cent, p_current)
             .. " || " .. string.format(fmt_cent, p_current)
Line 28: Line 31:
     end
     end


     out_str = out_str .. "|}"
     result = result .. "|}"
     return out_str
      
    -- Debugger option
    local debugg = yesno(frame.args["debug"])
    if debugg == true then
result = "<syntaxhighlight lang=\"wikitext\">" .. result .. "</syntaxhighlight>"
end
return frame:preprocess(result)
end
end


return p
return p