def rate

bend-kit-scheduler@0.4.1.0 · recurrence.bend:41

import bend-kit-scheduler@0.4.1.0/recurrence.bend as Recurrence
import Base

41# A tick equal to completion is overdue. The already-completed previous tick
42# is excluded. A positive period keeps all arithmetic exact, without overflow.
43def rate(+previous: Nat, +completion: Nat, +period: Nat, policy: Missed) -> Plan:
44  +overdue = Nat.div(Nat.sub(completion, previous), period)
45  Planned{ticks(limit(policy, overdue), previous, period),
46    Nat.add(previous, Nat.mul(1n+overdue, period))}

Uses (9)

Used by (1)