Skip to main content

Module float

Module float 

Source
Expand description

Parametric floating-point trait used by vm::GenericVm. The trait and its f32 and f64 impls are always compiled so the generic shape carries a Float type parameter regardless of the floats feature; the floating-point variants of Value and the floating-point opcodes remain gated by floats. Parametric floating-point abstraction for sub-64-bit native runtimes (B16). The wire-format header’s float_bits_log2 field declares the script-visible float width; this trait lifts that width into the type system so the parametric Vm<W, A, F> can specialize its floating-point values to the target’s float width.

Gated behind the floats cargo feature alongside the rest of the floating-point surface (Value::Float, ConstValue::Float, audio_natives, stddsl, the Op::IntToFloat/Op::FloatToInt bodies). Hosts that target integer-only runtimes leave the feature off and never see this trait.

Impls: f32 for sub-64-bit targets and embedded SoCs with a single-precision FPU; f64 for the default 64-bit runtime.

Traits§

Float
A script-visible floating-point type.