Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
arithmetic_constraints.hpp File Reference

Go to the source code of this file.

Classes

struct  acir_format::BilinearConstraint
 Bilinear constraint — BILINEAR mode of the bilinear_batched_eq gate (see bilinear_or_batched_eq_check_relation.hpp). More...
 
struct  acir_format::BatchedEqCheckConstraint
 BatchedEq constraint — BATCHED_EQ mode of the bilinear_batched_eq gate (see bilinear_or_batched_eq_check_relation.hpp). More...
 
class  acir_format::BigQuadConstraint
 Constraint representing a polynomial of degree 1 or 2 that does not fit into a standard UltraHonk arithmetic constraint of width 4. More...
 

Namespaces

namespace  acir_format
 

Typedefs

using acir_format::QuadConstraint = mul_quad_< bb::fr >
 Standard UltraHonk arithmetic constraint of width 4.
 

Functions

template<typename Builder >
void acir_format::set_zero_idx (const Builder &builder, QuadConstraint &mul_quad)
 Replace indices which are set to IS_CONSTANT with the zero index of the builder.
 
template<typename Builder >
void acir_format::check_mul_add_gate (Builder &builder, const QuadConstraint &mul_quad, const typename Builder::FF next_wire_w4=Builder::FF::zero())
 Check if a mul add gate is valid.
 
template<typename Builder >
void acir_format::check_bilinear_batched_eq_gate (Builder &builder, const bilinear_batched_eq_gate_< typename Builder::FF > &bilinear_batched_eq)
 Check that a bilinear batched-eq gate is valid.
 
template<typename Builder >
void acir_format::create_quad_constraint (Builder &builder, QuadConstraint &mul_quad)
 Create a simple width-4 Ultra arithmetic gate constraint representing the equation.
 
template<typename Builder >
void acir_format::create_big_quad_constraint (Builder &builder, BigQuadConstraint &big_constraint)
 
template<typename Builder >
void acir_format::create_bilinear_constraint (Builder &builder, const BilinearConstraint &constraint)
 Emit a BILINEAR-mode bilinear_batched_eq gate row.
 
template<typename Builder >
void acir_format::create_batched_eq_check_constraint (Builder &builder, const BatchedEqCheckConstraint &constraint)
 Emit a BATCHED_EQ-mode bilinear_batched_eq gate row described by constraint on builder.