Dequantize PQ codes into a reconstructed vector in rotated space.
(codes: &[u8], codebooks: &[Vec<Vec<f32>>])
| 189 | |
| 190 | /// Dequantize PQ codes into a reconstructed vector in rotated space. |
| 191 | fn dequantize_codes(codes: &[u8], codebooks: &[Vec<Vec<f32>>]) -> Vec<f32> { |
| 192 | let mut out = Vec::with_capacity(codebooks.len() * codebooks[0][0].len()); |
| 193 | for (s, &c) in codes.iter().enumerate() { |
| 194 | out.extend_from_slice(&codebooks[s][c as usize]); |
| 195 | } |
| 196 | out |
| 197 | } |
| 198 | |
| 199 | /// Row-major matrix-vector multiply: returns R · v. |
| 200 | #[inline] |