diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.cpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.cpp index 91b800a14c6..d4dd4e638b2 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.cpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/circuit_builder.cpp @@ -58,14 +58,14 @@ AvmCircuitBuilder::ProverPolynomials AvmCircuitBuilder::compute_polynomials() co // An array which stores for each column of the trace the smallest size of the // truncated column containing all non-zero elements. // It is used to allocate the polynomials without memory overhead for the tail of zeros. - std::array col_nonzero_size{}; + std::array col_nonzero_size{}; // Computation of size of columns. // Non-parallel version takes 0.5 second for a trace size of 200k rows. // A parallel version might be considered in the future. for (size_t i = 0; i < num_rows; i++) { const auto& row = rows[i]; - for (size_t col = 0; col < Row::SIZE; col++) { + for (size_t col = 0; col < col_nonzero_size.size(); col++) { if (!row.get_column(static_cast(col)).is_zero()) { col_nonzero_size[col] = i + 1; } diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.cpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.cpp deleted file mode 100644 index 5458a11a370..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.cpp +++ /dev/null @@ -1,16 +0,0 @@ -// AUTOGENERATED FILE -#include "full_row.hpp" -#include "flavor_settings.hpp" - -namespace bb::avm { - -template std::ostream& operator<<(std::ostream& os, [[maybe_unused]] AvmFullRow const& row) -{ - assert(false); // unsupported. - return os; -} - -// Explicit template instantiation. -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - -} // namespace bb::avm diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.hpp index 4f77ffad75c..554fe311f62 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/full_row.hpp @@ -1,11 +1,6 @@ // AUTOGENERATED FILE #pragma once -#include -#include -#include - -#include "barretenberg/common/ref_vector.hpp" #include "columns.hpp" namespace bb::avm { @@ -15,8 +10,6 @@ template struct AvmFullRow { FF AVM_ALL_ENTITIES; - static constexpr size_t SIZE = 764; - // Risky but oh so efficient. FF& get_column(ColumnAndShifts col) { @@ -31,8 +24,6 @@ template struct AvmFullRow { } }; -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - } // namespace bb::avm namespace bb { diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/trace/execution.cpp b/barretenberg/cpp/src/barretenberg/vm/avm/trace/execution.cpp index d25691c2af9..295cf53512d 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/trace/execution.cpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/trace/execution.cpp @@ -130,7 +130,7 @@ std::unordered_map get_relati void show_trace_info(const auto& trace) { vinfo("Built trace size: ", trace.size(), " (next power: 2^", std::bit_width(trace.size()), ")"); - vinfo("Number of columns: ", trace.front().SIZE); + vinfo("Number of columns: ", avm::NUM_COLUMNS_WITH_SHIFTS); vinfo("Relation degrees: ", []() { std::string result; for (const auto& [key, value] : sorted_entries(get_relations_degrees())) { diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.cpp b/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.cpp deleted file mode 100644 index 0f1864d9a53..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.cpp +++ /dev/null @@ -1,15 +0,0 @@ -// AUTOGENERATED FILE -#include "full_row.hpp" -#include "flavor_settings.hpp" - -namespace bb::avm2 { - -template std::ostream& operator<<(std::ostream& os, [[maybe_unused]] AvmFullRow const& row) -{ - return os; -} - -// Explicit template instantiation. -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - -} // namespace bb::avm2 diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.hpp index 7abc2c82c7e..b2d7109fae0 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/full_row.hpp @@ -1,11 +1,6 @@ // AUTOGENERATED FILE #pragma once -#include -#include -#include - -#include "barretenberg/common/ref_vector.hpp" #include "columns.hpp" namespace bb::avm2 { @@ -15,8 +10,6 @@ template struct AvmFullRow { FF AVM2_ALL_ENTITIES; - static constexpr size_t SIZE = 398; - // Risky but oh so efficient. FF& get_column(ColumnAndShifts col) { @@ -31,8 +24,6 @@ template struct AvmFullRow { } }; -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - } // namespace bb::avm2 namespace bb { diff --git a/bb-pilcom/bb-pil-backend/src/circuit_builder.rs b/bb-pilcom/bb-pil-backend/src/circuit_builder.rs index eb3ad699576..080b70c501c 100644 --- a/bb-pilcom/bb-pil-backend/src/circuit_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/circuit_builder.rs @@ -7,7 +7,6 @@ pub trait CircuitBuilder { fn create_circuit_builder_cpp(&mut self, name: &str, all_cols_without_inverses: &[String]); fn create_full_row_hpp(&mut self, name: &str, all_cols: &[String]); - fn create_full_row_cpp(&mut self, name: &str, all_cols: &[String]); } impl CircuitBuilder for BBFiles { @@ -71,24 +70,4 @@ impl CircuitBuilder for BBFiles { self.write_file(None, "full_row.hpp", &hpp); } - - fn create_full_row_cpp(&mut self, name: &str, all_cols: &[String]) { - let mut handlebars = Handlebars::new(); - - let data = &json!({ - "name": name, - "all_cols": all_cols, - }); - - handlebars - .register_template_string( - "full_row.cpp", - std::str::from_utf8(include_bytes!("../templates/full_row.cpp.hbs")).unwrap(), - ) - .unwrap(); - - let cpp = handlebars.render("full_row.cpp", data).unwrap(); - - self.write_file(None, "full_row.cpp", &cpp); - } } diff --git a/bb-pilcom/bb-pil-backend/src/vm_builder.rs b/bb-pilcom/bb-pil-backend/src/vm_builder.rs index e7abf5b07b2..360aec3291e 100644 --- a/bb-pilcom/bb-pil-backend/src/vm_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/vm_builder.rs @@ -102,7 +102,6 @@ pub fn analyzed_to_cpp( // ----------------------- Create the full row files ----------------------- bb_files.create_full_row_hpp(vm_name, &all_cols); - bb_files.create_full_row_cpp(vm_name, &all_cols); // ----------------------- Create the flavor files ----------------------- bb_files.create_flavor_hpp( diff --git a/bb-pilcom/bb-pil-backend/templates/circuit_builder.cpp.hbs b/bb-pilcom/bb-pil-backend/templates/circuit_builder.cpp.hbs index 1c4126f8af4..5a1efc042de 100644 --- a/bb-pilcom/bb-pil-backend/templates/circuit_builder.cpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/circuit_builder.cpp.hbs @@ -58,14 +58,14 @@ AvmCircuitBuilder::ProverPolynomials AvmCircuitBuilder::compute_polynomials() co // An array which stores for each column of the trace the smallest size of the // truncated column containing all non-zero elements. // It is used to allocate the polynomials without memory overhead for the tail of zeros. - std::array col_nonzero_size{}; + std::array col_nonzero_size{}; // Computation of size of columns. // Non-parallel version takes 0.5 second for a trace size of 200k rows. // A parallel version might be considered in the future. for (size_t i = 0; i < num_rows; i++) { const auto& row = rows[i]; - for (size_t col = 0; col < Row::SIZE; col++) { + for (size_t col = 0; col < col_nonzero_size.size(); col++) { if (!row.get_column(static_cast(col)).is_zero()) { col_nonzero_size[col] = i + 1; } diff --git a/bb-pilcom/bb-pil-backend/templates/full_row.cpp.hbs b/bb-pilcom/bb-pil-backend/templates/full_row.cpp.hbs deleted file mode 100644 index 0d96d4df8e5..00000000000 --- a/bb-pilcom/bb-pil-backend/templates/full_row.cpp.hbs +++ /dev/null @@ -1,15 +0,0 @@ -// AUTOGENERATED FILE -#include "full_row.hpp" -#include "flavor_settings.hpp" - -namespace bb::{{snakeCase name}} { - -template std::ostream& operator<<(std::ostream& os, [[maybe_unused]] AvmFullRow const& row) -{ - return os; -} - -// Explicit template instantiation. -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - -} // namespace bb::{{snakeCase name}} diff --git a/bb-pilcom/bb-pil-backend/templates/full_row.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/full_row.hpp.hbs index e274bd99189..643482460ad 100644 --- a/bb-pilcom/bb-pil-backend/templates/full_row.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/full_row.hpp.hbs @@ -1,11 +1,6 @@ // AUTOGENERATED FILE #pragma once -#include -#include -#include - -#include "barretenberg/common/ref_vector.hpp" #include "columns.hpp" namespace bb::{{snakeCase name}} { @@ -16,8 +11,6 @@ struct AvmFullRow { FF {{shoutySnakeCase name}}_ALL_ENTITIES; - static constexpr size_t SIZE = {{len all_cols}}; - // Risky but oh so efficient. FF& get_column(ColumnAndShifts col) { @@ -32,8 +25,6 @@ struct AvmFullRow { } }; -template std::ostream& operator<<(std::ostream& os, AvmFullRow const& row); - } // namespace bb::{{snakeCase name}} namespace bb {