|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
A flexible, minimal test flavor for sumcheck testing. More...
#include <sumcheck_test_flavor.hpp>
Classes | |
| class | AllEntities |
| All entities combined. More... | |
| class | AllValues |
| Container for evaluations. More... | |
| class | PrecomputedEntities |
| Precomputed polynomials (selectors) More... | |
| class | ProverPolynomials |
| Container for prover polynomials. More... | |
| class | ShiftedEntities |
| Shifted witness polynomials. More... | |
| class | WitnessEntities |
| Witness polynomials. More... | |
Static Public Attributes | |
| static constexpr bool | HasZK = HasZK_ |
| static constexpr bool | USE_SHORT_MONOMIALS = UseShortMonomials_ |
| static constexpr bool | USE_PADDING = false |
| static constexpr size_t | NUM_WIRES = 4 |
| static constexpr size_t | NUM_PRECOMPUTED_ENTITIES = 8 |
| static constexpr size_t | NUM_WITNESS_ENTITIES = 6 |
| static constexpr size_t | NUM_SHIFTED_ENTITIES = 2 |
| static constexpr size_t | NUM_ALL_ENTITIES = NUM_PRECOMPUTED_ENTITIES + NUM_WITNESS_ENTITIES + NUM_SHIFTED_ENTITIES |
| 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 + (HasZK ? 3 : 1) |
| static constexpr size_t | NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>() |
| static constexpr size_t | NUM_RELATIONS = std::tuple_size_v<Relations> |
A flexible, minimal test flavor for sumcheck testing.
This flavor is designed to test sumcheck in isolation without dependencies on full Ultra complexity. It includes TWO relations:
Tests can activate either or both relations via selectors.
| CurveType | The elliptic curve to use (BN254 or Grumpkin) |
| HasZK_ | Whether to use ZK sumcheck (adds masking rows) |
| UseShortMonomials_ | Whether to use short monomials (degree-1) or full barycentric extension |
Benefits:
Example usage:
Definition at line 138 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::CircuitBuilder = UltraCircuitBuilder |
Definition at line 140 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Commitment = typename Curve::AffineElement |
Definition at line 144 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::CommitmentKey = bb::CommitmentKey<Curve> |
Definition at line 147 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Curve = CurveType |
Definition at line 141 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::ExtendedEdges = ProverUnivariates<MAX_PARTIAL_RELATION_LENGTH> |
Extended edges for sumcheck.
Definition at line 293 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::FF = typename Curve::ScalarField |
Definition at line 142 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::GroupElement = typename Curve::Element |
Definition at line 143 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::PartiallyEvaluatedMultivariates = PartiallyEvaluatedMultivariatesBase<AllEntities<Polynomial>, ProverPolynomials, Polynomial> |
Partially evaluated multivariates for folded sumcheck.
Definition at line 307 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::PCS = KZG<Curve> |
Definition at line 145 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Polynomial = bb::Polynomial<FF> |
Definition at line 146 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::ProverUnivariates = AllEntities<bb::Univariate<FF, LENGTH> > |
Container for univariates (used in sumcheck)
Definition at line 288 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Relations = Relations_<FF> |
Definition at line 172 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Relations_ = std::tuple<ArithmeticRelation<FF_>, DependentTestRelation<FF_> > |
Definition at line 171 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::SubrelationSeparator = FF |
Definition at line 183 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::Transcript = NativeTranscript |
Definition at line 149 of file sumcheck_test_flavor.hpp.
| using bb::SumcheckTestFlavor_< CurveType, HasZK_, UseShortMonomials_ >::VerifierCommitmentKey = bb::VerifierCommitmentKey<Curve> |
Definition at line 148 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 180 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 152 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 174 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 165 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 162 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 182 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 164 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 181 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 155 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 163 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 154 of file sumcheck_test_flavor.hpp.
|
staticconstexpr |
Definition at line 153 of file sumcheck_test_flavor.hpp.