pub fn expand<Q: Scalar, S: CubePrimitive, F: Numeric, NQ: Size, NF: Size>(
scope: &Scope,
value: <Vector<Q, NQ> as CubeType>::ExpandType,
scale: <S as CubeType>::ExpandType,
table: <ComptimeOption<Box<[f32]>> as CubeType>::ExpandType,
scheme: QuantScheme,
) -> <Vector<F, NF> as CubeType>::ExpandTypeExpand description
Dequantize a vector of values, where vector_size * num_quants is a power of two.
Unaligned values can’t be dequantized in place.
scale is the effective scale for these values: how many scale levels the scheme has and how
they combine is the caller’s business, folded before the call. This is what keeps the
primitive per-read arithmetic, serving equally a one-level read, a view multiplying the
per-tensor scale in per read, or a tile handing every read one register.
table is a lookup scheme’s 2^bits-entry table, and must be present exactly when
scheme.mode is QuantMode::Lookup.