69template <
typename Relation,
typename AllEntities>
83template <
typename Flavor,
typename ProverPolynomialsOrPartiallyEvaluatedMultivariates,
typename EdgeType>
85 requires(
const ProverPolynomialsOrPartiallyEvaluatedMultivariates& input,
const EdgeType edge_idx) {
96template <
typename RelationImpl>
class Relation :
public RelationImpl {
98 using FF =
typename RelationImpl::FF;
101 RelationImpl::SUBRELATION_PARTIAL_LENGTHS.end());
static bool skip_entire_row(const ProverPolynomialsOrPartiallyEvaluatedMultivariates &polynomials, const EdgeType edge_idx)
When evaluating the sumcheck protocol - can we skip evaluation of all relations for a given row?...
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
typename RelationImpl::FF FF
static constexpr size_t RELATION_LENGTH
TupleOfUnivariates< FF, RelationImpl::SUBRELATION_PARTIAL_LENGTHS > SumcheckTupleOfUnivariatesOverSubrelations
std::tuple_element_t< 0, SumcheckArrayOfValuesOverSubrelations > ValueAccumulator0
std::tuple_element_t< 0, SumcheckTupleOfUnivariatesOverSubrelations > UnivariateAccumulator0
Check if the flavor has a static skip method to determine if accumulation of all relations can be ski...
The templates defined herein facilitate sharing the relation arithmetic between the prover and the ve...
Entry point for Barretenberg command-line interface.
HomogeneousTupleToArray< TupleOfValues< FF, LENGTHS > > ArrayOfValues
constexpr bool subrelation_is_linearly_independent()
Check whether a given subrelation is linearly independent from the other subrelations.
typename TupleOfContainersOverArray< bb::Univariate, FF, LENGTHS >::type TupleOfUnivariates
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept