arith_expr!() { /* proc-macro */ }
Expand description
Define polynomial expressions compactly using named positional arguments
use binius_macros::arith_expr;
use binius_field::{Field, BinaryField1b, BinaryField8b};
use binius_math::ArithExpr as Expr;
assert_eq!(
arith_expr!([x, y] = x + y + 1),
Expr::Var(0) + Expr::Var(1) + Expr::Const(BinaryField1b::ONE)
);
assert_eq!(
arith_expr!(BinaryField8b[x] = 3*x + 15),
Expr::Const(BinaryField8b::new(3)) * Expr::Var(0) + Expr::Const(BinaryField8b::new(15))
);