Skip to content

Commit 78cf525

Browse files
committed
fix: update toy to new master
1 parent d8b9a4f commit 78cf525

File tree

3 files changed

+36
-27
lines changed

3 files changed

+36
-27
lines changed

barretenberg/cpp/src/barretenberg/flavor/generated/Toy_flavor.hpp

+22-8
Original file line numberDiff line numberDiff line change
@@ -126,14 +126,14 @@ class ToyFlavor {
126126
using Base = ProvingKey_<PrecomputedEntities<Polynomial>, WitnessEntities<Polynomial>>;
127127
using Base::Base;
128128

129+
RefVector<DataType> get_to_be_shifted() { return { toy_x }; };
130+
129131
// The plookup wires that store plookup read data.
130132
std::array<PolynomialHandle, 0> get_table_column_wires() { return {}; };
131133
};
132134

133135
using VerificationKey = VerificationKey_<PrecomputedEntities<Commitment>>;
134136

135-
using ProverPolynomials = AllEntities<PolynomialHandle>;
136-
137137
using FoldedPolynomials = AllEntities<std::vector<FF>>;
138138

139139
class AllValues : public AllEntities<FF> {
@@ -142,21 +142,35 @@ class ToyFlavor {
142142
using Base::Base;
143143
};
144144

145-
class AllPolynomials : public AllEntities<Polynomial> {
145+
using RowPolynomials = AllEntities<FF>;
146+
147+
/**
148+
* @brief A container for the prover polynomials handles.
149+
*/
150+
class ProverPolynomials : public AllEntities<Polynomial> {
146151
public:
147-
[[nodiscard]] size_t get_polynomial_size() const { return this->toy_q_tuple_set.size(); }
148-
[[nodiscard]] AllValues get_row(const size_t row_idx) const
152+
// Define all operations as default, except move construction/assignment
153+
ProverPolynomials() = default;
154+
ProverPolynomials& operator=(const ProverPolynomials&) = delete;
155+
ProverPolynomials(const ProverPolynomials& o) = delete;
156+
ProverPolynomials(ProverPolynomials&& o) noexcept = default;
157+
ProverPolynomials& operator=(ProverPolynomials&& o) noexcept = default;
158+
~ProverPolynomials() = default;
159+
[[nodiscard]] size_t get_polynomial_size() const { return toy_first.size(); }
160+
/**
161+
* @brief Returns the evaluations of all prover polynomials at one point on the boolean hypercube, which
162+
* represents one row in the execution trace.
163+
*/
164+
[[nodiscard]] AllValues get_row(size_t row_idx) const
149165
{
150166
AllValues result;
151-
for (auto [result_field, polynomial] : zip_view(result.get_all(), get_all())) {
167+
for (auto [result_field, polynomial] : zip_view(result.get_all(), this->get_all())) {
152168
result_field = polynomial[row_idx];
153169
}
154170
return result;
155171
}
156172
};
157173

158-
using RowPolynomials = AllEntities<FF>;
159-
160174
class PartiallyEvaluatedMultivariates : public AllEntities<Polynomial> {
161175
public:
162176
PartiallyEvaluatedMultivariates() = default;

barretenberg/cpp/src/barretenberg/proof_system/circuit_builder/generated/Toy_circuit_builder.hpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -38,18 +38,18 @@ class ToyCircuitBuilder {
3838

3939
// TODO: template
4040
using Polynomial = Flavor::Polynomial;
41-
using AllPolynomials = Flavor::AllPolynomials;
41+
using ProverPolynomials = Flavor::ProverPolynomials;
4242

4343
static constexpr size_t num_fixed_columns = 9;
4444
static constexpr size_t num_polys = 8;
4545
std::vector<Row> rows;
4646

4747
void set_trace(std::vector<Row>&& trace) { rows = std::move(trace); }
4848

49-
AllPolynomials compute_polynomials()
49+
ProverPolynomials compute_polynomials()
5050
{
5151
const auto num_rows = get_circuit_subgroup_size();
52-
AllPolynomials polys;
52+
ProverPolynomials polys;
5353

5454
// Allocate mem for each column
5555
for (auto& poly : polys.get_all()) {
@@ -88,7 +88,7 @@ class ToyCircuitBuilder {
8888
.eccvm_set_permutation_delta = 0,
8989
};
9090

91-
auto polys = compute_polynomials();
91+
ProverPolynomials polys = compute_polynomials();
9292
const size_t num_rows = polys.get_polynomial_size();
9393

9494
const auto evaluate_relation = [&]<typename Relation>(const std::string& relation_name) {

barretenberg/cpp/src/barretenberg/vm/generated/Toy_prover.cpp

+10-15
Original file line numberDiff line numberDiff line change
@@ -29,21 +29,16 @@ ToyProver::ToyProver(std::shared_ptr<Flavor::ProvingKey> input_key, std::shared_
2929
, commitment_key(commitment_key)
3030
{
3131
// TODO: take every polynomial and assign it to the key!!
32-
prover_polynomials.toy_first = key->toy_first;
33-
prover_polynomials.toy_q_tuple_set = key->toy_q_tuple_set;
34-
prover_polynomials.toy_set_1_column_1 = key->toy_set_1_column_1;
35-
prover_polynomials.toy_set_1_column_2 = key->toy_set_1_column_2;
36-
prover_polynomials.toy_set_2_column_1 = key->toy_set_2_column_1;
37-
prover_polynomials.toy_set_2_column_2 = key->toy_set_2_column_2;
38-
prover_polynomials.toy_x = key->toy_x;
39-
prover_polynomials.two_column_perm = key->two_column_perm;
40-
41-
prover_polynomials.toy_x = key->toy_x;
42-
prover_polynomials.toy_x_shift = key->toy_x.shifted();
43-
44-
// prover_polynomials.lookup_inverses = key->lookup_inverses;
45-
// key->z_perm = Polynomial(key->circuit_size);
46-
// prover_polynomials.z_perm = key->z_perm;
32+
for (auto [prover_poly, key_poly] : zip_view(prover_polynomials.get_unshifted(), key->get_all())) {
33+
ASSERT(proof_system::flavor_get_label(prover_polynomials, prover_poly) ==
34+
proof_system::flavor_get_label(*key, key_poly));
35+
prover_poly = key_poly.share();
36+
}
37+
for (auto [prover_poly, key_poly] : zip_view(prover_polynomials.get_shifted(), key->get_to_be_shifted())) {
38+
ASSERT(proof_system::flavor_get_label(prover_polynomials, prover_poly) ==
39+
proof_system::flavor_get_label(*key, key_poly) + "_shift");
40+
prover_poly = key_poly.shifted();
41+
}
4742
}
4843

4944
/**

0 commit comments

Comments
 (0)