def rp_neg

bend-collections-laws-crypto@1.0.0.0 · src/math/f64.bend:149

import bend-collections-laws-crypto@1.0.0.0/src/math/f64.bend as F64
import Base
import bend-collections-laws-crypto@1.0.0.0/src/math/u64.bend as W
import bend-collections-laws-crypto@1.0.0.0/src/math/w64.bend as X

149def rp_neg(+s: Bool, +e: Nat, +sig: W.U64, below: Bool) -> F64:
150  match below:
151    case True{}:
152      rp_fin(s, 0n, X.shr_jam(sig, Nat.sub(off(), e)))
153    case False{}:
154      rp_over(s, e, sig, Bool.or(Nat.is_lt(Nat.add(off(), 2045n), e), Bool.and(Nat.is_eq(e, Nat.add(off(), 2045n)), X.le(W.U64{0, 2147483648}, X.add(sig, W.U64{512, 0})))))

Uses (16)

Used by (1)