37 static constexpr bool HasZK =
false;
54 template <
typename FF>
69 static constexpr size_t NUM_SUBRELATIONS = compute_number_of_subrelations<Relations>();
79 w_non_shifted_accumulator,
80 w_non_shifted_instance,
81 w_evaluations_accumulator,
82 w_evaluations_instance);
93 w_non_shifted_accumulator,
94 w_non_shifted_instance,
95 w_evaluations_accumulator,
96 w_evaluations_instance);
99 this->w_non_shifted_instance,
100 this->w_evaluations_accumulator,
101 this->w_evaluations_instance);
110 w_shifted_accumulator,
125 template <
typename DataType>
158 if (poly.is_empty()) {
171 for (
auto& polynomial : this->get_all()) {
172 polynomial.increase_virtual_size(size_in);
212 for (
auto [poly, full_poly] :
zip_view(get_all(), full_polynomials.get_all())) {
214 size_t desired_size = full_poly.end_index() / 2 + full_poly.end_index() % 2;
215 poly =
Polynomial(desired_size, circuit_size / 2);
246 w_non_shifted_accumulator =
"W_NON_SHIFTED_ACCUMULATOR";
247 w_non_shifted_instance =
"W_NON_SHIFTED_INSTANCE";
248 w_evaluations_accumulator =
"W_EVALUATIONS_ACCUMULATOR";
249 w_evaluations_instance =
"W_EVALUATIONS_INSTANCE";
250 w_shifted_accumulator =
"W_SHIFTED_ACCUMULATOR";
251 w_shifted_instance =
"W_SHIFTED_INSTANCE";
#define BB_BENCH_NAME(name)
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 base class labelling all entities (for instance, all of the polynomials used by the prover during s...
A field element for each entity of the flavor. These entities represent the prover polynomials evalua...
A container for commitment labels.
A container for storing the partially evaluated multivariates produced by sumcheck.
PartiallyEvaluatedMultivariates()=default
PartiallyEvaluatedMultivariates(const ProverPolynomials &full_polynomials, size_t circuit_size)
A container for the prover polynomials handles.
void increase_polynomials_virtual_size(const size_t size_in)
ProverPolynomials(size_t circuit_size)
ProverPolynomials()=default
size_t get_polynomial_size() const
The proving key is responsible for storing the polynomials used by the prover.
std::vector< FF > instance_evaluations
std::vector< FF > accumulator_challenge
ProvingKey(ProverPolynomials &&polynomials, std::vector< FF > accumulator_challenge, std::vector< FF > instance_challenge, std::vector< FF > accumulator_evaluations, std::vector< FF > instance_evaluations)
ProverPolynomials polynomials
std::vector< FF > accumulator_evaluations
std::vector< FF > instance_challenge
Class for ShiftedEntities, containing the shifted witness polynomials.
DEFINE_FLAVOR_MEMBERS(DataType, w_shifted_accumulator, w_shifted_instance)
DEFINE_FLAVOR_MEMBERS(DataType, w_non_shifted_accumulator, w_non_shifted_instance, w_evaluations_accumulator, w_evaluations_instance)
Container for all witness polynomials used/constructed by the prover.
DEFINE_FLAVOR_MEMBERS(DataType, w_non_shifted_accumulator, w_non_shifted_instance, w_evaluations_accumulator, w_evaluations_instance)
MSGPACK_FIELDS(this->w_non_shifted_accumulator, this->w_non_shifted_instance, this->w_evaluations_accumulator, this->w_evaluations_instance)
std::array< FF, NUM_SUBRELATIONS - 1 > SubrelationSeparators
Curve::AffineElement Commitment
static constexpr size_t NUM_WIRES
static constexpr size_t NUM_WITNESS_ENTITIES
static constexpr size_t NUM_SUBRELATIONS
static constexpr size_t BATCHED_RELATION_PARTIAL_LENGTH
static constexpr size_t MAX_PARTIAL_RELATION_LENGTH
static constexpr size_t NUM_SHIFTED_ENTITIES
static constexpr bool IS_MULTILINEAR_BATCHING
Relations_< FF > Relations
static constexpr bool USE_PADDING
static constexpr bool has_zero_row
static constexpr bool HasZK
Curve::Element GroupElement
static constexpr bool USE_SHORT_MONOMIALS
static constexpr size_t NUM_ALL_ENTITIES
static constexpr size_t NUM_RELATIONS
bb::Polynomial< FF > Polynomial
std::tuple< bb::MultilinearBatchingAccumulatorRelation< FF >, bb::MultilinearBatchingInstanceRelation< FF > > Relations_
static constexpr size_t VIRTUAL_LOG_N
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...
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_COMPOUND_GET_ALL(...)
Entry point for Barretenberg command-line interface.
BaseTranscript< FrCodec, bb::crypto::Poseidon2< bb::crypto::Poseidon2Bn254ScalarFieldParams > > NativeTranscript
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept