Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::MockCircuits Class Reference

#include <mock_circuits.hpp>

Public Types

using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using Point = Curve::AffineElement
 

Static Public Member Functions

template<typename Builder >
static void add_arithmetic_gates_with_public_inputs (Builder &builder, const size_t num_gates=4)
 Add a specified number of arithmetic gates (with public inputs) to the provided circuit.
 
template<typename Builder >
static void add_arithmetic_gates (Builder &builder, const size_t num_gates=4)
 Add a specified number of arithmetic gates to the provided circuit.
 
template<typename Builder >
static void add_lookup_gates (Builder &builder, size_t num_iterations=1)
 Add lookup gates using the uint32 XOR lookup table (table size 4096)
 
template<typename Builder >
static void add_RAM_gates (Builder &builder)
 Add some simple RAM (memory) gates for testing memory read/write functionality.
 
template<typename Builder >
static void construct_arithmetic_circuit (Builder &builder, const size_t target_log2_dyadic_size=4, bool include_public_inputs=true)
 Populate a builder with a specified number of arithmetic gates; includes a PI.
 
static void construct_goblin_ecc_op_circuit (MegaCircuitBuilder &builder)
 Populate a builder with some arbitrary goblinized ECC ops, one of each type.
 

Detailed Description

Definition at line 16 of file mock_circuits.hpp.

Member Typedef Documentation

◆ Curve

Definition at line 18 of file mock_circuits.hpp.

◆ FF

Definition at line 19 of file mock_circuits.hpp.

◆ Point

Member Function Documentation

◆ add_arithmetic_gates()

template<typename Builder >
static void bb::MockCircuits::add_arithmetic_gates ( Builder builder,
const size_t  num_gates = 4 
)
inlinestatic

Add a specified number of arithmetic gates to the provided circuit.

Parameters
builder
num_gates

Definition at line 52 of file mock_circuits.hpp.

◆ add_arithmetic_gates_with_public_inputs()

template<typename Builder >
static void bb::MockCircuits::add_arithmetic_gates_with_public_inputs ( Builder builder,
const size_t  num_gates = 4 
)
inlinestatic

Add a specified number of arithmetic gates (with public inputs) to the provided circuit.

Parameters
builder
num_gates

Definition at line 29 of file mock_circuits.hpp.

◆ add_lookup_gates()

template<typename Builder >
static void bb::MockCircuits::add_lookup_gates ( Builder builder,
size_t  num_iterations = 1 
)
inlinestatic

Add lookup gates using the uint32 XOR lookup table (table size 4096)

Each iteration adds 6 lookup gates and results in a minimum circuit size of 4096

Parameters
builder
num_gates

Definition at line 75 of file mock_circuits.hpp.

◆ add_RAM_gates()

template<typename Builder >
static void bb::MockCircuits::add_RAM_gates ( Builder builder)
inlinestatic

Add some simple RAM (memory) gates for testing memory read/write functionality.

Each iteration adds 18 gates (including finalization)

Parameters
builder

Definition at line 103 of file mock_circuits.hpp.

◆ construct_arithmetic_circuit()

template<typename Builder >
static void bb::MockCircuits::construct_arithmetic_circuit ( Builder builder,
const size_t  target_log2_dyadic_size = 4,
bool  include_public_inputs = true 
)
inlinestatic

Populate a builder with a specified number of arithmetic gates; includes a PI.

Parameters
builder
num_gates

Definition at line 139 of file mock_circuits.hpp.

◆ construct_goblin_ecc_op_circuit()

static void bb::MockCircuits::construct_goblin_ecc_op_circuit ( MegaCircuitBuilder builder)
inlinestatic

Populate a builder with some arbitrary goblinized ECC ops, one of each type.

Parameters
builder

Definition at line 173 of file mock_circuits.hpp.


The documentation for this class was generated from the following file: