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

#include <flavor.hpp>

Classes

class  AllEntities
 
class  DerivedWitnessEntities
 
class  PartiallyEvaluatedMultivariates
 
class  PolynomialEntitiesAtFixedRow
 
class  PrecomputedEntities
 
class  ProverPolynomials
 A container for the prover polynomials handles. More...
 
class  ProvingKey
 
class  ShiftedEntities
 
class  Transcript
 
class  VerificationKey
 
class  VerifierCommitments_
 
class  WireEntities
 
class  WitnessEntities
 

Public Types

using Curve = AvmFlavorSettings::Curve
 
using G1 = AvmFlavorSettings::G1
 
using PCS = AvmFlavorSettings::PCS
 
using FF = AvmFlavorSettings::FF
 
using Polynomial = AvmFlavorSettings::Polynomial
 
using PolynomialHandle = AvmFlavorSettings::PolynomialHandle
 
using GroupElement = AvmFlavorSettings::GroupElement
 
using Commitment = AvmFlavorSettings::Commitment
 
using CommitmentHandle = AvmFlavorSettings::CommitmentHandle
 
using CommitmentKey = AvmFlavorSettings::CommitmentKey
 
using VerifierCommitmentKey = AvmFlavorSettings::VerifierCommitmentKey
 
template<typename FF_ >
using MainRelations_ = AvmFlavorVariables::MainRelations_< FF_ >
 
using MainRelations = MainRelations_< FF >
 
template<typename FF_ >
using LookupRelations_ = AvmFlavorVariables::LookupRelations_< FF_ >
 
using LookupRelations = LookupRelations_< FF >
 
template<typename FF_ >
using Relations_ = tuple_cat_t< MainRelations_< FF_ >, LookupRelations_< FF_ > >
 
using Relations = Relations_< FF >
 
using SubrelationSeparators = std::array< FF, NUM_SUBRELATIONS - 1 >
 
using AllValues = AllEntities< FF >
 
template<size_t LENGTH>
using ProverUnivariates = AllEntities< bb::Univariate< FF, LENGTH > >
 A container for univariates used during Protogalaxy folding and sumcheck.
 
template<size_t LENGTH, size_t SKIP_COUNT>
using ProverUnivariatesWithOptimisticSkipping = AllEntities< bb::Univariate< FF, LENGTH, 0, SKIP_COUNT > >
 A container for univariates used during Protogalaxy folding and sumcheck with some of the computation optimistically ignored.
 
using ExtendedEdges = ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH >
 A container for univariates produced during the hot loop in sumcheck.
 
using WitnessCommitments = WitnessEntities< Commitment >
 A container for the witness commitments.
 
using VerifierCommitments = VerifierCommitments_< Commitment, VerificationKey >
 

Static Public Attributes

static constexpr bool USE_SHORT_MONOMIALS = false
 
static constexpr bool HasZK = false
 
static constexpr bool USE_PADDING = true
 
static constexpr size_t NUM_PRECOMPUTED_ENTITIES = AvmFlavorVariables::NUM_PRECOMPUTED_ENTITIES
 
static constexpr size_t NUM_WITNESS_ENTITIES = AvmFlavorVariables::NUM_WITNESS_ENTITIES
 
static constexpr size_t NUM_SHIFTED_ENTITIES = AvmFlavorVariables::NUM_SHIFTED_ENTITIES
 
static constexpr size_t NUM_WIRES = AvmFlavorVariables::NUM_WIRES
 
static constexpr size_t NUM_ALL_ENTITIES = AvmFlavorVariables::NUM_ALL_ENTITIES
 
static constexpr size_t MAX_CHUNK_THREAD_PORTION_SIZE = 32
 
static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
 
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
 
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
 
static constexpr size_t NUM_RELATIONS = std::tuple_size_v<Relations>
 
static constexpr bool has_zero_row = true
 
static constexpr size_t NUM_FRS_COM = field_conversion::calc_num_bn254_frs<Commitment>()
 
static constexpr size_t NUM_FRS_FR = field_conversion::calc_num_bn254_frs<FF>()
 
static constexpr size_t COMPUTED_AVM_PROOF_LENGTH_IN_FIELDS
 

Static Private Member Functions

template<typename DataType , typename PrecomputedAndWitnessEntitiesSuperset >
static auto get_to_be_shifted (PrecomputedAndWitnessEntitiesSuperset &entities)
 

Detailed Description

Definition at line 28 of file flavor.hpp.

Member Typedef Documentation

◆ AllValues

Definition at line 276 of file flavor.hpp.

◆ Commitment

◆ CommitmentHandle

◆ CommitmentKey

◆ Curve

◆ ExtendedEdges

A container for univariates produced during the hot loop in sumcheck.

Definition at line 337 of file flavor.hpp.

◆ FF

Definition at line 34 of file flavor.hpp.

◆ G1

Definition at line 31 of file flavor.hpp.

◆ GroupElement

◆ LookupRelations

◆ LookupRelations_

Definition at line 75 of file flavor.hpp.

◆ MainRelations

Definition at line 72 of file flavor.hpp.

◆ MainRelations_

Definition at line 70 of file flavor.hpp.

◆ PCS

Definition at line 32 of file flavor.hpp.

◆ Polynomial

◆ PolynomialHandle

◆ ProverUnivariates

template<size_t LENGTH>
using bb::avm2::AvmFlavor::ProverUnivariates = AllEntities<bb::Univariate<FF, LENGTH> >

A container for univariates used during Protogalaxy folding and sumcheck.

During folding and sumcheck, the prover evaluates the relations on these univariates.

Definition at line 324 of file flavor.hpp.

◆ ProverUnivariatesWithOptimisticSkipping

template<size_t LENGTH, size_t SKIP_COUNT>
using bb::avm2::AvmFlavor::ProverUnivariatesWithOptimisticSkipping = AllEntities<bb::Univariate<FF, LENGTH, 0, SKIP_COUNT> >

A container for univariates used during Protogalaxy folding and sumcheck with some of the computation optimistically ignored.

During folding and sumcheck, the prover evaluates the relations on these univariates.

Definition at line 332 of file flavor.hpp.

◆ Relations

Definition at line 81 of file flavor.hpp.

◆ Relations_

template<typename FF_ >
using bb::avm2::AvmFlavor::Relations_ = tuple_cat_t<MainRelations_<FF_>, LookupRelations_<FF_> >

Definition at line 80 of file flavor.hpp.

◆ SubrelationSeparators

Definition at line 85 of file flavor.hpp.

◆ VerifierCommitmentKey

◆ VerifierCommitments

◆ WitnessCommitments

A container for the witness commitments.

Definition at line 343 of file flavor.hpp.

Member Function Documentation

◆ get_to_be_shifted()

template<typename DataType , typename PrecomputedAndWitnessEntitiesSuperset >
static auto bb::avm2::AvmFlavor::get_to_be_shifted ( PrecomputedAndWitnessEntitiesSuperset &  entities)
inlinestaticprivate

Definition at line 153 of file flavor.hpp.

Member Data Documentation

◆ BATCHED_RELATION_PARTIAL_LENGTH

constexpr size_t bb::avm2::AvmFlavor::BATCHED_RELATION_PARTIAL_LENGTH = MAX_PARTIAL_RELATION_LENGTH + 1
staticconstexpr

Definition at line 94 of file flavor.hpp.

◆ COMPUTED_AVM_PROOF_LENGTH_IN_FIELDS

constexpr size_t bb::avm2::AvmFlavor::COMPUTED_AVM_PROOF_LENGTH_IN_FIELDS
staticconstexpr
Initial value:
=
static constexpr size_t NUM_FRS_FR
Definition flavor.hpp:100
static constexpr size_t NUM_WITNESS_ENTITIES
Definition flavor.hpp:54
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
Definition flavor.hpp:94
static constexpr size_t NUM_FRS_COM
Definition flavor.hpp:99
static constexpr size_t NUM_ALL_ENTITIES
Definition flavor.hpp:57
constexpr size_t MAX_AVM_TRACE_LOG_SIZE
Definition constants.hpp:9

Definition at line 104 of file flavor.hpp.

◆ has_zero_row

constexpr bool bb::avm2::AvmFlavor::has_zero_row = true
staticconstexpr

Definition at line 97 of file flavor.hpp.

◆ HasZK

constexpr bool bb::avm2::AvmFlavor::HasZK = false
staticconstexpr

Definition at line 47 of file flavor.hpp.

◆ MAX_CHUNK_THREAD_PORTION_SIZE

constexpr size_t bb::avm2::AvmFlavor::MAX_CHUNK_THREAD_PORTION_SIZE = 32
staticconstexpr

Definition at line 67 of file flavor.hpp.

◆ MAX_PARTIAL_RELATION_LENGTH

constexpr size_t bb::avm2::AvmFlavor::MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length<Relations>()
staticconstexpr

Definition at line 87 of file flavor.hpp.

◆ NUM_ALL_ENTITIES

constexpr size_t bb::avm2::AvmFlavor::NUM_ALL_ENTITIES = AvmFlavorVariables::NUM_ALL_ENTITIES
staticconstexpr

Definition at line 57 of file flavor.hpp.

◆ NUM_FRS_COM

constexpr size_t bb::avm2::AvmFlavor::NUM_FRS_COM = field_conversion::calc_num_bn254_frs<Commitment>()
staticconstexpr

Definition at line 99 of file flavor.hpp.

◆ NUM_FRS_FR

constexpr size_t bb::avm2::AvmFlavor::NUM_FRS_FR = field_conversion::calc_num_bn254_frs<FF>()
staticconstexpr

Definition at line 100 of file flavor.hpp.

◆ NUM_PRECOMPUTED_ENTITIES

constexpr size_t bb::avm2::AvmFlavor::NUM_PRECOMPUTED_ENTITIES = AvmFlavorVariables::NUM_PRECOMPUTED_ENTITIES
staticconstexpr

Definition at line 53 of file flavor.hpp.

◆ NUM_RELATIONS

constexpr size_t bb::avm2::AvmFlavor::NUM_RELATIONS = std::tuple_size_v<Relations>
staticconstexpr

Definition at line 95 of file flavor.hpp.

◆ NUM_SHIFTED_ENTITIES

constexpr size_t bb::avm2::AvmFlavor::NUM_SHIFTED_ENTITIES = AvmFlavorVariables::NUM_SHIFTED_ENTITIES
staticconstexpr

Definition at line 55 of file flavor.hpp.

◆ NUM_SUBRELATIONS

constexpr size_t bb::avm2::AvmFlavor::NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>()
staticconstexpr

Definition at line 83 of file flavor.hpp.

◆ NUM_WIRES

constexpr size_t bb::avm2::AvmFlavor::NUM_WIRES = AvmFlavorVariables::NUM_WIRES
staticconstexpr

Definition at line 56 of file flavor.hpp.

◆ NUM_WITNESS_ENTITIES

constexpr size_t bb::avm2::AvmFlavor::NUM_WITNESS_ENTITIES = AvmFlavorVariables::NUM_WITNESS_ENTITIES
staticconstexpr

Definition at line 54 of file flavor.hpp.

◆ USE_PADDING

constexpr bool bb::avm2::AvmFlavor::USE_PADDING = true
staticconstexpr

Definition at line 51 of file flavor.hpp.

◆ USE_SHORT_MONOMIALS

constexpr bool bb::avm2::AvmFlavor::USE_SHORT_MONOMIALS = false
staticconstexpr

Definition at line 44 of file flavor.hpp.


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