Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
relation_definitions.hpp
Go to the documentation of this file.
1
// === AUDIT STATUS ===
2
// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3
// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4
// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5
// =====================
6
7
#pragma once
8
9
#include "
barretenberg/relations/relation_types.hpp
"
10
11
// Utilities for explicit instantiation of relation and permutation classes.
12
13
#define ExtendedEdge(Flavor) Flavor::ExtendedEdges
14
#define EvaluationEdge(Flavor) Flavor::AllValues
15
#define EntityEdge(Flavor) Flavor::AllEntities<Flavor::FF>
16
17
#define ACCUMULATE(...) _ACCUMULATE(__VA_ARGS__)
18
#define _ACCUMULATE(RelationImpl, Flavor, AccumulatorType, EdgeType) \
19
template void \
20
RelationImpl<Flavor::FF>::accumulate<bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType, EdgeType(Flavor)>( \
21
bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType&, \
22
EdgeType(Flavor) const&, \
23
RelationParameters<Flavor::FF> const&, \
24
Flavor::FF const&);
25
26
#define PERMUTATION_METHOD(...) _PERMUTATION_METHOD(__VA_ARGS__)
27
#define _PERMUTATION_METHOD(MethodName, RelationImpl, Flavor, AccumulatorType, EdgeType) \
28
template typename bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType \
29
RelationImpl<Flavor::FF>::MethodName<bb::Relation<RelationImpl<Flavor::FF>>::AccumulatorType, EdgeType(Flavor)>( \
30
EdgeType(Flavor) const&, RelationParameters<Flavor::FF> const&);
31
32
#define DEFINE_SUMCHECK_RELATION_CLASS(RelationImpl, Flavor) \
33
ACCUMULATE(RelationImpl, Flavor, SumcheckTupleOfUnivariatesOverSubrelations, ExtendedEdge) \
34
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge) \
35
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EntityEdge)
36
37
#define DEFINE_ZK_SUMCHECK_RELATION_CLASS(RelationImpl, Flavor) \
38
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge) \
39
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EntityEdge)
40
41
#define DEFINE_SUMCHECK_VERIFIER_RELATION_CLASS(RelationImpl, Flavor) \
42
ACCUMULATE(RelationImpl, Flavor, SumcheckArrayOfValuesOverSubrelations, EvaluationEdge)
43
44
#define DEFINE_SUMCHECK_PERMUTATION_CLASS(RelationImpl, Flavor) \
45
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, UnivariateAccumulator0, ExtendedEdge) \
46
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
47
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EntityEdge) \
48
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, UnivariateAccumulator0, ExtendedEdge) \
49
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
50
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EntityEdge)
51
52
#define DEFINE_SUMCHECK_VERIFIER_PERMUTATION_CLASS(RelationImpl, Flavor) \
53
PERMUTATION_METHOD(compute_grand_product_numerator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge) \
54
PERMUTATION_METHOD(compute_grand_product_denominator, RelationImpl, Flavor, ValueAccumulator0, EvaluationEdge)
relation_types.hpp
src
barretenberg
flavor
relation_definitions.hpp
Generated by
1.9.8