pub fn expand<Q: Scalar, F: Numeric, NQ: Size, NF: Size>(
scope: &Scope,
value: <Vector<Q, NQ> as CubeType>::ExpandType,
scale: <f32 as CubeType>::ExpandType,
table: <ComptimeOption<Box<[f32]>> as CubeType>::ExpandType,
scheme: QuantScheme,
) -> <Vector<F, NF> as CubeType>::ExpandTypeExpand description
[dequantize_aligned] for a scale a caller folded in f32, forming the product there too and
narrowing only the result.
A folded scale reaches further down than what it produces: one below F’s smallest subnormal
still scales quantized values into ordinary F ones. Narrowing it to F first rounds it to
zero and takes the whole read with it, which is the failure two-level quantization exists to
avoid in the first place.