pub fn build_affine_virtual_bit_slice_mles<C, const D: usize>(
all_trace_bin_poly: &[DenseMultilinearExtension<BinaryPoly<D>>],
affine_virtual_specs: &[AffineVirtualSpec],
num_vars: usize,
field_cfg: &C,
) -> Vec<DenseMultilinearExtension<C::Element>>where
C: SemiringConfig + ProjectPrimitiveIntegersWithConfig,Expand description
Build per-bit-slice MLEs for affine virtual booleanity targets.
Returns N * D MLEs in (spec-major, i-minor) order:
$[v_{0,0}, v_{0,1}, ..., v_{0,D-1}, v_{1,0}, ...]$. The j-th
spec, i-th bit MLE evaluates at row b to the i-th coefficient of
ones_coefficient * 1_D + sum_t coefficient_t * source_t[b + row_shift_t]with out-of-range shifted rows contributing zero, matching ShiftSpec.
all_trace_bin_poly must contain every binary-polynomial trace column in
the UAIR’s flat total-column order: public columns first, then witness
columns.