def checked

bendvy-ecs-core@0.1.0.4 · restore_raw_number.bend:28

import bendvy-ecs-core@0.1.0.4/restore_raw_number.bend as RestoreRawNumber
import Base
import bendvy-ecs-core@0.1.0.4/decode_data.bend as D

28def checked(raw:D.Raw) -> Checked:
29  match raw:
30    case D.Number{value}:Value{value}
31    case D.SignedInteger{negative,+magnitude}:signed((Bool.not(negative) || Nat.is_eq(magnitude,0n)) && Nat.is_le(magnitude,4294967295n),magnitude)
32    case D.Float{value}:normalized(D.float_numeric(F32.bits(value)))
33    case D.Binary64{high,low}:normalized(D.binary_numeric(high,low))
34    case _:Invalid{}

Uses (12)

Used by (3)