def Duration.add.sod2
bend-time-lib@0.4.0.1 · duration.bend:163
import bend-time-lib@0.4.0.1/duration.bend as Duration
import Base
163def Duration.add.sod2(
164 +d1: U32, +d2: U32, +sod: U32, +nanos: U32, ge: Bool
165) -> Result<&2, &2, Duration.Error, Duration>:
166 match ge:
167 case False{}:
168 Duration.add.days(
169 d1, d2, sod, nanos, 0, U32.is_le(d2, U32.sub(U32.not(0), d1))
170 )
171 case True{}:
172 Duration.add.days(
173 d1, d2, U32.sub(sod, 86400), nanos, 1,
174 U32.is_le(U32.add(d2, 1), U32.sub(U32.not(0), d1))
175 )