Module:MOS genchain: Difference between revisions
bugfix for multiperiod mosses |
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 = | 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( | 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) | ||