Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
arithmetic_constraints.hpp
Go to the documentation of this file.
1
// === AUDIT STATUS ===
2
// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3
// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4
// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5
// =====================
6
7
#pragma once
8
#include "
acir_format.hpp
"
9
#include "
barretenberg/common/assert.hpp
"
10
#include "
barretenberg/honk/execution_trace/gate_data.hpp
"
11
#include "
barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp
"
12
#include "
barretenberg/stdlib_circuit_builders/mega_circuit_builder.hpp
"
13
#include "
barretenberg/stdlib_circuit_builders/ultra_circuit_builder.hpp
"
14
#include <vector>
15
16
namespace
acir_format
{
17
25
template
<
typename
Builder>
void
set_zero_idx
(
const
Builder
&
builder
, mul_quad_<typename Builder::FF>& mul_quad);
26
31
template
<
typename
Builder>
32
void
check_mul_add_gate
(
Builder
&
builder
,
33
const
mul_quad_<typename Builder::FF>& mul_quad,
34
const
typename
Builder::FF
next_wire_w4 = Builder::FF::zero());
35
44
template
<
typename
Builder>
45
void
create_quad_constraint
(
Builder
&
builder
,
bb::mul_quad_<typename Builder::FF>
& mul_quad);
46
47
// clang-format off
78
// clang-format on
79
template
<
typename
Builder>
80
void
create_big_quad_constraint
(
Builder
&
builder
, std::vector<
bb::mul_quad_<typename Builder::FF>
>& big_constraint);
81
82
}
// namespace acir_format
acir_format.hpp
assert.hpp
circuit_builders_fwd.hpp
bb::ECCVMCircuitBuilder
Definition
eccvm_circuit_builder.hpp:24
builder
AluTraceBuilder builder
Definition
alu.test.cpp:124
gate_data.hpp
mega_circuit_builder.hpp
acir_format
Definition
acir_format.cpp:31
acir_format::create_quad_constraint
void create_quad_constraint(Builder &builder, bb::mul_quad_< typename Builder::FF > &mul_quad)
Create a simple width-4 Ultra arithmetic gate constraint representing the equation.
Definition
arithmetic_constraints.cpp:48
acir_format::set_zero_idx
void set_zero_idx(const Builder &builder, mul_quad_< typename Builder::FF > &mul_quad)
Replace indices which are set to IS_CONSTANT with the zero index of the builder.
Definition
arithmetic_constraints.cpp:13
acir_format::check_mul_add_gate
void check_mul_add_gate(Builder &builder, const mul_quad_< typename Builder::FF > &mul_quad, const typename Builder::FF next_wire_w4)
Check if a mul add gate is valid.
Definition
arithmetic_constraints.cpp:30
acir_format::create_big_quad_constraint
void create_big_quad_constraint(Builder &builder, std::vector< mul_quad_< typename Builder::FF > > &big_constraint)
Definition
arithmetic_constraints.cpp:59
bb::field< Bn254FqParams >
bb::mul_quad_
Definition
gate_data.hpp:37
ultra_circuit_builder.hpp
src
barretenberg
dsl
acir_format
arithmetic_constraints.hpp
Generated by
1.9.8