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

Methods for managing the compututation of derived witness polynomials such as the permutation grand product, log-derivative lookup inverses, and RAM/RAM memory records. More...

#include <witness_computation.hpp>

Static Public Member Functions

static void add_ram_rom_memory_records_to_wire_4 (typename Flavor::ProverPolynomials &polynomials, const std::vector< uint32_t > &memory_read_records, const std::vector< uint32_t > &memory_write_records, const FF &eta, const FF &eta_two, const FF &eta_three)
 Add RAM/ROM memory records to the fourth wire polynomial.
 
static void compute_logderivative_inverses (Flavor::ProverPolynomials &polynomials, const size_t circuit_size, RelationParameters< FF > &relation_parameters)
 Compute the inverse polynomials used in the log derivative lookup relations.
 
static void compute_grand_product_polynomial (Flavor::ProverPolynomials &polynomials, std::vector< FF > &public_inputs, const size_t pub_inputs_offset, ActiveRegionData &active_region_data, RelationParameters< FF > &relation_parameters, size_t size_override=0)
 Computes public_input_delta and the permutation grand product polynomial.
 
static void complete_proving_key_for_test (const std::shared_ptr< DeciderProvingKey_< Flavor > > &decider_pk)
 TEST only method for completing computation of the prover polynomials using random challenges.
 

Private Types

using FF = typename Flavor::FF
 

Detailed Description

template<IsUltraOrMegaHonk Flavor>
class bb::WitnessComputation< Flavor >

Methods for managing the compututation of derived witness polynomials such as the permutation grand product, log-derivative lookup inverses, and RAM/RAM memory records.

Template Parameters
Flavor

Definition at line 19 of file witness_computation.hpp.

Member Typedef Documentation

◆ FF

template<IsUltraOrMegaHonk Flavor>
using bb::WitnessComputation< Flavor >::FF = typename Flavor::FF
private

Definition at line 20 of file witness_computation.hpp.

Member Function Documentation

◆ add_ram_rom_memory_records_to_wire_4()

template<IsUltraOrMegaHonk Flavor>
void bb::WitnessComputation< Flavor >::add_ram_rom_memory_records_to_wire_4 ( typename Flavor::ProverPolynomials polynomials,
const std::vector< uint32_t > &  memory_read_records,
const std::vector< uint32_t > &  memory_write_records,
const FF eta,
const FF eta_two,
const FF eta_three 
)
static

Add RAM/ROM memory records to the fourth wire polynomial.

This operation must be performed after the first three wires have been committed to, hence the dependence on the eta challenge.

Template Parameters
Flavor
Parameters
etachallenge produced after commitment to first three wire polynomials

Definition at line 35 of file witness_computation.cpp.

◆ complete_proving_key_for_test()

template<IsUltraOrMegaHonk Flavor>
void bb::WitnessComputation< Flavor >::complete_proving_key_for_test ( const std::shared_ptr< DeciderProvingKey_< Flavor > > &  decider_pk)
static

TEST only method for completing computation of the prover polynomials using random challenges.

Template Parameters
Flavor
Parameters
decider_pk

Definition at line 124 of file witness_computation.cpp.

◆ compute_grand_product_polynomial()

template<IsUltraOrMegaHonk Flavor>
void bb::WitnessComputation< Flavor >::compute_grand_product_polynomial ( Flavor::ProverPolynomials polynomials,
std::vector< FF > &  public_inputs,
const size_t  pub_inputs_offset,
ActiveRegionData active_region_data,
RelationParameters< FF > &  relation_parameters,
size_t  size_override = 0 
)
static

Computes public_input_delta and the permutation grand product polynomial.

Parameters
relation_parameters
size_overrideoverride the size of the domain over which to compute the grand product

Definition at line 102 of file witness_computation.cpp.

◆ compute_logderivative_inverses()

template<IsUltraOrMegaHonk Flavor>
void bb::WitnessComputation< Flavor >::compute_logderivative_inverses ( Flavor::ProverPolynomials polynomials,
const size_t  circuit_size,
RelationParameters< FF > &  relation_parameters 
)
static

Compute the inverse polynomials used in the log derivative lookup relations.

Template Parameters
Flavor
Parameters
beta
gamma

Definition at line 71 of file witness_computation.cpp.


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