Source/Reference

FloatLiteralSpec

reference/numeric/FloatLiteralSpec.alpha

243 lines42 declarations13.2 KiBSHA-256 136c61d4a2e6

def · lines 144–150

specBinadeOffset

Full file
the binade: e with 2^e <= N/M < 2^(e+1), as an offset exponent; the bit-length guess g = bitlen(N) - bitlen(M) is e or e + 1
144def specBinadeOffset =
145  (lambda unrestricted numerator : Nat . (lambda unrestricted denominator : Nat .
146    (nat-eliminate (lambda unrestricted current : Nat . Nat)
147      (nat-subtract (nat-add (specBitLength numerator) specOffset) (nat-add (specBitLength denominator) 1))
148      (lambda unrestricted predecessor : Nat . (lambda unrestricted induction : Nat .
149        (nat-subtract (nat-add (specBitLength numerator) specOffset) (specBitLength denominator))))
150      (specPowerFits numerator denominator (nat-subtract (nat-add (specBitLength numerator) specOffset) (specBitLength denominator))))))

The compiler supplied declaration spans and resolved links from this source snapshot. This page does not assert that this file belongs to a checked closure.