diff options
| author | orwell <orwell@bleipb.de> | 2026-01-22 20:50:05 +0100 |
|---|---|---|
| committer | orwell <orwell@bleipb.de> | 2026-01-22 20:50:05 +0100 |
| commit | f60580643bdea2eccf232aa2b5c613013642f346 (patch) | |
| tree | 5c8d51deedac48bf63470101d07fa10ea53139d5 /advtrains_line_automation/railwaytime.lua | |
| parent | 404690b08dca855ef57cde9fba0bd32caf4abef1 (diff) | |
Make scheduler aware of time wrapping
Diffstat (limited to 'advtrains_line_automation/railwaytime.lua')
| -rw-r--r-- | advtrains_line_automation/railwaytime.lua | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/advtrains_line_automation/railwaytime.lua b/advtrains_line_automation/railwaytime.lua index ca14ba0..d35bb73 100644 --- a/advtrains_line_automation/railwaytime.lua +++ b/advtrains_line_automation/railwaytime.lua @@ -60,6 +60,9 @@ local CYCLE = 24*60*60 local MODULUS = CYCLE*7 local MODULUS_H = MODULUS / 2 +rwt.CYCLE = CYCLE +rwt.MODULUS = MODULUS + -- adjust so that it is in range [-MODULUS/2, MODULUS/2) local function i_adjust(sec) return ((sec + MODULUS_H) % MODULUS) - MODULUS_H @@ -146,7 +149,7 @@ end function rwt.new_i(sign, c, h, m, s) assert(math.abs(sign)==1) - assert(c>=0 and c<7 and c==math.floor(c)) + assert(c>=0 and c<3 and c==math.floor(c)) -- interval may be max. +-3 days to avoid overflow! assert(h>=0 and h<24 and h==math.floor(h)) assert(m>=0 and m<60 and m==math.floor(m)) assert(s>=0 and s<60) @@ -228,6 +231,7 @@ function rwt.i_sec(rwint) return res.sign * (res.c*60*60*24 + res.h*60*60 + res.m*60 + res.s) end end +rwt.to_secs = rwt.i_sec -- deprecated alias -- time to string -- fmt: |
