def decode.go

bend-lawful-stdlib@0.1.0.0 · src/float/sf32.bend:38

import bend-lawful-stdlib@0.1.0.0/src/float/sf32.bend as Sf32
import Base
import bend-lawful-stdlib@0.1.0.0/src/float/bin.bend as Bin
import bend-lawful-stdlib@0.1.0.0/src/float/format.bend as Fmt

38def decode.go(neg: Bool, e: Nat, f: Bin.Bin, top: Bool, low: Bool, fz: Bool) -> Fmt.Val:
39  match top low fz:
40    case True{} low True{}:
41      Fmt.Inf{neg}
42    case True{} low False{}:
43      Fmt.NaN{}
44    case False{} True{} True{}:
45      Fmt.Z{neg}
46    case False{} True{} False{}:
47      Fmt.Fin{neg, f, 151n}
48    case False{} False{} fz:
49      Fmt.Fin{neg, Bin.add(f, Bin.pow2(23n)), Nat.add(e, 150n)}

Uses (7)

Used by (1)