6#include <benchmark/benchmark.h>
18template <
typename Flavor,
typename Relation,
typename Input,
typename Accumulator>
27 Accumulator accumulator;
29 for (
auto _ : state) {
30 Relation::accumulate(accumulator, input, params, 1);
40 execute_relation<Flavor, Relation, Input, Accumulator>(state);
49 execute_relation<Flavor, Relation, Input, Accumulator>(state);
57 using Accumulator =
typename Relation::template ProtogalaxyTupleOfUnivariatesOverSubrelations<NUM_INSTANCES>;
59 execute_relation<Flavor, Relation, Input, Accumulator>(state);
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
ProverUnivariates< MAX_PARTIAL_RELATION_LENGTH > ExtendedEdges
A container for univariates produced during the hot loop in sumcheck.
typename Flavor::template ProverUnivariatesWithOptimisticSkipping< ExtendedUnivariate::LENGTH, SKIP_COUNT > ExtendedUnivariates
A ProverInstance is normally constructed from a finalized circuit and it contains all the information...
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
ArrayOfValues< FF, RelationImpl::SUBRELATION_PARTIAL_LENGTHS > SumcheckArrayOfValuesOverSubrelations
TupleOfUnivariates< FF, RelationImpl::SUBRELATION_PARTIAL_LENGTHS > SumcheckTupleOfUnivariatesOverSubrelations
void execute_relation_for_pg_univariates(::benchmark::State &state)
void execute_relation(::benchmark::State &state)
void execute_relation_for_values(::benchmark::State &state)
void execute_relation_for_univariates(::benchmark::State &state)
BENCHMARK(execute_relation_for_pg_univariates< UltraFlavor, UltraArithmeticRelation< Fr > >)
RNG & get_debug_randomness(bool reset, std::uint_fast64_t seed)
field< Bn254FrParams > fr
static RelationParameters get_random()