def am_big

bend-collections@1.0.0.0 · src/math/f64.bend:217

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

217# |x| + |y| with sign s, the larger exponent eL
218def am_big(+big: F64, +s: Bool, +el: Nat, +fl: W.U64, +es: Nat, +fs: W.U64, top: Bool) -> F64:
219  match top:
220    case True{}:
221      nan_or(big, nz(fl))
222    case False{}:
223      rp62(s, Nat.add(off(), el), X.add(X.add(W.U64{0, 536870912}, X.shl(fl, 9n)), X.shr_jam(am_small(es, X.shl(fs, 9n)), Nat.sub(el, es))))

Uses (14)

Used by (1)