Module:MOS genchain: Difference between revisions

Ganaram inukshuk (talk | contribs)
bugfix for multiperiod mosses
Ganaram inukshuk (talk | contribs)
adjusted genchain length
Line 24: Line 24:
function p.preprocess_genchain(input_mos)
function p.preprocess_genchain(input_mos)
local input_mos = input_mos or mos.new(5,2)
local input_mos = input_mos or mos.new(5,2)
local num_gens = 4 * (mos.period_step_count(input_mos) - 1)
local num_gens = (2 * (input_mos.nL + input_mos.nL + input_mos.ns))/mos.period_count(input_mos) - 2
local bright_gen = mos.bright_gen(input_mos)
local bright_gen = mos.bright_gen(input_mos)
local gens = mos.interval_mul(bright_gen, num_gens/2)
local gens = mos.interval_mul(bright_gen, math.floor(num_gens/2))
bright_gen = mos.interval_mul(bright_gen, -1)
bright_gen = mos.interval_mul(bright_gen, -1)
local genchain = { mos.period_reduce(gens, input_mos) }
local genchain = { mos.period_reduce(gens, input_mos) }
Line 38: Line 38:


function p._mos_genchain(input_mos)
function p._mos_genchain(input_mos)
local input_mos = input_mos or mos.new(10,5)
local input_mos = input_mos or mos.new(5,2)
local num_gens = mos.period_step_count(input_mos)
local num_gens = mos.period_step_count(input_mos)