def rp_neg
bend-collections-laws-math@1.0.0.0 · src/math/f64.bend:149
import bend-collections-laws-math@1.0.0.0/src/math/f64.bend as F64
import Base
import bend-collections-laws-math@1.0.0.0/src/math/u64.bend as W
import bend-collections-laws-math@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})))))