Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::TraceToPolynomials< Flavor > Class Template Reference

#include <trace_to_polynomials.hpp>

Static Public Member Functions

static void populate (Builder &builder, ProverPolynomials &)
 Given a circuit, populate a proving key with wire polys, selector polys, and sigma/id polys.
 

Static Public Attributes

static constexpr size_t NUM_WIRES = Builder::NUM_WIRES
 

Private Types

using Builder = typename Flavor::CircuitBuilder
 
using Polynomial = typename Flavor::Polynomial
 
using FF = typename Flavor::FF
 
using ExecutionTrace = typename Builder::ExecutionTrace
 
using Wires = std::array< std::vector< uint32_t >, Builder::NUM_WIRES >
 
using ProverPolynomials = typename Flavor::ProverPolynomials
 

Static Private Member Functions

static CopyCycles populate_wires_and_selectors_and_compute_copy_cycles (Builder &builder, ProverPolynomials &)
 Populate wire polynomials, selector polynomials and copy cycles from raw circuit data.
 

Detailed Description

template<class Flavor>
class bb::TraceToPolynomials< Flavor >

Definition at line 15 of file trace_to_polynomials.hpp.

Member Typedef Documentation

◆ Builder

template<class Flavor >
using bb::TraceToPolynomials< Flavor >::Builder = typename Flavor::CircuitBuilder
private

Definition at line 16 of file trace_to_polynomials.hpp.

◆ ExecutionTrace

template<class Flavor >
using bb::TraceToPolynomials< Flavor >::ExecutionTrace = typename Builder::ExecutionTrace
private

Definition at line 19 of file trace_to_polynomials.hpp.

◆ FF

template<class Flavor >
using bb::TraceToPolynomials< Flavor >::FF = typename Flavor::FF
private

Definition at line 18 of file trace_to_polynomials.hpp.

◆ Polynomial

template<class Flavor >
using bb::TraceToPolynomials< Flavor >::Polynomial = typename Flavor::Polynomial
private

Definition at line 17 of file trace_to_polynomials.hpp.

◆ ProverPolynomials

Definition at line 21 of file trace_to_polynomials.hpp.

◆ Wires

template<class Flavor >
using bb::TraceToPolynomials< Flavor >::Wires = std::array<std::vector<uint32_t>, Builder::NUM_WIRES>
private

Definition at line 20 of file trace_to_polynomials.hpp.

Member Function Documentation

◆ populate()

template<class Flavor >
void bb::TraceToPolynomials< Flavor >::populate ( Builder builder,
typename Flavor::ProverPolynomials polynomials 
)
static

Given a circuit, populate a proving key with wire polys, selector polys, and sigma/id polys.

Note
By default, this method constructs an execution trace that is sorted by gate type.
Parameters
builder

Definition at line 25 of file trace_to_polynomials.cpp.

◆ populate_wires_and_selectors_and_compute_copy_cycles()

template<class Flavor >
CopyCycles bb::TraceToPolynomials< Flavor >::populate_wires_and_selectors_and_compute_copy_cycles ( Builder builder,
ProverPolynomials polynomials 
)
staticprivate

Populate wire polynomials, selector polynomials and copy cycles from raw circuit data.

Returns
CopyCycles copy cycles (CSR form) describing the copy constraints in the circuit

Definition at line 47 of file trace_to_polynomials.cpp.

Member Data Documentation

◆ NUM_WIRES

template<class Flavor >
constexpr size_t bb::TraceToPolynomials< Flavor >::NUM_WIRES = Builder::NUM_WIRES
staticconstexpr

Definition at line 24 of file trace_to_polynomials.hpp.


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