Native f64 gain and metering¶
GainProcessor64 provides the same mono/stereo gain/bypass IDs, schema, state
record, event timing and f32 parameter/smoother policy as GainProcessor. Its
sample copying/multiplication stays native f64; each f32 smoother value promotes
exactly before multiplication. This does not increase parameter resolution.
Reset/reprepare snap smoothing as before. Dry bypass retains exact f64 samples
while smoothing continues. Validation rejects before DSP state mutation; rejected
and zero-frame blocks retain the last complete meter snapshot.
GainMeters64 exposes native f64 input/output levels. PeakRmsMeter64 uses a
scaled sum of squares to avoid overflowing on finite f64 maxima and retain
subnormal levels. Nonfinite samples count as silence and set the diagnostic,
without sanitizing audio. At u64::MAX samples, further samples are ignored.
MeterReading64::telemetry_f32 explicitly saturates finite levels to f32::MAX;
this telemetry conversion does not narrow audio or imply nonfinite input.
The existing f32 meter/mailbox and exported gain adapters remain separate APIs.
Tests cover sub-f32 audio differences, event gain/bypass, extreme finite RMS, nonfinite metering, subnormal levels, rejected-state/tail preservation, zero-frame edits, smoothing/state/reset and 10,000 prepared f64 workloads with no heap operations. Native format mapping requires separate ABI/host evidence. See decision 0065.