def numeric
bendvy-ecs-core@0.1.0.3 · decode_data.bend:91
import bendvy-ecs-core@0.1.0.3/decode_data.bend as DecodeData
import Base
91def numeric(raw:Raw) -> Numeric:
92 match raw:
93 case Number{value}: normalize(64n,False{},0,value,1074)
94 case SignedInteger{negative,+value}: normalize(64n,negative,U32.from_nat(Nat.div(value,Nat.mul(65536n,65536n))),U32.from_nat(Nat.mod(value,Nat.mul(65536n,65536n))),1074)
95 case Float{value}: float_numeric(F32.bits(value))
96 case Binary64{high,low}: binary_numeric(high,low)
97 case _: NotNumber{}