Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
partially_evaluated_multivariates.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: Complete, auditors: [Sergei], commit: }
3// external_1: { status: not started, auditors: [], commit: }
4// external_2: { status: not started, auditors: [], commit: }
5// =====================
6#pragma once
7
10
11namespace bb {
12
24template <typename AllEntitiesBase, typename ProverPolynomialsType, typename Polynomial>
25class PartiallyEvaluatedMultivariatesBase : public AllEntitiesBase {
26 public:
31 PartiallyEvaluatedMultivariatesBase(const ProverPolynomialsType& full_polynomials, size_t circuit_size)
32 {
33 for (auto [poly, full_poly] : zip_view(this->get_all(), full_polynomials.get_all())) {
34 // After the initial sumcheck round, the new size is CEIL(size/2).
35 size_t desired_size = (full_poly.end_index() / 2) + (full_poly.end_index() % 2);
36 poly = Polynomial(desired_size, circuit_size / 2);
37 }
38 }
39};
40
41} // namespace bb
A container for storing the partially evaluated multivariates produced by sumcheck.
PartiallyEvaluatedMultivariatesBase(const ProverPolynomialsType &full_polynomials, size_t circuit_size)
Construct from full polynomials, allocating based on their actual sizes.
Structured polynomial class that represents the coefficients 'a' of a_0 + a_1 x .....
Entry point for Barretenberg command-line interface.
Definition api.hpp:5