binius_macros

Derive Macro IterPolys

Source
#[derive(IterPolys)]
Expand description

Implements pub fn iter_polys(&self) -> impl Iterator<Item = MultilinearExtension<P>>.

Supports Vec<P>, [Vec<P>; N]. Currently doesn’t filter out fields from the struct, so you can’t add any other fields.

use binius_macros::IterPolys;
use binius_field::PackedField;

#[derive(IterPolys)]
struct Witness<P: PackedField> {
    x: Vec<P>,
    y: [Vec<P>; 5],
    z: [Vec<P>; 5*2],
}