def submod

bend-collections-laws-crypto@1.0.0.0 · src/math/generic.bend:553

import bend-collections-laws-crypto@1.0.0.0/src/math/generic.bend as Generic
import Base
import bend-collections-laws-crypto@1.0.0.0/src/math/num.bend as N

553# s0 - x mod m for s0, x < m, without leaving [0, m)
554def submod(~T: Data, ~op: N.Op<T> -> T, +m: T, +s0: T, +x: T, below: Bool) -> T:
555  match below:
556    case False{}:
557      op(N.Sub{s0, x})
558    case True{}:
559      op(N.Add{s0, op(N.Sub{m, x})})

Uses (2)

Used by (1)