|
| | Expr () |
| | Constructs the zero expression.
|
| |
| | Expr (const FieldElement &value) |
| | Constructs a pure constant expression from a field element.
|
| |
| | Expr (std::int64_t value) |
| | Constructs a pure constant expression from a signed integer.
|
| |
| const FieldElement & | constant () const |
| | Returns the constant term of the affine expression.
|
| |
| std::vector< Term > & | linear () |
| | Returns mutable access to the sorted linear term list.
|
| |
| const std::vector< Term > & | linear () const |
| | Returns read-only access to the sorted linear term list.
|
| |
| std::string | to_string () const |
| | Formats the expression in a stable human-readable form used for debugging and serialization.
|
| |
| std::optional< FieldElement > | evaluate (const WitnessAssignments &values) const |
| | Evaluates the expression against a possibly partial transcript witness assignment.
|
| |
| std::pair< Expr, Expr > | split () const |
| | Splits the expression into a pure constant and a pure linear component.
|
| |
|
| Expr | operator+ (const Expr &lhs, const Expr &rhs) |
| | Adds two affine expressions and merges like terms.
|
| |
| Expr | operator+ (const Expr &lhs, std::int64_t rhs) |
| | Adds an integer constant to an affine expression.
|
| |
| Expr | operator+ (std::int64_t lhs, const Expr &rhs) |
| | Adds an affine expression to an integer constant.
|
| |
| Expr | operator- (const Expr &lhs, const Expr &rhs) |
| | Subtracts one affine expression from another.
|
| |
| Expr | operator- (const Expr &lhs, std::int64_t rhs) |
| | Subtracts an integer constant from an affine expression.
|
| |
| Expr | operator- (std::int64_t lhs, const Expr &rhs) |
| | Subtracts an affine expression from an integer constant.
|
| |
| Expr | operator- (const Expr &value) |
| | Negates every coefficient in the affine expression.
|
| |
| Expr | operator* (const Expr &expr, const FieldElement &scalar) |
| | Scales an affine expression by a field element.
|
| |
| Expr | operator* (const FieldElement &scalar, const Expr &expr) |
| | Scales an affine expression by a field element.
|
| |
| Expr | operator* (const Expr &expr, std::int64_t scalar) |
| | Scales an affine expression by an integer constant.
|
| |
| Expr | operator* (std::int64_t scalar, const Expr &expr) |
| | Scales an affine expression by an integer constant.
|
| |
| bool | operator== (const Expr &lhs, const Expr &rhs) |
| | Compares two affine expressions structurally.
|
| |
| bool | operator< (const Expr &lhs, const Expr &rhs) |
| | Orders affine expressions structurally for cache keys.
|
| |
This type is used while deriving circuit relations before they are lowered into native multiplication gates and linear constraints.
Definition at line 71 of file expr.hpp.