4#include <gtest/gtest.h>
15 const size_t circuit_size = 4;
20 for (
auto& id_poly : polynomials.get_ids()) {
22 for (
size_t i = 0; i < circuit_size; ++i) {
23 id_poly.at(i) = coset_idx * circuit_size + i;
29 EXPECT_EQ(polynomials.id_1[0],
FF(0));
30 EXPECT_EQ(polynomials.id_2[0],
FF(4));
31 EXPECT_EQ(polynomials.id_3[0],
FF(8));
38 EXPECT_EQ(polynomials.get_all().size(), polynomials.get_shifted().size() + polynomials.get_unshifted().size());
40 EXPECT_EQ(commitment_labels.w_r,
"W_R");
50 PartiallyEvaluatedMultivariates polynomials_A;
52 for (
auto& coeff : random_poly.coeffs()) {
53 coeff = FF::random_element();
58 polynomials_A.w_l = random_poly.share();
60 ASSERT_EQ(random_poly, polynomials_A.w_l);
62 PartiallyEvaluatedMultivariates polynomials_B(polynomials_A);
63 ASSERT_EQ(random_poly, polynomials_B.w_l);
65 PartiallyEvaluatedMultivariates polynomials_C(
std::move(polynomials_B));
66 ASSERT_EQ(random_poly, polynomials_C.w_l);
75 data.begin(),
data.end(), []() { return std::vector<FF>({ FF::random_element(), FF::random_element() }); });
77 for (
auto [poly, entry] :
zip_view(prover_polynomials.get_all(),
data)) {
80 auto row0 = prover_polynomials.
get_row(0);
81 auto row1 = prover_polynomials.
get_row(1);
82 EXPECT_EQ(row0.q_elliptic, prover_polynomials.q_elliptic[0]);
83 EXPECT_EQ(row1.w_4_shift, prover_polynomials.w_4_shift[1]);
A container for commitment labels.
A container for storing the partially evaluated multivariates produced by sumcheck.
A container for the prover polynomials.
AllValues get_row(const size_t row_idx) const
Returns the evaluations of all prover polynomials at one point on the boolean hypercube,...
static constexpr size_t NUM_ALL_ENTITIES
bb::Polynomial< FF > Polynomial
Structured polynomial class that represents the coefficients 'a' of a_0 + a_1 x .....
const std::vector< FF > data
typename ECCVMFlavor::ProverPolynomials ProverPolynomials
std::filesystem::path bb_crs_path()
void init_file_crs_factory(const std::filesystem::path &path)
Entry point for Barretenberg command-line interface.
TEST(MegaCircuitBuilder, CopyConstructor)
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept