85 template <
typename AllEntities>
static bool skip(
const AllEntities& in) {
return in.q_test.is_zero(); }
87 template <
typename ContainerOverSubrelations,
typename AllEntities,
typename Parameters>
89 const AllEntities& in,
95 auto tmp = in.w_test_1 * in.q_test;
142template <
typename CurveType = curve::BN254,
bool HasZK_ = false,
bool UseShortMonomials_ = true>
157 static constexpr bool HasZK = HasZK_;
240 template <
typename DataType>
287 shifted = to_be_shifted.shifted();
319 for (
auto [poly, full_poly] :
zip_view(this->get_all(), full_polynomials.get_all())) {
320 size_t desired_size = (full_poly.end_index() / 2) + (full_poly.end_index() % 2);
321 poly =
Polynomial(desired_size, circuit_size / 2);
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
CommitmentKey object over a pairing group 𝔾₁.
A linearly dependent test relation for sumcheck testing.
static bool skip(const AllEntities &in)
static constexpr std::array< bool, 1 > SUBRELATION_LINEARLY_INDEPENDENT
static void accumulate(ContainerOverSubrelations &evals, const AllEntities &in, const Parameters &, const FF &)
static constexpr std::array< size_t, 1 > SUBRELATION_PARTIAL_LENGTHS
A template class for a reference array. Behaves as if std::array<T&, N> was possible.
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
Container for evaluations.
Partially evaluated multivariates for folded sumcheck.
PartiallyEvaluatedMultivariates(const ProverPolynomials &full_polynomials, size_t circuit_size)
PartiallyEvaluatedMultivariates()=default
Precomputed polynomials (selectors)
Container for prover polynomials.
size_t get_polynomial_size() const
ProverPolynomials(size_t circuit_size)
auto get_to_be_shifted()
Get the polynomials that will be shifted.
ProverPolynomials()=default
void set_shifted()
Set all shifted polynomials based on their to-be-shifted counterpart.
Shifted witness polynomials.
A flexible, minimal test flavor for sumcheck testing.
Relations_< FF > Relations
typename Curve::ScalarField FF
static constexpr size_t NUM_SUBRELATIONS
std::tuple< ArithmeticRelation< FF_ >, DependentTestRelation< FF_ > > Relations_
static constexpr bool USE_SHORT_MONOMIALS
static constexpr size_t NUM_ALL_ENTITIES
typename Curve::AffineElement Commitment
static constexpr bool has_zero_row
static constexpr bool USE_PADDING
bb::Polynomial< FF > Polynomial
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t NUM_SHIFTED_ENTITIES
static constexpr size_t NUM_PRECOMPUTED_ENTITIES
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t NUM_WIRES
static constexpr bool HasZK
typename Curve::Element GroupElement
static constexpr size_t NUM_RELATIONS
typename Group::element Element
typename Group::affine_element AffineElement
Base class templates for structures that contain data parameterized by the fundamental polynomials of...
#define DEFINE_FLAVOR_MEMBERS(DataType,...)
Define the body of a flavor class, included each member and a pointer view with which to iterate the ...
#define DEFINE_COMPOUND_GET_ALL(...)
Entry point for Barretenberg command-line interface.
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
BaseTranscript< FrCodec, bb::crypto::Poseidon2< bb::crypto::Poseidon2Bn254ScalarFieldParams > > NativeTranscript
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept