Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
relation_definitions.hpp File Reference

Go to the source code of this file.

Macros

#define ExtendedEdge(Flavor)   Flavor::ExtendedEdges
 
#define EvaluationEdge(Flavor)   Flavor::AllValues
 
#define EntityEdge(Flavor)   Flavor::AllEntities<Flavor::FF>
 
#define ACCUMULATE(...)   _ACCUMULATE(__VA_ARGS__)
 
#define _ACCUMULATE(RelationImpl, Flavor, AccumulatorType, EdgeType)
 
#define PERMUTATION_METHOD(...)   _PERMUTATION_METHOD(__VA_ARGS__)
 
#define _PERMUTATION_METHOD(MethodName, RelationImpl, Flavor, AccumulatorType, EdgeType)
 
#define DEFINE_SUMCHECK_RELATION_CLASS(RelationImpl, Flavor)
 
#define DEFINE_ZK_SUMCHECK_RELATION_CLASS(RelationImpl, Flavor)
 
#define DEFINE_SUMCHECK_VERIFIER_RELATION_CLASS(RelationImpl, Flavor)    ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge)
 
#define DEFINE_SUMCHECK_PERMUTATION_CLASS(RelationImpl, Flavor)
 
#define DEFINE_SUMCHECK_VERIFIER_PERMUTATION_CLASS(RelationImpl, Flavor)
 

Macro Definition Documentation

◆ _ACCUMULATE

#define _ACCUMULATE (   RelationImpl,
  Flavor,
  AccumulatorType,
  EdgeType 
)
Value:
template void \
RelationImpl<Flavor::FF>::accumulate<bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType, EdgeType(Flavor)>( \
EdgeType(Flavor) const&, \
RelationParameters<Flavor::FF> const&, \
Flavor::FF const&);
typename Curve::ScalarField FF
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...

Definition at line 18 of file relation_definitions.hpp.

◆ _PERMUTATION_METHOD

#define _PERMUTATION_METHOD (   MethodName,
  RelationImpl,
  Flavor,
  AccumulatorType,
  EdgeType 
)
Value:
template typename bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType \
RelationImpl<Flavor::FF>::MethodName<bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType, EdgeType(Flavor)>( \
EdgeType(Flavor) const&, RelationParameters<Flavor::FF> const&);

Definition at line 27 of file relation_definitions.hpp.

◆ ACCUMULATE

#define ACCUMULATE (   ...)    _ACCUMULATE(__VA_ARGS__)

Definition at line 17 of file relation_definitions.hpp.

◆ DEFINE_SUMCHECK_PERMUTATION_CLASS

#define DEFINE_SUMCHECK_PERMUTATION_CLASS (   RelationImpl,
  Flavor 
)
Value:
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, UnivariateAccumulator0, ExtendedEdge) \
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EntityEdge) \
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, UnivariateAccumulator0, ExtendedEdge) \
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EntityEdge)
#define ExtendedEdge(Flavor)
#define EntityEdge(Flavor)
#define PERMUTATION_METHOD(...)
#define EvaluationEdge(Flavor)

Definition at line 44 of file relation_definitions.hpp.

◆ DEFINE_SUMCHECK_RELATION_CLASS

#define DEFINE_SUMCHECK_RELATION_CLASS (   RelationImpl,
  Flavor 
)
Value:
ACCUMULATE(RelationImpl, Flavor, SumcheckTupleOfUnivariatesOverSubrelations, ExtendedEdge) \
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge) \
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EntityEdge)
#define ACCUMULATE(...)

Definition at line 32 of file relation_definitions.hpp.

◆ DEFINE_SUMCHECK_VERIFIER_PERMUTATION_CLASS

#define DEFINE_SUMCHECK_VERIFIER_PERMUTATION_CLASS (   RelationImpl,
  Flavor 
)
Value:
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge)

Definition at line 52 of file relation_definitions.hpp.

◆ DEFINE_SUMCHECK_VERIFIER_RELATION_CLASS

#define DEFINE_SUMCHECK_VERIFIER_RELATION_CLASS (   RelationImpl,
  Flavor 
)     ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge)

Definition at line 41 of file relation_definitions.hpp.

◆ DEFINE_ZK_SUMCHECK_RELATION_CLASS

#define DEFINE_ZK_SUMCHECK_RELATION_CLASS (   RelationImpl,
  Flavor 
)
Value:
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge) \
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EntityEdge)

Definition at line 37 of file relation_definitions.hpp.

◆ EntityEdge

#define EntityEdge (   Flavor)    Flavor::AllEntities<Flavor::FF>

Definition at line 15 of file relation_definitions.hpp.

◆ EvaluationEdge

#define EvaluationEdge (   Flavor)    Flavor::AllValues

Definition at line 14 of file relation_definitions.hpp.

◆ ExtendedEdge

#define ExtendedEdge (   Flavor)    Flavor::ExtendedEdges

Definition at line 13 of file relation_definitions.hpp.

◆ PERMUTATION_METHOD

#define PERMUTATION_METHOD (   ...)    _PERMUTATION_METHOD(__VA_ARGS__)

Definition at line 26 of file relation_definitions.hpp.