binius_macros

Macro arith_expr

Source
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))
);