dequant_nvfp4_e8m0_to_f32

Function dequant_nvfp4_e8m0_to_f32 

Source
pub fn dequant_nvfp4_e8m0_to_f32(
    packed: &[u8],
    scales: &[u8],
    n: usize,
    k: usize,
) -> Result<Vec<f32>>
Expand description

2026-09-25: Unpack packed E2M1 [n, k/2] + E8M0 scales to f32 [n, k].

The block size is inferred as n*k / scales.len(); unlike the GPU lander this does not require 32. Even flat index = low nibble, odd = high nibble. Errors when n*k is odd, packed is not n*k/2 bytes, or scales is empty or does not divide n*k. Panics if n*k overflows usize.