Module:Infobox MOS: Difference between revisions

Inthar (talk | contribs)
No edit summary
Inthar (talk | contribs)
No edit summary
Line 105: Line 105:
local has_prev_x = (ns > 1)
local has_prev_x = (ns > 1)
local prev_L, next_L, prev_s,next_s, prev_L_prev_s, prev_L_next_s, next_L_prev_s, next_L_next_s = ''
local prev_L, next_L, prev_s,next_s, prev_L_prev_s, prev_L_next_s, next_L_prev_s, next_L_next_s = ''
next_s = '[[' .. mos.nL .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|↓' .. mos.nL .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. '\n]]'
next_s = '[[' .. nL .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|↓' .. nL .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. '\n]]'
next_L = '[[' .. (mos.nL + 1) .. 'L ' .. mos.ns .. 's' .. equave_link .. '|' .. (mos.nL + 1) .. 'L ' .. mos.ns .. 's' .. equave_disp .. '→]]'
next_L = '[[' .. (nL + 1) .. 'L ' .. ns .. 's' .. equave_link .. '|' .. (nL + 1) .. 'L ' .. ns .. 's' .. equave_disp .. '→]]'
next_L_next_s = '[[' .. (mos.nL + 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|← ' .. (mos.nL + 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. ']]'
next_L_next_s = '[[' .. (nL + 1) .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|← ' .. (nL + 1) .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. ']]'
if has_prev_y then
if has_prev_y then
prev_s = '[[' .. mos.nL .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|↑' .. mos.nL .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
prev_s = '[[' .. nL .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|↑' .. nL .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
next_L_prev_s = '[[' .. (mos.nL + 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL + 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
next_L_prev_s = '[[' .. (nL + 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL + 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
end
end
if has_prev_x then
if has_prev_x then
prev_L = '[[' .. (mos.nL - 1) .. 'L ' .. mos.ns .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. mos.ns .. 's' .. equave_disp .. ']]'
prev_L = '[[' .. (nL - 1) .. 'L ' .. ns .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. ns .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_prev_s = '[[' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns - 1) .. 's' .. equave_disp .. ']]'
prev_L_next_s = '[[' .. (mos.nL - 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_link .. '|← ' .. (mos.nL - 1) .. 'L ' .. (mos.ns + 1) .. 's' .. equave_disp .. ']]'
prev_L_next_s = '[[' .. (nL - 1) .. 'L ' .. (ns + 1) .. 's' .. equave_link .. '|← ' .. (nL - 1) .. 'L ' .. (ns + 1) .. 's' .. equave_disp .. ']]'
end
end
Line 130: Line 130:
local period = rat.as_ratio(equave)
local period = rat.as_ratio(equave)
d = gcd(mos.nL, mos.ns)
d = gcd(nL, ns)
if d > 1 then
if d > 1 then
period = ET.backslash_display(ET.new(d, equave), 1)
period = ET.backslash_display(ET.new(d, equave), 1)
end
end
local pattern = frame.args['Pattern']
local pattern = frame.args['Pattern']
local collapsed_et = ET.new(mos.nL, equave)
local collapsed_et = ET.new(nL, equave)
local collapsed_bright_steps = frame.args['Collapsed']
local collapsed_bright_steps = frame.args['Collapsed']
local collapsed_dark_steps = mos.nL/d - collapsed_bright_steps
local collapsed_dark_steps = nL/d - collapsed_bright_steps
local equalized_et = ET.new(mos.nL + mos.ns, equave)
local equalized_et = ET.new(nL + ns, equave)
local equalized_bright_steps = frame.args['Equalized']
local equalized_bright_steps = frame.args['Equalized']
local equalized_dark_steps = (mos.nL + mos.ns)/d - equalized_bright_steps
local equalized_dark_steps = (nL + ns)/d - equalized_bright_steps
local structure_data = {}
local structure_data = {}
Line 166: Line 166:
)
)
})
})
if mos.nL == mos.ns then
if nL == ns then
parent_mos_link = 'none'
parent_mos_link = 'none'
else  
else  
parent_mos_link = '[[' .. math.min(mos.nL, mos.ns) .. 'L ' .. math.max(mos.nL, mos.ns)-math.min(mos.nL, mos.ns) .. 's' .. equave_link .. '|'   
parent_mos_link = '[[' .. math.min(nL, ns) .. 'L ' .. math.max(nL, ns)-math.min(nL, ns) .. 's' .. equave_link .. '|'   
.. math.min(mos.nL, mos.ns) .. 'L ' .. math.max(mos.nL, mos.ns)-math.min(mos.nL, mos.ns) .. 's' .. equave_disp .. ']]'
.. math.min(nL, ns) .. 'L ' .. math.max(nL, ns)-math.min(nL, ns) .. 's' .. equave_disp .. ']]'
end
end
table.insert(structure_data, {
table.insert(structure_data, {
Line 178: Line 178:
table.insert(structure_data, {
table.insert(structure_data, {
'Daughter MOSes',
'Daughter MOSes',
'[[' .. mos.nL + mos.ns .. 'L ' .. mos.nL .. 's' .. equave_link .. '|'   
'[[' .. nL + ns .. 'L ' .. nL .. 's' .. equave_link .. '|'   
.. mos.nL + mos.ns .. 'L ' .. mos.nL .. 's' .. equave_disp .. ']], [['  
.. nL + ns .. 'L ' .. nL .. 's' .. equave_disp .. ']], [['  
.. mos.nL .. 'L ' .. mos.nL + mos.ns .. 's' .. equave_link.. '|' .. mos.nL .. 'L ' .. mos.nL + mos.ns .. 's' .. equave_disp .. ']]'
.. nL .. 'L ' .. nL + ns .. 's' .. equave_link.. '|' .. nL .. 'L ' .. nL + ns .. 's' .. equave_disp .. ']]'
})
})
table.insert(structure_data, {
table.insert(structure_data, {
'[[Operations on MOSes#Sistering|Sister MOS]]',
'[[Operations on MOSes#Sistering|Sister MOS]]',
'[[' .. mos.ns .. 'L ' .. mos.nL .. 's' .. equave_link .. '|' .. mos.ns .. 'L ' .. mos.nL .. 's' .. equave_disp .. ']]'
'[[' .. ns .. 'L ' .. nL .. 's' .. equave_link .. '|' .. ns .. 'L ' .. nL .. 's' .. equave_disp .. ']]'
})
})
local tamnams = tamnams_name[MOS.as_string(mos)]
local tamnams = tamnams_name[MOS.as_string(mos)]
Line 265: Line 265:
'[[' .. ET.as_string(superhard_et) .. '|' .. superhard_gen .. ']] (' .. superhard_gen_cents .. '¢)'
'[[' .. ET.as_string(superhard_et) .. '|' .. superhard_gen .. ']] (' .. superhard_gen_cents .. '¢)'
})
})
local title = mos.nL .. 'L ' .. mos.ns .. 's' .. equave_disp
local title = nL .. 'L ' .. ns .. 's' .. equave_disp
result = p.build(
result = p.build(
title,
title,
structure_data,
structure_data,
et_data,
et_data,
mos.nL,
nL,
mos.ns
ns
)
)
if not debug_mode then
if not debug_mode then