Module:MOS interval HE: Difference between revisions

ArrowHead294 (talk | contribs)
m Alphabetise dependencies
ArrowHead294 (talk | contribs)
mNo edit summary
 
Line 70: Line 70:
local cents = mos.interval_to_cents(current_bright_interval, input_mos, {1, 1})
local cents = mos.interval_to_cents(current_bright_interval, input_mos, {1, 1})
result = result .. "|-\n"
result = result .. string.format("|-\n | %s || %.1f{{c}} || ~%.4f nats || ~%.4f nats",
.. string.format("| %s " , tamnams.interval_quality(current_bright_interval, input_mos, "sentence-case", mos_prefix))
tamnams.interval_quality(current_bright_interval, input_mos, "sentence-case", mos_prefix),
.. string.format("|| %.1f¢ ", cents)
cents,
.. string.format("|| ~%.4f nats ", ie.harmonic_entropy_with_lookup_table(cents))
ie.harmonic_entropy_with_lookup_table(cents),
.. string.format("|| ~%.4f nats", ie.harmonic_entropy_with_lookup_table(cents))
ie.harmonic_entropy_with_lookup_table(cents))
else
else
-- Calculate the best and average harmonic entropies
-- Calculate the best and average harmonic entropies
Line 103: Line 103:
-- Then sort, as the min and max may be swapped  
-- Then sort, as the min and max may be swapped  
-- This happens if the dark interval has more small steps than large steps
-- This happens if the dark interval has more small steps than large steps
local dark_interval_range  = string.format("%.1f¢ to %.1f¢", math.min(sm_min_cents, sm_max_cents), math.max(sm_min_cents, sm_max_cents))
local dark_interval_range  = string.format("%.1f{{c}} to %.1f{{c}}", math.min(sm_min_cents, sm_max_cents), math.max(sm_min_cents, sm_max_cents))
local bright_interval_range = string.format("%.1f¢ to %.1f¢", math.min(lg_min_cents, lg_max_cents), math.max(lg_min_cents, lg_max_cents))
local bright_interval_range = string.format("%.1f{{c}} to %.1f{{c}}", math.min(lg_min_cents, lg_max_cents), math.max(lg_min_cents, lg_max_cents))
result = result .. "|-\n"
result = result .. string.format("|-\n| %s || %s || ~%.4f nats || ~%.4f nats\n|-\n| %s || %s || ~%.4f nats || ~%.4f nats",
.. string.format("| %s " , tamnams.interval_quality(current_dark_interval, input_mos, "sentence-case", mos_prefix))
tamnams.interval_quality(current_dark_interval, input_mos, "sentence-case", mos_prefix),
.. string.format("|| %s " , dark_interval_range)
dark_interval_range,
.. string.format("|| ~%.4f nats " , he_dark_average)
he_dark_average,
.. string.format("|| ~%.4f nats\n" , he_dark_best)
he_dark_best,
.. "|-\n"
tamnams.interval_quality(current_bright_interval, input_mos, "sentence-case", mos_prefix),
.. string.format("| %s " , tamnams.interval_quality(current_bright_interval, input_mos, "sentence-case", mos_prefix))
bright_interval_range,
.. string.format("|| %s " , bright_interval_range)
he_bright_average,
.. string.format("|| ~%.4f nats " , he_bright_average)
he_bright_best)
.. string.format("|| ~%.4f nats" , he_bright_best)
end
end
result = result .. "\n"
result = result .. "\n"
Line 141: Line 140:
local result = p._mos_interval_he(input_mos, mos_prefix, mos_abbrev, is_collapsed)
local result = p._mos_interval_he(input_mos, mos_prefix, mos_abbrev, is_collapsed)
local debugg = yesno(frame.args["debug"])
local debugg = yesno(frame.args["debug"])
return frame:preprocess(debugg == true and "<syntaxhighlight lang=\"wikitext\">" .. result .. "</syntaxhighlight>" or result)
-- Debugger option
if debugg == true then
result = "<syntaxhighlight lang=\"wikitext\">" .. result .. "</syntaxhighlight>"
end
return frame:preprocess(result)
end
end


return p
return p