diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp index aed03871066..8e442344ee1 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/flavor.hpp @@ -34,61 +34,20 @@ #include "relations/sha256.hpp" // Lookup and permutation relations -#include "relations/incl_main_tag_err.hpp" -#include "relations/incl_mem_tag_err.hpp" -#include "relations/lookup_byte_lengths.hpp" -#include "relations/lookup_byte_operations.hpp" -#include "relations/lookup_cd_value.hpp" -#include "relations/lookup_da_gas_rng_chk_0.hpp" -#include "relations/lookup_da_gas_rng_chk_1.hpp" -#include "relations/lookup_l2_gas_rng_chk_0.hpp" -#include "relations/lookup_l2_gas_rng_chk_1.hpp" -#include "relations/lookup_mem_rng_chk_0.hpp" -#include "relations/lookup_mem_rng_chk_1.hpp" -#include "relations/lookup_mem_rng_chk_2.hpp" -#include "relations/lookup_opcode_gas.hpp" -#include "relations/lookup_pow_2_0.hpp" -#include "relations/lookup_pow_2_1.hpp" -#include "relations/lookup_ret_value.hpp" -#include "relations/lookup_rng_chk_0.hpp" -#include "relations/lookup_rng_chk_1.hpp" -#include "relations/lookup_rng_chk_2.hpp" -#include "relations/lookup_rng_chk_3.hpp" -#include "relations/lookup_rng_chk_4.hpp" -#include "relations/lookup_rng_chk_5.hpp" -#include "relations/lookup_rng_chk_6.hpp" -#include "relations/lookup_rng_chk_7.hpp" -#include "relations/lookup_rng_chk_diff.hpp" -#include "relations/lookup_rng_chk_pow_2.hpp" -#include "relations/perm_cmp_alu.hpp" -#include "relations/perm_main_alu.hpp" -#include "relations/perm_main_bin.hpp" -#include "relations/perm_main_conv.hpp" -#include "relations/perm_main_mem_a.hpp" -#include "relations/perm_main_mem_b.hpp" -#include "relations/perm_main_mem_c.hpp" -#include "relations/perm_main_mem_d.hpp" -#include "relations/perm_main_mem_ind_addr_a.hpp" -#include "relations/perm_main_mem_ind_addr_b.hpp" -#include "relations/perm_main_mem_ind_addr_c.hpp" -#include "relations/perm_main_mem_ind_addr_d.hpp" -#include "relations/perm_main_pos2_perm.hpp" -#include "relations/perm_main_sha256.hpp" -#include "relations/perm_merkle_poseidon2.hpp" -#include "relations/perm_pos2_fixed_pos2_perm.hpp" -#include "relations/perm_pos_mem_read_a.hpp" -#include "relations/perm_pos_mem_read_b.hpp" -#include "relations/perm_pos_mem_read_c.hpp" -#include "relations/perm_pos_mem_read_d.hpp" -#include "relations/perm_pos_mem_write_a.hpp" -#include "relations/perm_pos_mem_write_b.hpp" -#include "relations/perm_pos_mem_write_c.hpp" -#include "relations/perm_pos_mem_write_d.hpp" -#include "relations/perm_rng_alu.hpp" -#include "relations/perm_rng_cmp_hi.hpp" -#include "relations/perm_rng_cmp_lo.hpp" -#include "relations/perm_rng_non_ff_cmp.hpp" -#include "relations/perm_slice_mem.hpp" +#include "relations/lookups_alu.hpp" +#include "relations/lookups_binary.hpp" +#include "relations/lookups_gas.hpp" +#include "relations/lookups_main.hpp" +#include "relations/lookups_mem.hpp" +#include "relations/lookups_mem_slice.hpp" +#include "relations/lookups_range_check.hpp" +#include "relations/perms_alu.hpp" +#include "relations/perms_cmp.hpp" +#include "relations/perms_main.hpp" +#include "relations/perms_mem_slice.hpp" +#include "relations/perms_merkle_tree.hpp" +#include "relations/perms_poseidon2.hpp" +#include "relations/perms_poseidon2_full.hpp" // Metaprogramming to concatenate tuple types. template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_mem_tag_err.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_mem_tag_err.hpp deleted file mode 100644 index 7f5d246592e..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_mem_tag_err.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class incl_mem_tag_err_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_tag_err; - static constexpr Column DST_SELECTOR = Column::mem_tag_err; - static constexpr Column COUNTS = Column::incl_mem_tag_err_counts; - static constexpr Column INVERSES = Column::incl_mem_tag_err_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_clk }; - static constexpr std::array DST_COLUMNS = { Column::mem_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_tag_err == 1 || in.mem_tag_err == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_tag_err); - const auto is_table_entry = View(in.mem_tag_err); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.incl_mem_tag_err_inv, - in.incl_mem_tag_err_counts, - in.main_tag_err, - in.mem_tag_err, - in.main_clk, - in.mem_clk); - } -}; - -template -class incl_mem_tag_err_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "INCL_MEM_TAG_ERR"; -}; -template using incl_mem_tag_err = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_lengths.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_lengths.hpp deleted file mode 100644 index c1a91dbd3ec..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_lengths.hpp +++ /dev/null @@ -1,77 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_byte_lengths_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 2; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::binary_start; - static constexpr Column DST_SELECTOR = Column::byte_lookup_sel_bin; - static constexpr Column COUNTS = Column::lookup_byte_lengths_counts; - static constexpr Column INVERSES = Column::lookup_byte_lengths_inv; - static constexpr std::array SRC_COLUMNS = { Column::binary_in_tag, - Column::binary_mem_tag_ctr }; - static constexpr std::array DST_COLUMNS = { Column::byte_lookup_table_in_tags, - Column::byte_lookup_table_byte_lengths }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.binary_start == 1 || in.byte_lookup_sel_bin == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.binary_start); - const auto is_table_entry = View(in.byte_lookup_sel_bin); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_byte_lengths_inv, - in.lookup_byte_lengths_counts, - in.binary_start, - in.byte_lookup_sel_bin, - in.binary_in_tag, - in.binary_mem_tag_ctr, - in.byte_lookup_table_in_tags, - in.byte_lookup_table_byte_lengths); - } -}; - -template -class lookup_byte_lengths_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_BYTE_LENGTHS"; -}; -template using lookup_byte_lengths = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_cd_value.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_cd_value.hpp deleted file mode 100644 index ed274d2b1b9..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_cd_value.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_cd_value_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 2; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::slice_sel_cd_cpy; - static constexpr Column DST_SELECTOR = Column::main_sel_calldata; - static constexpr Column COUNTS = Column::lookup_cd_value_counts; - static constexpr Column INVERSES = Column::lookup_cd_value_inv; - static constexpr std::array SRC_COLUMNS = { Column::slice_col_offset, - Column::slice_val }; - static constexpr std::array DST_COLUMNS = { Column::main_clk, Column::main_calldata }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.slice_sel_cd_cpy == 1 || in.main_sel_calldata == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.slice_sel_cd_cpy); - const auto is_table_entry = View(in.main_sel_calldata); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_cd_value_inv, - in.lookup_cd_value_counts, - in.slice_sel_cd_cpy, - in.main_sel_calldata, - in.slice_col_offset, - in.slice_val, - in.main_clk, - in.main_calldata); - } -}; - -template -class lookup_cd_value_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_CD_VALUE"; -}; -template using lookup_cd_value = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_0.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_0.hpp deleted file mode 100644 index 9fcb0205a25..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_0.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_da_gas_rng_chk_0_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_da_gas_rng_chk_0_counts; - static constexpr Column INVERSES = Column::lookup_da_gas_rng_chk_0_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_da_gas_u16_r0 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_is_gas_accounted); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_da_gas_rng_chk_0_inv, - in.lookup_da_gas_rng_chk_0_counts, - in.main_is_gas_accounted, - in.main_sel_rng_16, - in.main_da_gas_u16_r0, - in.main_clk); - } -}; - -template -class lookup_da_gas_rng_chk_0_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_DA_GAS_RNG_CHK_0"; -}; -template using lookup_da_gas_rng_chk_0 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_1.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_1.hpp deleted file mode 100644 index d3d31b1af56..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_da_gas_rng_chk_1.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_da_gas_rng_chk_1_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_da_gas_rng_chk_1_counts; - static constexpr Column INVERSES = Column::lookup_da_gas_rng_chk_1_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_da_gas_u16_r1 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_is_gas_accounted); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_da_gas_rng_chk_1_inv, - in.lookup_da_gas_rng_chk_1_counts, - in.main_is_gas_accounted, - in.main_sel_rng_16, - in.main_da_gas_u16_r1, - in.main_clk); - } -}; - -template -class lookup_da_gas_rng_chk_1_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_DA_GAS_RNG_CHK_1"; -}; -template using lookup_da_gas_rng_chk_1 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_0.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_0.hpp deleted file mode 100644 index b5b1750e07e..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_0.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_l2_gas_rng_chk_0_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_l2_gas_rng_chk_0_counts; - static constexpr Column INVERSES = Column::lookup_l2_gas_rng_chk_0_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_l2_gas_u16_r0 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_is_gas_accounted); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_l2_gas_rng_chk_0_inv, - in.lookup_l2_gas_rng_chk_0_counts, - in.main_is_gas_accounted, - in.main_sel_rng_16, - in.main_l2_gas_u16_r0, - in.main_clk); - } -}; - -template -class lookup_l2_gas_rng_chk_0_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_L2_GAS_RNG_CHK_0"; -}; -template using lookup_l2_gas_rng_chk_0 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_1.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_1.hpp deleted file mode 100644 index fcc24c097a4..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_l2_gas_rng_chk_1.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_l2_gas_rng_chk_1_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_l2_gas_rng_chk_1_counts; - static constexpr Column INVERSES = Column::lookup_l2_gas_rng_chk_1_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_l2_gas_u16_r1 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_is_gas_accounted); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_l2_gas_rng_chk_1_inv, - in.lookup_l2_gas_rng_chk_1_counts, - in.main_is_gas_accounted, - in.main_sel_rng_16, - in.main_l2_gas_u16_r1, - in.main_clk); - } -}; - -template -class lookup_l2_gas_rng_chk_1_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_L2_GAS_RNG_CHK_1"; -}; -template using lookup_l2_gas_rng_chk_1 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_0.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_0.hpp deleted file mode 100644 index 1116ce3d58d..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_0.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_mem_rng_chk_0_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_mem_rng_chk_0_counts; - static constexpr Column INVERSES = Column::lookup_mem_rng_chk_0_inv; - static constexpr std::array SRC_COLUMNS = { Column::mem_u16_r0 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.mem_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_mem_rng_chk_0_inv, - in.lookup_mem_rng_chk_0_counts, - in.mem_sel_rng_chk, - in.main_sel_rng_16, - in.mem_u16_r0, - in.main_clk); - } -}; - -template -class lookup_mem_rng_chk_0_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_0"; -}; -template using lookup_mem_rng_chk_0 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_1.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_1.hpp deleted file mode 100644 index 82d50313a70..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_1.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_mem_rng_chk_1_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_mem_rng_chk_1_counts; - static constexpr Column INVERSES = Column::lookup_mem_rng_chk_1_inv; - static constexpr std::array SRC_COLUMNS = { Column::mem_u16_r1 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.mem_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_mem_rng_chk_1_inv, - in.lookup_mem_rng_chk_1_counts, - in.mem_sel_rng_chk, - in.main_sel_rng_16, - in.mem_u16_r1, - in.main_clk); - } -}; - -template -class lookup_mem_rng_chk_1_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_1"; -}; -template using lookup_mem_rng_chk_1 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_2.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_2.hpp deleted file mode 100644 index f32173648c6..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_mem_rng_chk_2.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_mem_rng_chk_2_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; - static constexpr Column COUNTS = Column::lookup_mem_rng_chk_2_counts; - static constexpr Column INVERSES = Column::lookup_mem_rng_chk_2_inv; - static constexpr std::array SRC_COLUMNS = { Column::mem_u8_r0 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_8 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.mem_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_8); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_mem_rng_chk_2_inv, - in.lookup_mem_rng_chk_2_counts, - in.mem_sel_rng_chk, - in.main_sel_rng_8, - in.mem_u8_r0, - in.main_clk); - } -}; - -template -class lookup_mem_rng_chk_2_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_2"; -}; -template using lookup_mem_rng_chk_2 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_opcode_gas.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_opcode_gas.hpp deleted file mode 100644 index 166c570367c..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_opcode_gas.hpp +++ /dev/null @@ -1,89 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_opcode_gas_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 5; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; - static constexpr Column DST_SELECTOR = Column::gas_sel_gas_cost; - static constexpr Column COUNTS = Column::lookup_opcode_gas_counts; - static constexpr Column INVERSES = Column::lookup_opcode_gas_inv; - static constexpr std::array SRC_COLUMNS = { Column::main_opcode_val, - Column::main_base_l2_gas_op_cost, - Column::main_base_da_gas_op_cost, - Column::main_dyn_l2_gas_op_cost, - Column::main_dyn_da_gas_op_cost }; - static constexpr std::array DST_COLUMNS = { Column::main_clk, - Column::gas_base_l2_gas_fixed_table, - Column::gas_base_da_gas_fixed_table, - Column::gas_dyn_l2_gas_fixed_table, - Column::gas_dyn_da_gas_fixed_table }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_is_gas_accounted == 1 || in.gas_sel_gas_cost == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.main_is_gas_accounted); - const auto is_table_entry = View(in.gas_sel_gas_cost); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_opcode_gas_inv, - in.lookup_opcode_gas_counts, - in.main_is_gas_accounted, - in.gas_sel_gas_cost, - in.main_opcode_val, - in.main_base_l2_gas_op_cost, - in.main_base_da_gas_op_cost, - in.main_dyn_l2_gas_op_cost, - in.main_dyn_da_gas_op_cost, - in.main_clk, - in.gas_base_l2_gas_fixed_table, - in.gas_base_da_gas_fixed_table, - in.gas_dyn_l2_gas_fixed_table, - in.gas_dyn_da_gas_fixed_table); - } -}; - -template -class lookup_opcode_gas_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_OPCODE_GAS"; -}; -template using lookup_opcode_gas = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_0.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_0.hpp deleted file mode 100644 index 74999ea5a60..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_0.hpp +++ /dev/null @@ -1,76 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_pow_2_0_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 2; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::alu_sel_shift_which; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; - static constexpr Column COUNTS = Column::lookup_pow_2_0_counts; - static constexpr Column INVERSES = Column::lookup_pow_2_0_inv; - static constexpr std::array SRC_COLUMNS = { Column::alu_ib, Column::alu_b_pow }; - static constexpr std::array DST_COLUMNS = { Column::main_clk, - Column::powers_power_of_2 }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.alu_sel_shift_which == 1 || in.main_sel_rng_8 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.alu_sel_shift_which); - const auto is_table_entry = View(in.main_sel_rng_8); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_pow_2_0_inv, - in.lookup_pow_2_0_counts, - in.alu_sel_shift_which, - in.main_sel_rng_8, - in.alu_ib, - in.alu_b_pow, - in.main_clk, - in.powers_power_of_2); - } -}; - -template -class lookup_pow_2_0_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_POW_2_0"; -}; -template using lookup_pow_2_0 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_0.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_0.hpp deleted file mode 100644 index cfc1c8721c9..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_0.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_0_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_0; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_0_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_0_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r0 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_0 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_0); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_0_inv, - in.lookup_rng_chk_0_counts, - in.range_check_sel_lookup_0, - in.main_sel_rng_16, - in.range_check_u16_r0, - in.main_clk); - } -}; - -template -class lookup_rng_chk_0_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_0"; -}; -template using lookup_rng_chk_0 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_1.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_1.hpp deleted file mode 100644 index 3e968f49731..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_1.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_1_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_1; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_1_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_1_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r1 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_1 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_1); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_1_inv, - in.lookup_rng_chk_1_counts, - in.range_check_sel_lookup_1, - in.main_sel_rng_16, - in.range_check_u16_r1, - in.main_clk); - } -}; - -template -class lookup_rng_chk_1_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_1"; -}; -template using lookup_rng_chk_1 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_2.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_2.hpp deleted file mode 100644 index fd1fbe25e27..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_2.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_2_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_2; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_2_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_2_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r2 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_2 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_2); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_2_inv, - in.lookup_rng_chk_2_counts, - in.range_check_sel_lookup_2, - in.main_sel_rng_16, - in.range_check_u16_r2, - in.main_clk); - } -}; - -template -class lookup_rng_chk_2_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_2"; -}; -template using lookup_rng_chk_2 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_3.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_3.hpp deleted file mode 100644 index 740cdd242e6..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_3.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_3_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_3; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_3_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_3_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r3 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_3 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_3); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_3_inv, - in.lookup_rng_chk_3_counts, - in.range_check_sel_lookup_3, - in.main_sel_rng_16, - in.range_check_u16_r3, - in.main_clk); - } -}; - -template -class lookup_rng_chk_3_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_3"; -}; -template using lookup_rng_chk_3 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_4.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_4.hpp deleted file mode 100644 index ce257b6ec38..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_4.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_4_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_4; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_4_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_4_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r4 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_4 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_4); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_4_inv, - in.lookup_rng_chk_4_counts, - in.range_check_sel_lookup_4, - in.main_sel_rng_16, - in.range_check_u16_r4, - in.main_clk); - } -}; - -template -class lookup_rng_chk_4_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_4"; -}; -template using lookup_rng_chk_4 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_5.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_5.hpp deleted file mode 100644 index efcba04f434..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_5.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_5_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_5; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_5_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_5_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r5 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_5 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_5); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_5_inv, - in.lookup_rng_chk_5_counts, - in.range_check_sel_lookup_5, - in.main_sel_rng_16, - in.range_check_u16_r5, - in.main_clk); - } -}; - -template -class lookup_rng_chk_5_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_5"; -}; -template using lookup_rng_chk_5 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_6.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_6.hpp deleted file mode 100644 index 5bceaaf1617..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_6.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_6_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_6; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_6_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_6_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r6 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_lookup_6 == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_lookup_6); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_6_inv, - in.lookup_rng_chk_6_counts, - in.range_check_sel_lookup_6, - in.main_sel_rng_16, - in.range_check_u16_r6, - in.main_clk); - } -}; - -template -class lookup_rng_chk_6_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_6"; -}; -template using lookup_rng_chk_6 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_7.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_7.hpp deleted file mode 100644 index 3c4425f46da..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_7.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_7_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_7_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_7_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r7 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_7_inv, - in.lookup_rng_chk_7_counts, - in.range_check_sel_rng_chk, - in.main_sel_rng_16, - in.range_check_u16_r7, - in.main_clk); - } -}; - -template -class lookup_rng_chk_7_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_7"; -}; -template using lookup_rng_chk_7 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_diff.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_diff.hpp deleted file mode 100644 index 59808d1f0ef..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_diff.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_diff_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_diff_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_diff_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_diff }; - static constexpr std::array DST_COLUMNS = { Column::main_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_diff_inv, - in.lookup_rng_chk_diff_counts, - in.range_check_sel_rng_chk, - in.main_sel_rng_16, - in.range_check_dyn_diff, - in.main_clk); - } -}; - -template -class lookup_rng_chk_diff_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_DIFF"; -}; -template using lookup_rng_chk_diff = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_pow_2.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_pow_2.hpp deleted file mode 100644 index cf966db21b5..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_rng_chk_pow_2.hpp +++ /dev/null @@ -1,77 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm { - -class lookup_rng_chk_pow_2_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 2; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; - static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; - static constexpr Column COUNTS = Column::lookup_rng_chk_pow_2_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_pow_2_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_rng_chk_bits, - Column::range_check_dyn_rng_chk_pow_2 }; - static constexpr std::array DST_COLUMNS = { Column::main_clk, - Column::powers_power_of_2 }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_8 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_rng_chk); - const auto is_table_entry = View(in.main_sel_rng_8); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_pow_2_inv, - in.lookup_rng_chk_pow_2_counts, - in.range_check_sel_rng_chk, - in.main_sel_rng_8, - in.range_check_dyn_rng_chk_bits, - in.range_check_dyn_rng_chk_pow_2, - in.main_clk, - in.powers_power_of_2); - } -}; - -template -class lookup_rng_chk_pow_2_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_POW_2"; -}; -template using lookup_rng_chk_pow_2 = GenericLookup; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_1.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_alu.hpp similarity index 51% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_1.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_alu.hpp index 5859b44b537..2c768213259 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_pow_2_1.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_alu.hpp @@ -9,6 +9,74 @@ namespace bb::avm { +/////////////////// lookup_pow_2_0 /////////////////// + +class lookup_pow_2_0_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 2; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::alu_sel_shift_which; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; + static constexpr Column COUNTS = Column::lookup_pow_2_0_counts; + static constexpr Column INVERSES = Column::lookup_pow_2_0_inv; + static constexpr std::array SRC_COLUMNS = { Column::alu_ib, Column::alu_b_pow }; + static constexpr std::array DST_COLUMNS = { Column::main_clk, + Column::powers_power_of_2 }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.alu_sel_shift_which == 1 || in.main_sel_rng_8 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.alu_sel_shift_which); + const auto is_table_entry = View(in.main_sel_rng_8); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_pow_2_0_inv, + in.lookup_pow_2_0_counts, + in.alu_sel_shift_which, + in.main_sel_rng_8, + in.alu_ib, + in.alu_b_pow, + in.main_clk, + in.powers_power_of_2); + } +}; + +template +class lookup_pow_2_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_POW_2_0"; +}; +template using lookup_pow_2_0 = GenericLookup; + +/////////////////// lookup_pow_2_1 /////////////////// + class lookup_pow_2_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_operations.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_binary.hpp similarity index 54% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_operations.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_binary.hpp index bd8343ecb45..18d22bccf76 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_byte_operations.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_binary.hpp @@ -9,6 +9,75 @@ namespace bb::avm { +/////////////////// lookup_byte_lengths /////////////////// + +class lookup_byte_lengths_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 2; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::binary_start; + static constexpr Column DST_SELECTOR = Column::byte_lookup_sel_bin; + static constexpr Column COUNTS = Column::lookup_byte_lengths_counts; + static constexpr Column INVERSES = Column::lookup_byte_lengths_inv; + static constexpr std::array SRC_COLUMNS = { Column::binary_in_tag, + Column::binary_mem_tag_ctr }; + static constexpr std::array DST_COLUMNS = { Column::byte_lookup_table_in_tags, + Column::byte_lookup_table_byte_lengths }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.binary_start == 1 || in.byte_lookup_sel_bin == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.binary_start); + const auto is_table_entry = View(in.byte_lookup_sel_bin); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_byte_lengths_inv, + in.lookup_byte_lengths_counts, + in.binary_start, + in.byte_lookup_sel_bin, + in.binary_in_tag, + in.binary_mem_tag_ctr, + in.byte_lookup_table_in_tags, + in.byte_lookup_table_byte_lengths); + } +}; + +template +class lookup_byte_lengths_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_BYTE_LENGTHS"; +}; +template using lookup_byte_lengths = GenericLookup; + +/////////////////// lookup_byte_operations /////////////////// + class lookup_byte_operations_lookup_settings { public: static constexpr size_t READ_TERMS = 1; diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_gas.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_gas.hpp new file mode 100644 index 00000000000..5d526599baa --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_gas.hpp @@ -0,0 +1,343 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// lookup_opcode_gas /////////////////// + +class lookup_opcode_gas_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 5; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; + static constexpr Column DST_SELECTOR = Column::gas_sel_gas_cost; + static constexpr Column COUNTS = Column::lookup_opcode_gas_counts; + static constexpr Column INVERSES = Column::lookup_opcode_gas_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_opcode_val, + Column::main_base_l2_gas_op_cost, + Column::main_base_da_gas_op_cost, + Column::main_dyn_l2_gas_op_cost, + Column::main_dyn_da_gas_op_cost }; + static constexpr std::array DST_COLUMNS = { Column::main_clk, + Column::gas_base_l2_gas_fixed_table, + Column::gas_base_da_gas_fixed_table, + Column::gas_dyn_l2_gas_fixed_table, + Column::gas_dyn_da_gas_fixed_table }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_is_gas_accounted == 1 || in.gas_sel_gas_cost == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_is_gas_accounted); + const auto is_table_entry = View(in.gas_sel_gas_cost); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_opcode_gas_inv, + in.lookup_opcode_gas_counts, + in.main_is_gas_accounted, + in.gas_sel_gas_cost, + in.main_opcode_val, + in.main_base_l2_gas_op_cost, + in.main_base_da_gas_op_cost, + in.main_dyn_l2_gas_op_cost, + in.main_dyn_da_gas_op_cost, + in.main_clk, + in.gas_base_l2_gas_fixed_table, + in.gas_base_da_gas_fixed_table, + in.gas_dyn_l2_gas_fixed_table, + in.gas_dyn_da_gas_fixed_table); + } +}; + +template +class lookup_opcode_gas_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_OPCODE_GAS"; +}; +template using lookup_opcode_gas = GenericLookup; + +/////////////////// lookup_l2_gas_rng_chk_0 /////////////////// + +class lookup_l2_gas_rng_chk_0_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_l2_gas_rng_chk_0_counts; + static constexpr Column INVERSES = Column::lookup_l2_gas_rng_chk_0_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_l2_gas_u16_r0 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_is_gas_accounted); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_l2_gas_rng_chk_0_inv, + in.lookup_l2_gas_rng_chk_0_counts, + in.main_is_gas_accounted, + in.main_sel_rng_16, + in.main_l2_gas_u16_r0, + in.main_clk); + } +}; + +template +class lookup_l2_gas_rng_chk_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_L2_GAS_RNG_CHK_0"; +}; +template using lookup_l2_gas_rng_chk_0 = GenericLookup; + +/////////////////// lookup_l2_gas_rng_chk_1 /////////////////// + +class lookup_l2_gas_rng_chk_1_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_l2_gas_rng_chk_1_counts; + static constexpr Column INVERSES = Column::lookup_l2_gas_rng_chk_1_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_l2_gas_u16_r1 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_is_gas_accounted); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_l2_gas_rng_chk_1_inv, + in.lookup_l2_gas_rng_chk_1_counts, + in.main_is_gas_accounted, + in.main_sel_rng_16, + in.main_l2_gas_u16_r1, + in.main_clk); + } +}; + +template +class lookup_l2_gas_rng_chk_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_L2_GAS_RNG_CHK_1"; +}; +template using lookup_l2_gas_rng_chk_1 = GenericLookup; + +/////////////////// lookup_da_gas_rng_chk_0 /////////////////// + +class lookup_da_gas_rng_chk_0_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_da_gas_rng_chk_0_counts; + static constexpr Column INVERSES = Column::lookup_da_gas_rng_chk_0_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_da_gas_u16_r0 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_is_gas_accounted); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_da_gas_rng_chk_0_inv, + in.lookup_da_gas_rng_chk_0_counts, + in.main_is_gas_accounted, + in.main_sel_rng_16, + in.main_da_gas_u16_r0, + in.main_clk); + } +}; + +template +class lookup_da_gas_rng_chk_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_DA_GAS_RNG_CHK_0"; +}; +template using lookup_da_gas_rng_chk_0 = GenericLookup; + +/////////////////// lookup_da_gas_rng_chk_1 /////////////////// + +class lookup_da_gas_rng_chk_1_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_is_gas_accounted; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_da_gas_rng_chk_1_counts; + static constexpr Column INVERSES = Column::lookup_da_gas_rng_chk_1_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_da_gas_u16_r1 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_is_gas_accounted == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_is_gas_accounted); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_da_gas_rng_chk_1_inv, + in.lookup_da_gas_rng_chk_1_counts, + in.main_is_gas_accounted, + in.main_sel_rng_16, + in.main_da_gas_u16_r1, + in.main_clk); + } +}; + +template +class lookup_da_gas_rng_chk_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_DA_GAS_RNG_CHK_1"; +}; +template using lookup_da_gas_rng_chk_1 = GenericLookup; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_main_tag_err.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_main.hpp similarity index 51% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_main_tag_err.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_main.hpp index e17b895d3a3..556bef3c50a 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/incl_main_tag_err.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_main.hpp @@ -9,6 +9,8 @@ namespace bb::avm { +/////////////////// incl_main_tag_err /////////////////// + class incl_main_tag_err_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -70,4 +72,67 @@ class incl_main_tag_err_relation : public GenericLookupRelation using incl_main_tag_err = GenericLookup; +/////////////////// incl_mem_tag_err /////////////////// + +class incl_mem_tag_err_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_tag_err; + static constexpr Column DST_SELECTOR = Column::mem_tag_err; + static constexpr Column COUNTS = Column::incl_mem_tag_err_counts; + static constexpr Column INVERSES = Column::incl_mem_tag_err_inv; + static constexpr std::array SRC_COLUMNS = { Column::main_clk }; + static constexpr std::array DST_COLUMNS = { Column::mem_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_tag_err == 1 || in.mem_tag_err == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.main_tag_err); + const auto is_table_entry = View(in.mem_tag_err); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.incl_mem_tag_err_inv, + in.incl_mem_tag_err_counts, + in.main_tag_err, + in.mem_tag_err, + in.main_clk, + in.mem_clk); + } +}; + +template +class incl_mem_tag_err_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "INCL_MEM_TAG_ERR"; +}; +template using incl_mem_tag_err = GenericLookup; + } // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem.hpp new file mode 100644 index 00000000000..5816939d3ac --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem.hpp @@ -0,0 +1,201 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// lookup_mem_rng_chk_0 /////////////////// + +class lookup_mem_rng_chk_0_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_mem_rng_chk_0_counts; + static constexpr Column INVERSES = Column::lookup_mem_rng_chk_0_inv; + static constexpr std::array SRC_COLUMNS = { Column::mem_u16_r0 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.mem_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_mem_rng_chk_0_inv, + in.lookup_mem_rng_chk_0_counts, + in.mem_sel_rng_chk, + in.main_sel_rng_16, + in.mem_u16_r0, + in.main_clk); + } +}; + +template +class lookup_mem_rng_chk_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_0"; +}; +template using lookup_mem_rng_chk_0 = GenericLookup; + +/////////////////// lookup_mem_rng_chk_1 /////////////////// + +class lookup_mem_rng_chk_1_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_mem_rng_chk_1_counts; + static constexpr Column INVERSES = Column::lookup_mem_rng_chk_1_inv; + static constexpr std::array SRC_COLUMNS = { Column::mem_u16_r1 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.mem_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_mem_rng_chk_1_inv, + in.lookup_mem_rng_chk_1_counts, + in.mem_sel_rng_chk, + in.main_sel_rng_16, + in.mem_u16_r1, + in.main_clk); + } +}; + +template +class lookup_mem_rng_chk_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_1"; +}; +template using lookup_mem_rng_chk_1 = GenericLookup; + +/////////////////// lookup_mem_rng_chk_2 /////////////////// + +class lookup_mem_rng_chk_2_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::mem_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; + static constexpr Column COUNTS = Column::lookup_mem_rng_chk_2_counts; + static constexpr Column INVERSES = Column::lookup_mem_rng_chk_2_inv; + static constexpr std::array SRC_COLUMNS = { Column::mem_u8_r0 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.mem_sel_rng_chk == 1 || in.main_sel_rng_8 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.mem_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_8); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_mem_rng_chk_2_inv, + in.lookup_mem_rng_chk_2_counts, + in.mem_sel_rng_chk, + in.main_sel_rng_8, + in.mem_u8_r0, + in.main_clk); + } +}; + +template +class lookup_mem_rng_chk_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_MEM_RNG_CHK_2"; +}; +template using lookup_mem_rng_chk_2 = GenericLookup; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_ret_value.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem_slice.hpp similarity index 51% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_ret_value.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem_slice.hpp index 1d4d546e8af..bb3ad7a759e 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookup_ret_value.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_mem_slice.hpp @@ -9,6 +9,74 @@ namespace bb::avm { +/////////////////// lookup_cd_value /////////////////// + +class lookup_cd_value_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 2; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::slice_sel_cd_cpy; + static constexpr Column DST_SELECTOR = Column::main_sel_calldata; + static constexpr Column COUNTS = Column::lookup_cd_value_counts; + static constexpr Column INVERSES = Column::lookup_cd_value_inv; + static constexpr std::array SRC_COLUMNS = { Column::slice_col_offset, + Column::slice_val }; + static constexpr std::array DST_COLUMNS = { Column::main_clk, Column::main_calldata }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.slice_sel_cd_cpy == 1 || in.main_sel_calldata == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.slice_sel_cd_cpy); + const auto is_table_entry = View(in.main_sel_calldata); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_cd_value_inv, + in.lookup_cd_value_counts, + in.slice_sel_cd_cpy, + in.main_sel_calldata, + in.slice_col_offset, + in.slice_val, + in.main_clk, + in.main_calldata); + } +}; + +template +class lookup_cd_value_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_CD_VALUE"; +}; +template using lookup_cd_value = GenericLookup; + +/////////////////// lookup_ret_value /////////////////// + class lookup_ret_value_lookup_settings { public: static constexpr size_t READ_TERMS = 1; diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_range_check.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_range_check.hpp new file mode 100644 index 00000000000..1d0cb022d8e --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/lookups_range_check.hpp @@ -0,0 +1,646 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// lookup_rng_chk_pow_2 /////////////////// + +class lookup_rng_chk_pow_2_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 2; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_8; + static constexpr Column COUNTS = Column::lookup_rng_chk_pow_2_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_pow_2_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_rng_chk_bits, + Column::range_check_dyn_rng_chk_pow_2 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk, + Column::powers_power_of_2 }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_8 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_8); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_pow_2_inv, + in.lookup_rng_chk_pow_2_counts, + in.range_check_sel_rng_chk, + in.main_sel_rng_8, + in.range_check_dyn_rng_chk_bits, + in.range_check_dyn_rng_chk_pow_2, + in.main_clk, + in.powers_power_of_2); + } +}; + +template +class lookup_rng_chk_pow_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_POW_2"; +}; +template using lookup_rng_chk_pow_2 = GenericLookup; + +/////////////////// lookup_rng_chk_diff /////////////////// + +class lookup_rng_chk_diff_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_diff_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_diff_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_diff }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_diff_inv, + in.lookup_rng_chk_diff_counts, + in.range_check_sel_rng_chk, + in.main_sel_rng_16, + in.range_check_dyn_diff, + in.main_clk); + } +}; + +template +class lookup_rng_chk_diff_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_DIFF"; +}; +template using lookup_rng_chk_diff = GenericLookup; + +/////////////////// lookup_rng_chk_0 /////////////////// + +class lookup_rng_chk_0_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_0; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_0_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_0_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r0 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_0 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_0); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_0_inv, + in.lookup_rng_chk_0_counts, + in.range_check_sel_lookup_0, + in.main_sel_rng_16, + in.range_check_u16_r0, + in.main_clk); + } +}; + +template +class lookup_rng_chk_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_0"; +}; +template using lookup_rng_chk_0 = GenericLookup; + +/////////////////// lookup_rng_chk_1 /////////////////// + +class lookup_rng_chk_1_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_1; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_1_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_1_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r1 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_1 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_1); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_1_inv, + in.lookup_rng_chk_1_counts, + in.range_check_sel_lookup_1, + in.main_sel_rng_16, + in.range_check_u16_r1, + in.main_clk); + } +}; + +template +class lookup_rng_chk_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_1"; +}; +template using lookup_rng_chk_1 = GenericLookup; + +/////////////////// lookup_rng_chk_2 /////////////////// + +class lookup_rng_chk_2_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_2; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_2_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_2_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r2 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_2 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_2); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_2_inv, + in.lookup_rng_chk_2_counts, + in.range_check_sel_lookup_2, + in.main_sel_rng_16, + in.range_check_u16_r2, + in.main_clk); + } +}; + +template +class lookup_rng_chk_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_2"; +}; +template using lookup_rng_chk_2 = GenericLookup; + +/////////////////// lookup_rng_chk_3 /////////////////// + +class lookup_rng_chk_3_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_3; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_3_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_3_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r3 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_3 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_3); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_3_inv, + in.lookup_rng_chk_3_counts, + in.range_check_sel_lookup_3, + in.main_sel_rng_16, + in.range_check_u16_r3, + in.main_clk); + } +}; + +template +class lookup_rng_chk_3_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_3"; +}; +template using lookup_rng_chk_3 = GenericLookup; + +/////////////////// lookup_rng_chk_4 /////////////////// + +class lookup_rng_chk_4_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_4; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_4_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_4_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r4 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_4 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_4); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_4_inv, + in.lookup_rng_chk_4_counts, + in.range_check_sel_lookup_4, + in.main_sel_rng_16, + in.range_check_u16_r4, + in.main_clk); + } +}; + +template +class lookup_rng_chk_4_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_4"; +}; +template using lookup_rng_chk_4 = GenericLookup; + +/////////////////// lookup_rng_chk_5 /////////////////// + +class lookup_rng_chk_5_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_5; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_5_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_5_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r5 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_5 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_5); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_5_inv, + in.lookup_rng_chk_5_counts, + in.range_check_sel_lookup_5, + in.main_sel_rng_16, + in.range_check_u16_r5, + in.main_clk); + } +}; + +template +class lookup_rng_chk_5_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_5"; +}; +template using lookup_rng_chk_5 = GenericLookup; + +/////////////////// lookup_rng_chk_6 /////////////////// + +class lookup_rng_chk_6_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_lookup_6; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_6_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_6_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r6 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_lookup_6 == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_lookup_6); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_6_inv, + in.lookup_rng_chk_6_counts, + in.range_check_sel_lookup_6, + in.main_sel_rng_16, + in.range_check_u16_r6, + in.main_clk); + } +}; + +template +class lookup_rng_chk_6_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_6"; +}; +template using lookup_rng_chk_6 = GenericLookup; + +/////////////////// lookup_rng_chk_7 /////////////////// + +class lookup_rng_chk_7_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_rng_chk; + static constexpr Column DST_SELECTOR = Column::main_sel_rng_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_7_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_7_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r7 }; + static constexpr std::array DST_COLUMNS = { Column::main_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_rng_chk == 1 || in.main_sel_rng_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_rng_chk); + const auto is_table_entry = View(in.main_sel_rng_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_7_inv, + in.lookup_rng_chk_7_counts, + in.range_check_sel_rng_chk, + in.main_sel_rng_16, + in.range_check_u16_r7, + in.main_clk); + } +}; + +template +class lookup_rng_chk_7_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_7"; +}; +template using lookup_rng_chk_7 = GenericLookup; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_alu.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_alu.hpp deleted file mode 100644 index 363330c0e32..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_alu.hpp +++ /dev/null @@ -1,115 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_alu_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 16; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_alu; - static constexpr Column DST_SELECTOR = Column::alu_sel_alu; - static constexpr Column INVERSES = Column::perm_main_alu_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_alu == 1 || in.alu_sel_alu == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_alu_inv, - in.main_sel_alu, - in.main_sel_alu, - in.alu_sel_alu, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_sel_op_add, - in.main_sel_op_sub, - in.main_sel_op_mul, - in.main_sel_op_div, - in.main_sel_op_eq, - in.main_sel_op_not, - in.main_sel_op_cast, - in.main_sel_op_lt, - in.main_sel_op_lte, - in.main_sel_op_shr, - in.main_sel_op_shl, - in.main_alu_in_tag, - in.alu_clk, - in.alu_ia, - in.alu_ib, - in.alu_ic, - in.alu_op_add, - in.alu_op_sub, - in.alu_op_mul, - in.alu_op_div, - in.alu_op_eq, - in.alu_op_not, - in.alu_op_cast, - in.alu_op_lt, - in.alu_op_lte, - in.alu_op_shr, - in.alu_op_shl, - in.alu_in_tag); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_alu_inv, - in.main_sel_alu, - in.main_sel_alu, - in.alu_sel_alu, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_sel_op_add, - in.main_sel_op_sub, - in.main_sel_op_mul, - in.main_sel_op_div, - in.main_sel_op_eq, - in.main_sel_op_not, - in.main_sel_op_cast, - in.main_sel_op_lt, - in.main_sel_op_lte, - in.main_sel_op_shr, - in.main_sel_op_shl, - in.main_alu_in_tag, - in.alu_clk, - in.alu_ia, - in.alu_ib, - in.alu_ic, - in.alu_op_add, - in.alu_op_sub, - in.alu_op_mul, - in.alu_op_div, - in.alu_op_eq, - in.alu_op_not, - in.alu_op_cast, - in.alu_op_lt, - in.alu_op_lte, - in.alu_op_shr, - in.alu_op_shl, - in.alu_in_tag); - } -}; - -template -class perm_main_alu_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_ALU"; -}; -template using perm_main_alu = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_bin.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_bin.hpp deleted file mode 100644 index 7f55dabfe6b..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_bin.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_bin_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 6; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_bin; - static constexpr Column DST_SELECTOR = Column::binary_start; - static constexpr Column INVERSES = Column::perm_main_bin_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_bin == 1 || in.binary_start == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_bin_inv, - in.main_sel_bin, - in.main_sel_bin, - in.binary_start, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_bin_op_id, - in.main_r_in_tag, - in.binary_clk, - in.binary_acc_ia, - in.binary_acc_ib, - in.binary_acc_ic, - in.binary_op_id, - in.binary_in_tag); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_bin_inv, - in.main_sel_bin, - in.main_sel_bin, - in.binary_start, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_bin_op_id, - in.main_r_in_tag, - in.binary_clk, - in.binary_acc_ia, - in.binary_acc_ib, - in.binary_acc_ic, - in.binary_op_id, - in.binary_in_tag); - } -}; - -template -class perm_main_bin_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_BIN"; -}; -template using perm_main_bin = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_conv.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_conv.hpp deleted file mode 100644 index 52b955b09fd..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_conv.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_conv_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_op_radix_be; - static constexpr Column DST_SELECTOR = Column::conversion_sel_to_radix_be; - static constexpr Column INVERSES = Column::perm_main_conv_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_op_radix_be == 1 || in.conversion_sel_to_radix_be == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_conv_inv, - in.main_sel_op_radix_be, - in.main_sel_op_radix_be, - in.conversion_sel_to_radix_be, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_id, - in.conversion_clk, - in.conversion_input, - in.conversion_radix, - in.conversion_num_limbs, - in.conversion_output_bits); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_conv_inv, - in.main_sel_op_radix_be, - in.main_sel_op_radix_be, - in.conversion_sel_to_radix_be, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.main_id, - in.conversion_clk, - in.conversion_input, - in.conversion_radix, - in.conversion_num_limbs, - in.conversion_output_bits); - } -}; - -template -class perm_main_conv_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_CONV"; -}; -template using perm_main_conv = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_a.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_a.hpp deleted file mode 100644 index 00dcc32980f..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_a.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_a_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 8; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_a; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_a; - static constexpr Column INVERSES = Column::perm_main_mem_a_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_mem_op_a == 1 || in.mem_sel_op_a == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_a_inv, - in.main_sel_mem_op_a, - in.main_sel_mem_op_a, - in.mem_sel_op_a, - in.main_clk, - in.main_space_id, - in.main_mem_addr_a, - in.main_ia, - in.main_rwa, - in.main_r_in_tag, - in.main_w_in_tag, - in.main_sel_mov_ia_to_ic, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag, - in.mem_sel_mov_ia_to_ic); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_a_inv, - in.main_sel_mem_op_a, - in.main_sel_mem_op_a, - in.mem_sel_op_a, - in.main_clk, - in.main_space_id, - in.main_mem_addr_a, - in.main_ia, - in.main_rwa, - in.main_r_in_tag, - in.main_w_in_tag, - in.main_sel_mov_ia_to_ic, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag, - in.mem_sel_mov_ia_to_ic); - } -}; - -template -class perm_main_mem_a_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_A"; -}; -template using perm_main_mem_a = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_b.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_b.hpp deleted file mode 100644 index 5281245386f..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_b.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_b_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 8; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_b; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_b; - static constexpr Column INVERSES = Column::perm_main_mem_b_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_mem_op_b == 1 || in.mem_sel_op_b == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_b_inv, - in.main_sel_mem_op_b, - in.main_sel_mem_op_b, - in.mem_sel_op_b, - in.main_clk, - in.main_space_id, - in.main_mem_addr_b, - in.main_ib, - in.main_rwb, - in.main_r_in_tag, - in.main_w_in_tag, - in.main_sel_mov_ib_to_ic, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag, - in.mem_sel_mov_ib_to_ic); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_b_inv, - in.main_sel_mem_op_b, - in.main_sel_mem_op_b, - in.mem_sel_op_b, - in.main_clk, - in.main_space_id, - in.main_mem_addr_b, - in.main_ib, - in.main_rwb, - in.main_r_in_tag, - in.main_w_in_tag, - in.main_sel_mov_ib_to_ic, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag, - in.mem_sel_mov_ib_to_ic); - } -}; - -template -class perm_main_mem_b_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_B"; -}; -template using perm_main_mem_b = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_c.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_c.hpp deleted file mode 100644 index 9d9512688fd..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_c.hpp +++ /dev/null @@ -1,79 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_c_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 7; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_c; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_c; - static constexpr Column INVERSES = Column::perm_main_mem_c_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_mem_op_c == 1 || in.mem_sel_op_c == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_c_inv, - in.main_sel_mem_op_c, - in.main_sel_mem_op_c, - in.mem_sel_op_c, - in.main_clk, - in.main_space_id, - in.main_mem_addr_c, - in.main_ic, - in.main_rwc, - in.main_r_in_tag, - in.main_w_in_tag, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_c_inv, - in.main_sel_mem_op_c, - in.main_sel_mem_op_c, - in.mem_sel_op_c, - in.main_clk, - in.main_space_id, - in.main_mem_addr_c, - in.main_ic, - in.main_rwc, - in.main_r_in_tag, - in.main_w_in_tag, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag); - } -}; - -template -class perm_main_mem_c_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_C"; -}; -template using perm_main_mem_c = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_d.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_d.hpp deleted file mode 100644 index 4c787ee0960..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_d.hpp +++ /dev/null @@ -1,79 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_d_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 7; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_d; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_d; - static constexpr Column INVERSES = Column::perm_main_mem_d_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_mem_op_d == 1 || in.mem_sel_op_d == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_d_inv, - in.main_sel_mem_op_d, - in.main_sel_mem_op_d, - in.mem_sel_op_d, - in.main_clk, - in.main_space_id, - in.main_mem_addr_d, - in.main_id, - in.main_rwd, - in.main_r_in_tag, - in.main_w_in_tag, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_d_inv, - in.main_sel_mem_op_d, - in.main_sel_mem_op_d, - in.mem_sel_op_d, - in.main_clk, - in.main_space_id, - in.main_mem_addr_d, - in.main_id, - in.main_rwd, - in.main_r_in_tag, - in.main_w_in_tag, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw, - in.mem_r_in_tag, - in.mem_w_in_tag); - } -}; - -template -class perm_main_mem_d_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_D"; -}; -template using perm_main_mem_d = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_a.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_a.hpp deleted file mode 100644 index 9f0a19fbf4b..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_a.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_ind_addr_a_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_a; - static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_a; - static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_a_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_resolve_ind_addr_a == 1 || in.mem_sel_resolve_ind_addr_a == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_a_inv, - in.main_sel_resolve_ind_addr_a, - in.main_sel_resolve_ind_addr_a, - in.mem_sel_resolve_ind_addr_a, - in.main_clk, - in.main_space_id, - in.main_ind_addr_a, - in.main_mem_addr_a, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_a_inv, - in.main_sel_resolve_ind_addr_a, - in.main_sel_resolve_ind_addr_a, - in.mem_sel_resolve_ind_addr_a, - in.main_clk, - in.main_space_id, - in.main_ind_addr_a, - in.main_mem_addr_a, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } -}; - -template -class perm_main_mem_ind_addr_a_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_A"; -}; -template -using perm_main_mem_ind_addr_a = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_b.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_b.hpp deleted file mode 100644 index 366498465e2..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_b.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_ind_addr_b_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_b; - static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_b; - static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_b_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_resolve_ind_addr_b == 1 || in.mem_sel_resolve_ind_addr_b == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_b_inv, - in.main_sel_resolve_ind_addr_b, - in.main_sel_resolve_ind_addr_b, - in.mem_sel_resolve_ind_addr_b, - in.main_clk, - in.main_space_id, - in.main_ind_addr_b, - in.main_mem_addr_b, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_b_inv, - in.main_sel_resolve_ind_addr_b, - in.main_sel_resolve_ind_addr_b, - in.mem_sel_resolve_ind_addr_b, - in.main_clk, - in.main_space_id, - in.main_ind_addr_b, - in.main_mem_addr_b, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } -}; - -template -class perm_main_mem_ind_addr_b_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_B"; -}; -template -using perm_main_mem_ind_addr_b = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_c.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_c.hpp deleted file mode 100644 index 4b318b84b59..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_c.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_ind_addr_c_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_c; - static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_c; - static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_c_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_resolve_ind_addr_c == 1 || in.mem_sel_resolve_ind_addr_c == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_c_inv, - in.main_sel_resolve_ind_addr_c, - in.main_sel_resolve_ind_addr_c, - in.mem_sel_resolve_ind_addr_c, - in.main_clk, - in.main_space_id, - in.main_ind_addr_c, - in.main_mem_addr_c, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_c_inv, - in.main_sel_resolve_ind_addr_c, - in.main_sel_resolve_ind_addr_c, - in.mem_sel_resolve_ind_addr_c, - in.main_clk, - in.main_space_id, - in.main_ind_addr_c, - in.main_mem_addr_c, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } -}; - -template -class perm_main_mem_ind_addr_c_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_C"; -}; -template -using perm_main_mem_ind_addr_c = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_d.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_d.hpp deleted file mode 100644 index 824a6616b3d..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_mem_ind_addr_d.hpp +++ /dev/null @@ -1,69 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_mem_ind_addr_d_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_d; - static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_d; - static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_d_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_resolve_ind_addr_d == 1 || in.mem_sel_resolve_ind_addr_d == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_d_inv, - in.main_sel_resolve_ind_addr_d, - in.main_sel_resolve_ind_addr_d, - in.mem_sel_resolve_ind_addr_d, - in.main_clk, - in.main_space_id, - in.main_ind_addr_d, - in.main_mem_addr_d, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_mem_ind_addr_d_inv, - in.main_sel_resolve_ind_addr_d, - in.main_sel_resolve_ind_addr_d, - in.mem_sel_resolve_ind_addr_d, - in.main_clk, - in.main_space_id, - in.main_ind_addr_d, - in.main_mem_addr_d, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val); - } -}; - -template -class perm_main_mem_ind_addr_d_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_D"; -}; -template -using perm_main_mem_ind_addr_d = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_pos2_perm.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_pos2_perm.hpp deleted file mode 100644 index f96735310ff..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_pos2_perm.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_pos2_perm_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_op_poseidon2; - static constexpr Column DST_SELECTOR = Column::poseidon2_sel_poseidon_perm; - static constexpr Column INVERSES = Column::perm_main_pos2_perm_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_op_poseidon2 == 1 || in.poseidon2_sel_poseidon_perm == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_pos2_perm_inv, - in.main_sel_op_poseidon2, - in.main_sel_op_poseidon2, - in.poseidon2_sel_poseidon_perm, - in.main_clk, - in.main_space_id, - in.main_mem_addr_a, - in.main_mem_addr_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_input_addr, - in.poseidon2_output_addr); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_pos2_perm_inv, - in.main_sel_op_poseidon2, - in.main_sel_op_poseidon2, - in.poseidon2_sel_poseidon_perm, - in.main_clk, - in.main_space_id, - in.main_mem_addr_a, - in.main_mem_addr_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_input_addr, - in.poseidon2_output_addr); - } -}; - -template -class perm_main_pos2_perm_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_POS2_PERM"; -}; -template using perm_main_pos2_perm = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_sha256.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_sha256.hpp deleted file mode 100644 index 0e5068bd5ac..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_main_sha256.hpp +++ /dev/null @@ -1,67 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_main_sha256_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 4; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::main_sel_op_sha256; - static constexpr Column DST_SELECTOR = Column::sha256_sel_sha256_compression; - static constexpr Column INVERSES = Column::perm_main_sha256_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.main_sel_op_sha256 == 1 || in.sha256_sel_sha256_compression == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_sha256_inv, - in.main_sel_op_sha256, - in.main_sel_op_sha256, - in.sha256_sel_sha256_compression, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.sha256_clk, - in.sha256_state, - in.sha256_input, - in.sha256_output); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_main_sha256_inv, - in.main_sel_op_sha256, - in.main_sel_op_sha256, - in.sha256_sel_sha256_compression, - in.main_clk, - in.main_ia, - in.main_ib, - in.main_ic, - in.sha256_clk, - in.sha256_state, - in.sha256_input, - in.sha256_output); - } -}; - -template -class perm_main_sha256_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_MAIN_SHA256"; -}; -template using perm_main_sha256 = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_a.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_a.hpp deleted file mode 100644 index c9d6d37a8a4..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_a.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_read_a_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_a; - static constexpr Column INVERSES = Column::perm_pos_mem_read_a_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_a == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_a_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_a, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_a, - in.poseidon2_a_0, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_a_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_a, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_a, - in.poseidon2_a_0, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_read_a_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_READ_A"; -}; -template using perm_pos_mem_read_a = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_b.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_b.hpp deleted file mode 100644 index 0c061507991..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_b.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_read_b_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_b; - static constexpr Column INVERSES = Column::perm_pos_mem_read_b_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_b == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_b_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_b, - in.poseidon2_a_1, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_b_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_b, - in.poseidon2_a_1, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_read_b_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_READ_B"; -}; -template using perm_pos_mem_read_b = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_c.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_c.hpp deleted file mode 100644 index 3dbf72feb8b..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_c.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_read_c_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_c; - static constexpr Column INVERSES = Column::perm_pos_mem_read_c_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_c == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_c_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_c, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_c, - in.poseidon2_a_2, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_c_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_c, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_c, - in.poseidon2_a_2, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_read_c_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_READ_C"; -}; -template using perm_pos_mem_read_c = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_d.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_d.hpp deleted file mode 100644 index f1131b0ef64..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_read_d.hpp +++ /dev/null @@ -1,71 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_read_d_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_d; - static constexpr Column INVERSES = Column::perm_pos_mem_read_d_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_d == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_d_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_d, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_d, - in.poseidon2_a_3, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_read_d_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_read_d, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_read_d, - in.poseidon2_a_3, - in.main_zeroes, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_read_d_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_READ_D"; -}; -template using perm_pos_mem_read_d = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_a.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_a.hpp deleted file mode 100644 index 84a3748dea6..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_a.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_write_a_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_a; - static constexpr Column INVERSES = Column::perm_pos_mem_write_a_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_a == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_a_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_a, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_a, - in.poseidon2_b_0, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_a_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_a, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_a, - in.poseidon2_b_0, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_write_a_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_WRITE_A"; -}; -template using perm_pos_mem_write_a = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_b.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_b.hpp deleted file mode 100644 index d665cb6220b..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_b.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_write_b_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_b; - static constexpr Column INVERSES = Column::perm_pos_mem_write_b_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_b == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_b_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_b, - in.poseidon2_b_1, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_b_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_b, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_b, - in.poseidon2_b_1, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_write_b_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_WRITE_B"; -}; -template using perm_pos_mem_write_b = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_c.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_c.hpp deleted file mode 100644 index 730946d69f1..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_c.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_write_c_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_c; - static constexpr Column INVERSES = Column::perm_pos_mem_write_c_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_c == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_c_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_c, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_c, - in.poseidon2_b_2, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_c_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_c, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_c, - in.poseidon2_b_2, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_write_c_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_WRITE_C"; -}; -template using perm_pos_mem_write_c = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_d.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_d.hpp deleted file mode 100644 index 570581548dd..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos_mem_write_d.hpp +++ /dev/null @@ -1,72 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_pos_mem_write_d_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 5; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; - static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_d; - static constexpr Column INVERSES = Column::perm_pos_mem_write_d_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_d == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_d_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_d, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_d, - in.poseidon2_b_3, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_pos_mem_write_d_inv, - in.poseidon2_sel_poseidon_perm_mem_op, - in.poseidon2_sel_poseidon_perm_mem_op, - in.mem_sel_op_poseidon_write_d, - in.poseidon2_clk, - in.poseidon2_space_id, - in.poseidon2_mem_addr_write_d, - in.poseidon2_b_3, - in.poseidon2_sel_poseidon_perm, - in.mem_clk, - in.mem_space_id, - in.mem_addr, - in.mem_val, - in.mem_rw); - } -}; - -template -class perm_pos_mem_write_d_relation - : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_POS_MEM_WRITE_D"; -}; -template using perm_pos_mem_write_d = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_alu.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_alu.hpp deleted file mode 100644 index 508be9f2804..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_alu.hpp +++ /dev/null @@ -1,63 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_rng_alu_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 3; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_alu_rng_chk; - static constexpr Column DST_SELECTOR = Column::alu_range_check_sel; - static constexpr Column INVERSES = Column::perm_rng_alu_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_alu_rng_chk == 1 || in.alu_range_check_sel == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_alu_inv, - in.range_check_alu_rng_chk, - in.range_check_alu_rng_chk, - in.alu_range_check_sel, - in.range_check_clk, - in.range_check_value, - in.range_check_rng_chk_bits, - in.alu_clk, - in.alu_range_check_input_value, - in.alu_range_check_num_bits); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_alu_inv, - in.range_check_alu_rng_chk, - in.range_check_alu_rng_chk, - in.alu_range_check_sel, - in.range_check_clk, - in.range_check_value, - in.range_check_rng_chk_bits, - in.alu_clk, - in.alu_range_check_input_value, - in.alu_range_check_num_bits); - } -}; - -template -class perm_rng_alu_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_RNG_ALU"; -}; -template using perm_rng_alu = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_hi.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_hi.hpp deleted file mode 100644 index f60dd58f6e7..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_hi.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_rng_cmp_hi_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 2; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_cmp_hi_bits_rng_chk; - static constexpr Column DST_SELECTOR = Column::cmp_sel_rng_chk; - static constexpr Column INVERSES = Column::perm_rng_cmp_hi_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_cmp_hi_bits_rng_chk == 1 || in.cmp_sel_rng_chk == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_cmp_hi_inv, - in.range_check_cmp_hi_bits_rng_chk, - in.range_check_cmp_hi_bits_rng_chk, - in.cmp_sel_rng_chk, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_a_hi); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_cmp_hi_inv, - in.range_check_cmp_hi_bits_rng_chk, - in.range_check_cmp_hi_bits_rng_chk, - in.cmp_sel_rng_chk, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_a_hi); - } -}; - -template -class perm_rng_cmp_hi_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_RNG_CMP_HI"; -}; -template using perm_rng_cmp_hi = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_lo.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_lo.hpp deleted file mode 100644 index fe8426fc536..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_cmp_lo.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_rng_cmp_lo_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 2; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_cmp_lo_bits_rng_chk; - static constexpr Column DST_SELECTOR = Column::cmp_sel_rng_chk; - static constexpr Column INVERSES = Column::perm_rng_cmp_lo_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_cmp_lo_bits_rng_chk == 1 || in.cmp_sel_rng_chk == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_cmp_lo_inv, - in.range_check_cmp_lo_bits_rng_chk, - in.range_check_cmp_lo_bits_rng_chk, - in.cmp_sel_rng_chk, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_a_lo); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_cmp_lo_inv, - in.range_check_cmp_lo_bits_rng_chk, - in.range_check_cmp_lo_bits_rng_chk, - in.cmp_sel_rng_chk, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_a_lo); - } -}; - -template -class perm_rng_cmp_lo_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_RNG_CMP_LO"; -}; -template using perm_rng_cmp_lo = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_non_ff_cmp.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_non_ff_cmp.hpp deleted file mode 100644 index b07bb1e4b5b..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_rng_non_ff_cmp.hpp +++ /dev/null @@ -1,59 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" - -#include -#include - -namespace bb::avm { - -class perm_rng_non_ff_cmp_permutation_settings { - public: - // This constant defines how many columns are bundled together to form each set. - constexpr static size_t COLUMNS_PER_SET = 2; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_cmp_non_ff_rng_chk; - static constexpr Column DST_SELECTOR = Column::cmp_op_non_ff_gt; - static constexpr Column INVERSES = Column::perm_rng_non_ff_cmp_inv; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_cmp_non_ff_rng_chk == 1 || in.cmp_op_non_ff_gt == 1); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_non_ff_cmp_inv, - in.range_check_cmp_non_ff_rng_chk, - in.range_check_cmp_non_ff_rng_chk, - in.cmp_op_non_ff_gt, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_diff); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return std::forward_as_tuple(in.perm_rng_non_ff_cmp_inv, - in.range_check_cmp_non_ff_rng_chk, - in.range_check_cmp_non_ff_rng_chk, - in.cmp_op_non_ff_gt, - in.range_check_clk, - in.range_check_value, - in.cmp_range_chk_clk, - in.cmp_diff); - } -}; - -template -class perm_rng_non_ff_cmp_relation : public GenericPermutationRelation { - public: - static constexpr const char* NAME = "PERM_RNG_NON_FF_CMP"; -}; -template using perm_rng_non_ff_cmp = GenericPermutation; - -} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_cmp_alu.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_alu.hpp similarity index 57% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_cmp_alu.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_alu.hpp index 2830de59c49..21370c94e81 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_cmp_alu.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_alu.hpp @@ -9,6 +9,61 @@ namespace bb::avm { +/////////////////// perm_rng_alu /////////////////// + +class perm_rng_alu_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 3; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_alu_rng_chk; + static constexpr Column DST_SELECTOR = Column::alu_range_check_sel; + static constexpr Column INVERSES = Column::perm_rng_alu_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_alu_rng_chk == 1 || in.alu_range_check_sel == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_alu_inv, + in.range_check_alu_rng_chk, + in.range_check_alu_rng_chk, + in.alu_range_check_sel, + in.range_check_clk, + in.range_check_value, + in.range_check_rng_chk_bits, + in.alu_clk, + in.alu_range_check_input_value, + in.alu_range_check_num_bits); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_alu_inv, + in.range_check_alu_rng_chk, + in.range_check_alu_rng_chk, + in.alu_range_check_sel, + in.range_check_clk, + in.range_check_value, + in.range_check_rng_chk_bits, + in.alu_clk, + in.alu_range_check_input_value, + in.alu_range_check_num_bits); + } +}; + +template +class perm_rng_alu_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_RNG_ALU"; +}; +template using perm_rng_alu = GenericPermutation; + +/////////////////// perm_cmp_alu /////////////////// + class perm_cmp_alu_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_cmp.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_cmp.hpp new file mode 100644 index 00000000000..1781a3a24b0 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_cmp.hpp @@ -0,0 +1,159 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// perm_rng_non_ff_cmp /////////////////// + +class perm_rng_non_ff_cmp_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 2; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_cmp_non_ff_rng_chk; + static constexpr Column DST_SELECTOR = Column::cmp_op_non_ff_gt; + static constexpr Column INVERSES = Column::perm_rng_non_ff_cmp_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_cmp_non_ff_rng_chk == 1 || in.cmp_op_non_ff_gt == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_non_ff_cmp_inv, + in.range_check_cmp_non_ff_rng_chk, + in.range_check_cmp_non_ff_rng_chk, + in.cmp_op_non_ff_gt, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_diff); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_non_ff_cmp_inv, + in.range_check_cmp_non_ff_rng_chk, + in.range_check_cmp_non_ff_rng_chk, + in.cmp_op_non_ff_gt, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_diff); + } +}; + +template +class perm_rng_non_ff_cmp_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_RNG_NON_FF_CMP"; +}; +template using perm_rng_non_ff_cmp = GenericPermutation; + +/////////////////// perm_rng_cmp_lo /////////////////// + +class perm_rng_cmp_lo_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 2; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_cmp_lo_bits_rng_chk; + static constexpr Column DST_SELECTOR = Column::cmp_sel_rng_chk; + static constexpr Column INVERSES = Column::perm_rng_cmp_lo_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_cmp_lo_bits_rng_chk == 1 || in.cmp_sel_rng_chk == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_cmp_lo_inv, + in.range_check_cmp_lo_bits_rng_chk, + in.range_check_cmp_lo_bits_rng_chk, + in.cmp_sel_rng_chk, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_a_lo); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_cmp_lo_inv, + in.range_check_cmp_lo_bits_rng_chk, + in.range_check_cmp_lo_bits_rng_chk, + in.cmp_sel_rng_chk, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_a_lo); + } +}; + +template +class perm_rng_cmp_lo_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_RNG_CMP_LO"; +}; +template using perm_rng_cmp_lo = GenericPermutation; + +/////////////////// perm_rng_cmp_hi /////////////////// + +class perm_rng_cmp_hi_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 2; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_cmp_hi_bits_rng_chk; + static constexpr Column DST_SELECTOR = Column::cmp_sel_rng_chk; + static constexpr Column INVERSES = Column::perm_rng_cmp_hi_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_cmp_hi_bits_rng_chk == 1 || in.cmp_sel_rng_chk == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_cmp_hi_inv, + in.range_check_cmp_hi_bits_rng_chk, + in.range_check_cmp_hi_bits_rng_chk, + in.cmp_sel_rng_chk, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_a_hi); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_rng_cmp_hi_inv, + in.range_check_cmp_hi_bits_rng_chk, + in.range_check_cmp_hi_bits_rng_chk, + in.cmp_sel_rng_chk, + in.range_check_clk, + in.range_check_value, + in.cmp_range_chk_clk, + in.cmp_a_hi); + } +}; + +template +class perm_rng_cmp_hi_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_RNG_CMP_HI"; +}; +template using perm_rng_cmp_hi = GenericPermutation; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_main.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_main.hpp new file mode 100644 index 00000000000..7851ea1b3a0 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_main.hpp @@ -0,0 +1,877 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// perm_main_alu /////////////////// + +class perm_main_alu_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 16; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_alu; + static constexpr Column DST_SELECTOR = Column::alu_sel_alu; + static constexpr Column INVERSES = Column::perm_main_alu_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_alu == 1 || in.alu_sel_alu == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_alu_inv, + in.main_sel_alu, + in.main_sel_alu, + in.alu_sel_alu, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_sel_op_add, + in.main_sel_op_sub, + in.main_sel_op_mul, + in.main_sel_op_div, + in.main_sel_op_eq, + in.main_sel_op_not, + in.main_sel_op_cast, + in.main_sel_op_lt, + in.main_sel_op_lte, + in.main_sel_op_shr, + in.main_sel_op_shl, + in.main_alu_in_tag, + in.alu_clk, + in.alu_ia, + in.alu_ib, + in.alu_ic, + in.alu_op_add, + in.alu_op_sub, + in.alu_op_mul, + in.alu_op_div, + in.alu_op_eq, + in.alu_op_not, + in.alu_op_cast, + in.alu_op_lt, + in.alu_op_lte, + in.alu_op_shr, + in.alu_op_shl, + in.alu_in_tag); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_alu_inv, + in.main_sel_alu, + in.main_sel_alu, + in.alu_sel_alu, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_sel_op_add, + in.main_sel_op_sub, + in.main_sel_op_mul, + in.main_sel_op_div, + in.main_sel_op_eq, + in.main_sel_op_not, + in.main_sel_op_cast, + in.main_sel_op_lt, + in.main_sel_op_lte, + in.main_sel_op_shr, + in.main_sel_op_shl, + in.main_alu_in_tag, + in.alu_clk, + in.alu_ia, + in.alu_ib, + in.alu_ic, + in.alu_op_add, + in.alu_op_sub, + in.alu_op_mul, + in.alu_op_div, + in.alu_op_eq, + in.alu_op_not, + in.alu_op_cast, + in.alu_op_lt, + in.alu_op_lte, + in.alu_op_shr, + in.alu_op_shl, + in.alu_in_tag); + } +}; + +template +class perm_main_alu_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_ALU"; +}; +template using perm_main_alu = GenericPermutation; + +/////////////////// perm_main_bin /////////////////// + +class perm_main_bin_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 6; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_bin; + static constexpr Column DST_SELECTOR = Column::binary_start; + static constexpr Column INVERSES = Column::perm_main_bin_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_bin == 1 || in.binary_start == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_bin_inv, + in.main_sel_bin, + in.main_sel_bin, + in.binary_start, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_bin_op_id, + in.main_r_in_tag, + in.binary_clk, + in.binary_acc_ia, + in.binary_acc_ib, + in.binary_acc_ic, + in.binary_op_id, + in.binary_in_tag); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_bin_inv, + in.main_sel_bin, + in.main_sel_bin, + in.binary_start, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_bin_op_id, + in.main_r_in_tag, + in.binary_clk, + in.binary_acc_ia, + in.binary_acc_ib, + in.binary_acc_ic, + in.binary_op_id, + in.binary_in_tag); + } +}; + +template +class perm_main_bin_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_BIN"; +}; +template using perm_main_bin = GenericPermutation; + +/////////////////// perm_main_conv /////////////////// + +class perm_main_conv_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_op_radix_be; + static constexpr Column DST_SELECTOR = Column::conversion_sel_to_radix_be; + static constexpr Column INVERSES = Column::perm_main_conv_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_op_radix_be == 1 || in.conversion_sel_to_radix_be == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_conv_inv, + in.main_sel_op_radix_be, + in.main_sel_op_radix_be, + in.conversion_sel_to_radix_be, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_id, + in.conversion_clk, + in.conversion_input, + in.conversion_radix, + in.conversion_num_limbs, + in.conversion_output_bits); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_conv_inv, + in.main_sel_op_radix_be, + in.main_sel_op_radix_be, + in.conversion_sel_to_radix_be, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.main_id, + in.conversion_clk, + in.conversion_input, + in.conversion_radix, + in.conversion_num_limbs, + in.conversion_output_bits); + } +}; + +template +class perm_main_conv_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_CONV"; +}; +template using perm_main_conv = GenericPermutation; + +/////////////////// perm_main_sha256 /////////////////// + +class perm_main_sha256_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_op_sha256; + static constexpr Column DST_SELECTOR = Column::sha256_sel_sha256_compression; + static constexpr Column INVERSES = Column::perm_main_sha256_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_op_sha256 == 1 || in.sha256_sel_sha256_compression == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_sha256_inv, + in.main_sel_op_sha256, + in.main_sel_op_sha256, + in.sha256_sel_sha256_compression, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.sha256_clk, + in.sha256_state, + in.sha256_input, + in.sha256_output); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_sha256_inv, + in.main_sel_op_sha256, + in.main_sel_op_sha256, + in.sha256_sel_sha256_compression, + in.main_clk, + in.main_ia, + in.main_ib, + in.main_ic, + in.sha256_clk, + in.sha256_state, + in.sha256_input, + in.sha256_output); + } +}; + +template +class perm_main_sha256_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_SHA256"; +}; +template using perm_main_sha256 = GenericPermutation; + +/////////////////// perm_main_pos2_perm /////////////////// + +class perm_main_pos2_perm_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_op_poseidon2; + static constexpr Column DST_SELECTOR = Column::poseidon2_sel_poseidon_perm; + static constexpr Column INVERSES = Column::perm_main_pos2_perm_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_op_poseidon2 == 1 || in.poseidon2_sel_poseidon_perm == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_pos2_perm_inv, + in.main_sel_op_poseidon2, + in.main_sel_op_poseidon2, + in.poseidon2_sel_poseidon_perm, + in.main_clk, + in.main_space_id, + in.main_mem_addr_a, + in.main_mem_addr_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_input_addr, + in.poseidon2_output_addr); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_pos2_perm_inv, + in.main_sel_op_poseidon2, + in.main_sel_op_poseidon2, + in.poseidon2_sel_poseidon_perm, + in.main_clk, + in.main_space_id, + in.main_mem_addr_a, + in.main_mem_addr_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_input_addr, + in.poseidon2_output_addr); + } +}; + +template +class perm_main_pos2_perm_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_POS2_PERM"; +}; +template using perm_main_pos2_perm = GenericPermutation; + +/////////////////// perm_main_mem_a /////////////////// + +class perm_main_mem_a_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 8; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_a; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_a; + static constexpr Column INVERSES = Column::perm_main_mem_a_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_mem_op_a == 1 || in.mem_sel_op_a == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_a_inv, + in.main_sel_mem_op_a, + in.main_sel_mem_op_a, + in.mem_sel_op_a, + in.main_clk, + in.main_space_id, + in.main_mem_addr_a, + in.main_ia, + in.main_rwa, + in.main_r_in_tag, + in.main_w_in_tag, + in.main_sel_mov_ia_to_ic, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag, + in.mem_sel_mov_ia_to_ic); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_a_inv, + in.main_sel_mem_op_a, + in.main_sel_mem_op_a, + in.mem_sel_op_a, + in.main_clk, + in.main_space_id, + in.main_mem_addr_a, + in.main_ia, + in.main_rwa, + in.main_r_in_tag, + in.main_w_in_tag, + in.main_sel_mov_ia_to_ic, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag, + in.mem_sel_mov_ia_to_ic); + } +}; + +template +class perm_main_mem_a_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_A"; +}; +template using perm_main_mem_a = GenericPermutation; + +/////////////////// perm_main_mem_b /////////////////// + +class perm_main_mem_b_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 8; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_b; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_b; + static constexpr Column INVERSES = Column::perm_main_mem_b_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_mem_op_b == 1 || in.mem_sel_op_b == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_b_inv, + in.main_sel_mem_op_b, + in.main_sel_mem_op_b, + in.mem_sel_op_b, + in.main_clk, + in.main_space_id, + in.main_mem_addr_b, + in.main_ib, + in.main_rwb, + in.main_r_in_tag, + in.main_w_in_tag, + in.main_sel_mov_ib_to_ic, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag, + in.mem_sel_mov_ib_to_ic); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_b_inv, + in.main_sel_mem_op_b, + in.main_sel_mem_op_b, + in.mem_sel_op_b, + in.main_clk, + in.main_space_id, + in.main_mem_addr_b, + in.main_ib, + in.main_rwb, + in.main_r_in_tag, + in.main_w_in_tag, + in.main_sel_mov_ib_to_ic, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag, + in.mem_sel_mov_ib_to_ic); + } +}; + +template +class perm_main_mem_b_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_B"; +}; +template using perm_main_mem_b = GenericPermutation; + +/////////////////// perm_main_mem_c /////////////////// + +class perm_main_mem_c_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 7; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_c; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_c; + static constexpr Column INVERSES = Column::perm_main_mem_c_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_mem_op_c == 1 || in.mem_sel_op_c == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_c_inv, + in.main_sel_mem_op_c, + in.main_sel_mem_op_c, + in.mem_sel_op_c, + in.main_clk, + in.main_space_id, + in.main_mem_addr_c, + in.main_ic, + in.main_rwc, + in.main_r_in_tag, + in.main_w_in_tag, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_c_inv, + in.main_sel_mem_op_c, + in.main_sel_mem_op_c, + in.mem_sel_op_c, + in.main_clk, + in.main_space_id, + in.main_mem_addr_c, + in.main_ic, + in.main_rwc, + in.main_r_in_tag, + in.main_w_in_tag, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag); + } +}; + +template +class perm_main_mem_c_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_C"; +}; +template using perm_main_mem_c = GenericPermutation; + +/////////////////// perm_main_mem_d /////////////////// + +class perm_main_mem_d_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 7; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_mem_op_d; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_d; + static constexpr Column INVERSES = Column::perm_main_mem_d_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_mem_op_d == 1 || in.mem_sel_op_d == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_d_inv, + in.main_sel_mem_op_d, + in.main_sel_mem_op_d, + in.mem_sel_op_d, + in.main_clk, + in.main_space_id, + in.main_mem_addr_d, + in.main_id, + in.main_rwd, + in.main_r_in_tag, + in.main_w_in_tag, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_d_inv, + in.main_sel_mem_op_d, + in.main_sel_mem_op_d, + in.mem_sel_op_d, + in.main_clk, + in.main_space_id, + in.main_mem_addr_d, + in.main_id, + in.main_rwd, + in.main_r_in_tag, + in.main_w_in_tag, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw, + in.mem_r_in_tag, + in.mem_w_in_tag); + } +}; + +template +class perm_main_mem_d_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_D"; +}; +template using perm_main_mem_d = GenericPermutation; + +/////////////////// perm_main_mem_ind_addr_a /////////////////// + +class perm_main_mem_ind_addr_a_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_a; + static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_a; + static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_a_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_resolve_ind_addr_a == 1 || in.mem_sel_resolve_ind_addr_a == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_a_inv, + in.main_sel_resolve_ind_addr_a, + in.main_sel_resolve_ind_addr_a, + in.mem_sel_resolve_ind_addr_a, + in.main_clk, + in.main_space_id, + in.main_ind_addr_a, + in.main_mem_addr_a, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_a_inv, + in.main_sel_resolve_ind_addr_a, + in.main_sel_resolve_ind_addr_a, + in.mem_sel_resolve_ind_addr_a, + in.main_clk, + in.main_space_id, + in.main_ind_addr_a, + in.main_mem_addr_a, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } +}; + +template +class perm_main_mem_ind_addr_a_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_A"; +}; +template +using perm_main_mem_ind_addr_a = GenericPermutation; + +/////////////////// perm_main_mem_ind_addr_b /////////////////// + +class perm_main_mem_ind_addr_b_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_b; + static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_b; + static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_b_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_resolve_ind_addr_b == 1 || in.mem_sel_resolve_ind_addr_b == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_b_inv, + in.main_sel_resolve_ind_addr_b, + in.main_sel_resolve_ind_addr_b, + in.mem_sel_resolve_ind_addr_b, + in.main_clk, + in.main_space_id, + in.main_ind_addr_b, + in.main_mem_addr_b, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_b_inv, + in.main_sel_resolve_ind_addr_b, + in.main_sel_resolve_ind_addr_b, + in.mem_sel_resolve_ind_addr_b, + in.main_clk, + in.main_space_id, + in.main_ind_addr_b, + in.main_mem_addr_b, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } +}; + +template +class perm_main_mem_ind_addr_b_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_B"; +}; +template +using perm_main_mem_ind_addr_b = GenericPermutation; + +/////////////////// perm_main_mem_ind_addr_c /////////////////// + +class perm_main_mem_ind_addr_c_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_c; + static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_c; + static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_c_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_resolve_ind_addr_c == 1 || in.mem_sel_resolve_ind_addr_c == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_c_inv, + in.main_sel_resolve_ind_addr_c, + in.main_sel_resolve_ind_addr_c, + in.mem_sel_resolve_ind_addr_c, + in.main_clk, + in.main_space_id, + in.main_ind_addr_c, + in.main_mem_addr_c, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_c_inv, + in.main_sel_resolve_ind_addr_c, + in.main_sel_resolve_ind_addr_c, + in.mem_sel_resolve_ind_addr_c, + in.main_clk, + in.main_space_id, + in.main_ind_addr_c, + in.main_mem_addr_c, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } +}; + +template +class perm_main_mem_ind_addr_c_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_C"; +}; +template +using perm_main_mem_ind_addr_c = GenericPermutation; + +/////////////////// perm_main_mem_ind_addr_d /////////////////// + +class perm_main_mem_ind_addr_d_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 4; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::main_sel_resolve_ind_addr_d; + static constexpr Column DST_SELECTOR = Column::mem_sel_resolve_ind_addr_d; + static constexpr Column INVERSES = Column::perm_main_mem_ind_addr_d_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.main_sel_resolve_ind_addr_d == 1 || in.mem_sel_resolve_ind_addr_d == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_d_inv, + in.main_sel_resolve_ind_addr_d, + in.main_sel_resolve_ind_addr_d, + in.mem_sel_resolve_ind_addr_d, + in.main_clk, + in.main_space_id, + in.main_ind_addr_d, + in.main_mem_addr_d, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_main_mem_ind_addr_d_inv, + in.main_sel_resolve_ind_addr_d, + in.main_sel_resolve_ind_addr_d, + in.mem_sel_resolve_ind_addr_d, + in.main_clk, + in.main_space_id, + in.main_ind_addr_d, + in.main_mem_addr_d, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val); + } +}; + +template +class perm_main_mem_ind_addr_d_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_MAIN_MEM_IND_ADDR_D"; +}; +template +using perm_main_mem_ind_addr_d = GenericPermutation; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_slice_mem.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_mem_slice.hpp similarity index 98% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_slice_mem.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_mem_slice.hpp index 1ee3faa5c49..87776e1bb7b 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_slice_mem.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_mem_slice.hpp @@ -9,6 +9,8 @@ namespace bb::avm { +/////////////////// perm_slice_mem /////////////////// + class perm_slice_mem_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_merkle_poseidon2.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_merkle_tree.hpp similarity index 97% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_merkle_poseidon2.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_merkle_tree.hpp index 7932af800ff..22a7d58c6dc 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_merkle_poseidon2.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_merkle_tree.hpp @@ -9,6 +9,8 @@ namespace bb::avm { +/////////////////// perm_merkle_poseidon2 /////////////////// + class perm_merkle_poseidon2_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2.hpp new file mode 100644 index 00000000000..a386203514a --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2.hpp @@ -0,0 +1,504 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" + +#include +#include + +namespace bb::avm { + +/////////////////// perm_pos_mem_read_a /////////////////// + +class perm_pos_mem_read_a_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_a; + static constexpr Column INVERSES = Column::perm_pos_mem_read_a_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_a == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_a_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_a, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_a, + in.poseidon2_a_0, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_a_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_a, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_a, + in.poseidon2_a_0, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_read_a_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_READ_A"; +}; +template using perm_pos_mem_read_a = GenericPermutation; + +/////////////////// perm_pos_mem_read_b /////////////////// + +class perm_pos_mem_read_b_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_b; + static constexpr Column INVERSES = Column::perm_pos_mem_read_b_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_b == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_b_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_b, + in.poseidon2_a_1, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_b_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_b, + in.poseidon2_a_1, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_read_b_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_READ_B"; +}; +template using perm_pos_mem_read_b = GenericPermutation; + +/////////////////// perm_pos_mem_read_c /////////////////// + +class perm_pos_mem_read_c_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_c; + static constexpr Column INVERSES = Column::perm_pos_mem_read_c_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_c == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_c_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_c, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_c, + in.poseidon2_a_2, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_c_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_c, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_c, + in.poseidon2_a_2, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_read_c_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_READ_C"; +}; +template using perm_pos_mem_read_c = GenericPermutation; + +/////////////////// perm_pos_mem_read_d /////////////////// + +class perm_pos_mem_read_d_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_read_d; + static constexpr Column INVERSES = Column::perm_pos_mem_read_d_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_read_d == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_d_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_d, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_d, + in.poseidon2_a_3, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_read_d_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_read_d, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_read_d, + in.poseidon2_a_3, + in.main_zeroes, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_read_d_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_READ_D"; +}; +template using perm_pos_mem_read_d = GenericPermutation; + +/////////////////// perm_pos_mem_write_a /////////////////// + +class perm_pos_mem_write_a_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_a; + static constexpr Column INVERSES = Column::perm_pos_mem_write_a_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_a == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_a_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_a, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_a, + in.poseidon2_b_0, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_a_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_a, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_a, + in.poseidon2_b_0, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_write_a_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_WRITE_A"; +}; +template using perm_pos_mem_write_a = GenericPermutation; + +/////////////////// perm_pos_mem_write_b /////////////////// + +class perm_pos_mem_write_b_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_b; + static constexpr Column INVERSES = Column::perm_pos_mem_write_b_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_b == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_b_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_b, + in.poseidon2_b_1, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_b_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_b, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_b, + in.poseidon2_b_1, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_write_b_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_WRITE_B"; +}; +template using perm_pos_mem_write_b = GenericPermutation; + +/////////////////// perm_pos_mem_write_c /////////////////// + +class perm_pos_mem_write_c_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_c; + static constexpr Column INVERSES = Column::perm_pos_mem_write_c_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_c == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_c_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_c, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_c, + in.poseidon2_b_2, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_c_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_c, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_c, + in.poseidon2_b_2, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_write_c_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_WRITE_C"; +}; +template using perm_pos_mem_write_c = GenericPermutation; + +/////////////////// perm_pos_mem_write_d /////////////////// + +class perm_pos_mem_write_d_permutation_settings { + public: + // This constant defines how many columns are bundled together to form each set. + constexpr static size_t COLUMNS_PER_SET = 5; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::poseidon2_sel_poseidon_perm_mem_op; + static constexpr Column DST_SELECTOR = Column::mem_sel_op_poseidon_write_d; + static constexpr Column INVERSES = Column::perm_pos_mem_write_d_inv; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.poseidon2_sel_poseidon_perm_mem_op == 1 || in.mem_sel_op_poseidon_write_d == 1); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_d_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_d, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_d, + in.poseidon2_b_3, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return std::forward_as_tuple(in.perm_pos_mem_write_d_inv, + in.poseidon2_sel_poseidon_perm_mem_op, + in.poseidon2_sel_poseidon_perm_mem_op, + in.mem_sel_op_poseidon_write_d, + in.poseidon2_clk, + in.poseidon2_space_id, + in.poseidon2_mem_addr_write_d, + in.poseidon2_b_3, + in.poseidon2_sel_poseidon_perm, + in.mem_clk, + in.mem_space_id, + in.mem_addr, + in.mem_val, + in.mem_rw); + } +}; + +template +class perm_pos_mem_write_d_relation + : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "PERM_POS_MEM_WRITE_D"; +}; +template using perm_pos_mem_write_d = GenericPermutation; + +} // namespace bb::avm \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos2_fixed_pos2_perm.hpp b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2_full.hpp similarity index 98% rename from barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos2_fixed_pos2_perm.hpp rename to barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2_full.hpp index 8e65cd79075..4f3c4e12dd4 100644 --- a/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perm_pos2_fixed_pos2_perm.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/avm/generated/relations/perms_poseidon2_full.hpp @@ -9,6 +9,8 @@ namespace bb::avm { +/////////////////// perm_pos2_fixed_pos2_perm /////////////////// + class perm_pos2_fixed_pos2_perm_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp index 88cb5280b4e..2b8bbce40cc 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/flavor.hpp @@ -22,19 +22,9 @@ #include "relations/range_check.hpp" // Lookup and permutation relations -#include "relations/lookup_dummy_dynamic.hpp" -#include "relations/lookup_dummy_precomputed.hpp" -#include "relations/lookup_rng_chk_diff.hpp" -#include "relations/lookup_rng_chk_is_r0_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r1_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r2_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r3_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r4_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r5_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r6_16_bit.hpp" -#include "relations/lookup_rng_chk_is_r7_16_bit.hpp" -#include "relations/lookup_rng_chk_pow_2.hpp" -#include "relations/perm_dummy_dynamic.hpp" +#include "relations/lookups_execution.hpp" +#include "relations/lookups_range_check.hpp" +#include "relations/perms_execution.hpp" // Metaprogramming to concatenate tuple types. template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_dynamic.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_dynamic.hpp deleted file mode 100644 index 303184e73dd..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_dynamic.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_dummy_dynamic_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 4; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::execution_sel; - static constexpr Column DST_SELECTOR = Column::execution_sel; - static constexpr Column COUNTS = Column::lookup_dummy_dynamic_counts; - static constexpr Column INVERSES = Column::lookup_dummy_dynamic_inv; - static constexpr std::array SRC_COLUMNS = { - Column::execution_op1, Column::execution_op2, Column::execution_op3, Column::execution_op4 - }; - static constexpr std::array DST_COLUMNS = { - Column::execution_op1, Column::execution_op2, Column::execution_op3, Column::execution_op4 - }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.execution_sel == 1 || in.execution_sel == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.execution_sel); - const auto is_table_entry = View(in.execution_sel); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_dummy_dynamic_inv, - in.lookup_dummy_dynamic_counts, - in.execution_sel, - in.execution_sel, - in.execution_op1, - in.execution_op2, - in.execution_op3, - in.execution_op4, - in.execution_op1, - in.execution_op2, - in.execution_op3, - in.execution_op4); - } -}; - -template -class lookup_dummy_dynamic_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_DUMMY_DYNAMIC"; -}; -template using lookup_dummy_dynamic = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_diff.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_diff.hpp deleted file mode 100644 index 3587549b5d9..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_diff.hpp +++ /dev/null @@ -1,73 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_diff_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_diff_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_diff_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_diff }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_diff_inv, - in.lookup_rng_chk_diff_counts, - in.range_check_sel, - in.precomputed_sel_range_16, - in.range_check_dyn_diff, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_diff_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_DIFF"; -}; -template using lookup_rng_chk_diff = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r0_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r0_16_bit.hpp deleted file mode 100644 index ebf5b0d9996..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r0_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r0_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r0_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r0_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r0_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r0 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r0_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r0_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r0_16_bit_inv, - in.lookup_rng_chk_is_r0_16_bit_counts, - in.range_check_sel_r0_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r0, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r0_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R0_16_BIT"; -}; -template -using lookup_rng_chk_is_r0_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r1_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r1_16_bit.hpp deleted file mode 100644 index 485956a81f8..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r1_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r1_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r1_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r1_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r1_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r1 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r1_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r1_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r1_16_bit_inv, - in.lookup_rng_chk_is_r1_16_bit_counts, - in.range_check_sel_r1_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r1, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r1_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R1_16_BIT"; -}; -template -using lookup_rng_chk_is_r1_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r2_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r2_16_bit.hpp deleted file mode 100644 index fd9cd6ea6e2..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r2_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r2_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r2_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r2_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r2_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r2 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r2_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r2_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r2_16_bit_inv, - in.lookup_rng_chk_is_r2_16_bit_counts, - in.range_check_sel_r2_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r2, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r2_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R2_16_BIT"; -}; -template -using lookup_rng_chk_is_r2_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r3_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r3_16_bit.hpp deleted file mode 100644 index 2ad7865c357..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r3_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r3_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r3_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r3_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r3_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r3 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r3_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r3_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r3_16_bit_inv, - in.lookup_rng_chk_is_r3_16_bit_counts, - in.range_check_sel_r3_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r3, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r3_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R3_16_BIT"; -}; -template -using lookup_rng_chk_is_r3_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r4_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r4_16_bit.hpp deleted file mode 100644 index 36b906d7659..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r4_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r4_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r4_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r4_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r4_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r4 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r4_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r4_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r4_16_bit_inv, - in.lookup_rng_chk_is_r4_16_bit_counts, - in.range_check_sel_r4_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r4, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r4_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R4_16_BIT"; -}; -template -using lookup_rng_chk_is_r4_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r5_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r5_16_bit.hpp deleted file mode 100644 index 2c987bfeb5c..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r5_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r5_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r5_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r5_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r5_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r5 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r5_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r5_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r5_16_bit_inv, - in.lookup_rng_chk_is_r5_16_bit_counts, - in.range_check_sel_r5_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r5, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r5_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R5_16_BIT"; -}; -template -using lookup_rng_chk_is_r5_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r6_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r6_16_bit.hpp deleted file mode 100644 index 98bd3a8fa4c..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r6_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r6_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel_r6_16_bit_rng_lookup; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r6_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r6_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r6 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel_r6_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel_r6_16_bit_rng_lookup); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r6_16_bit_inv, - in.lookup_rng_chk_is_r6_16_bit_counts, - in.range_check_sel_r6_16_bit_rng_lookup, - in.precomputed_sel_range_16, - in.range_check_u16_r6, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r6_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R6_16_BIT"; -}; -template -using lookup_rng_chk_is_r6_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r7_16_bit.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r7_16_bit.hpp deleted file mode 100644 index fff844afc26..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_is_r7_16_bit.hpp +++ /dev/null @@ -1,75 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_is_r7_16_bit_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 1; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; - static constexpr Column COUNTS = Column::lookup_rng_chk_is_r7_16_bit_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_is_r7_16_bit_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r7 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel == 1 || in.precomputed_sel_range_16 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel); - const auto is_table_entry = View(in.precomputed_sel_range_16); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_is_r7_16_bit_inv, - in.lookup_rng_chk_is_r7_16_bit_counts, - in.range_check_sel, - in.precomputed_sel_range_16, - in.range_check_u16_r7, - in.precomputed_clk); - } -}; - -template -class lookup_rng_chk_is_r7_16_bit_relation - : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R7_16_BIT"; -}; -template -using lookup_rng_chk_is_r7_16_bit = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_pow_2.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_pow_2.hpp deleted file mode 100644 index 5c2a6507034..00000000000 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_rng_chk_pow_2.hpp +++ /dev/null @@ -1,77 +0,0 @@ -// AUTOGENERATED FILE -#pragma once - -#include "../columns.hpp" -#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" - -#include -#include - -namespace bb::avm2 { - -class lookup_rng_chk_pow_2_lookup_settings { - public: - static constexpr size_t READ_TERMS = 1; - static constexpr size_t WRITE_TERMS = 1; - static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; - static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; - static constexpr size_t LOOKUP_TUPLE_SIZE = 2; - static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; - static constexpr size_t READ_TERM_DEGREE = 0; - static constexpr size_t WRITE_TERM_DEGREE = 0; - - // Columns using the Column enum. - static constexpr Column SRC_SELECTOR = Column::range_check_sel; - static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_8; - static constexpr Column COUNTS = Column::lookup_rng_chk_pow_2_counts; - static constexpr Column INVERSES = Column::lookup_rng_chk_pow_2_inv; - static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_rng_chk_bits, - Column::range_check_dyn_rng_chk_pow_2 }; - static constexpr std::array DST_COLUMNS = { Column::precomputed_clk, - Column::precomputed_power_of_2 }; - - template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) - { - return (in.range_check_sel == 1 || in.precomputed_sel_range_8 == 1); - } - - template - static inline auto compute_inverse_exists(const AllEntities& in) - { - using View = typename Accumulator::View; - const auto is_operation = View(in.range_check_sel); - const auto is_table_entry = View(in.precomputed_sel_range_8); - return (is_operation + is_table_entry - is_operation * is_table_entry); - } - - template static inline auto get_const_entities(const AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_nonconst_entities(AllEntities& in) - { - return get_entities(in); - } - - template static inline auto get_entities(AllEntities&& in) - { - return std::forward_as_tuple(in.lookup_rng_chk_pow_2_inv, - in.lookup_rng_chk_pow_2_counts, - in.range_check_sel, - in.precomputed_sel_range_8, - in.range_check_dyn_rng_chk_bits, - in.range_check_dyn_rng_chk_pow_2, - in.precomputed_clk, - in.precomputed_power_of_2); - } -}; - -template -class lookup_rng_chk_pow_2_relation : public GenericLookupRelation { - public: - static constexpr const char* NAME = "LOOKUP_RNG_CHK_POW_2"; -}; -template using lookup_rng_chk_pow_2 = GenericLookup; - -} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_precomputed.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_execution.hpp similarity index 53% rename from barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_precomputed.hpp rename to barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_execution.hpp index 1bcdd954294..f7c95a7989a 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookup_dummy_precomputed.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_execution.hpp @@ -9,6 +9,8 @@ namespace bb::avm2 { +/////////////////// lookup_dummy_precomputed /////////////////// + class lookup_dummy_precomputed_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -81,4 +83,77 @@ class lookup_dummy_precomputed_relation : public GenericLookupRelation using lookup_dummy_precomputed = GenericLookup; +/////////////////// lookup_dummy_dynamic /////////////////// + +class lookup_dummy_dynamic_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 4; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::execution_sel; + static constexpr Column DST_SELECTOR = Column::execution_sel; + static constexpr Column COUNTS = Column::lookup_dummy_dynamic_counts; + static constexpr Column INVERSES = Column::lookup_dummy_dynamic_inv; + static constexpr std::array SRC_COLUMNS = { + Column::execution_op1, Column::execution_op2, Column::execution_op3, Column::execution_op4 + }; + static constexpr std::array DST_COLUMNS = { + Column::execution_op1, Column::execution_op2, Column::execution_op3, Column::execution_op4 + }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.execution_sel == 1 || in.execution_sel == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.execution_sel); + const auto is_table_entry = View(in.execution_sel); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_dummy_dynamic_inv, + in.lookup_dummy_dynamic_counts, + in.execution_sel, + in.execution_sel, + in.execution_op1, + in.execution_op2, + in.execution_op3, + in.execution_op4, + in.execution_op1, + in.execution_op2, + in.execution_op3, + in.execution_op4); + } +}; + +template +class lookup_dummy_dynamic_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_DUMMY_DYNAMIC"; +}; +template using lookup_dummy_dynamic = GenericLookup; + } // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_range_check.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_range_check.hpp new file mode 100644 index 00000000000..1853d7d51e3 --- /dev/null +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/lookups_range_check.hpp @@ -0,0 +1,662 @@ +// AUTOGENERATED FILE +#pragma once + +#include "../columns.hpp" +#include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" + +#include +#include + +namespace bb::avm2 { + +/////////////////// lookup_rng_chk_pow_2 /////////////////// + +class lookup_rng_chk_pow_2_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 2; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_8; + static constexpr Column COUNTS = Column::lookup_rng_chk_pow_2_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_pow_2_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_rng_chk_bits, + Column::range_check_dyn_rng_chk_pow_2 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk, + Column::precomputed_power_of_2 }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel == 1 || in.precomputed_sel_range_8 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel); + const auto is_table_entry = View(in.precomputed_sel_range_8); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_pow_2_inv, + in.lookup_rng_chk_pow_2_counts, + in.range_check_sel, + in.precomputed_sel_range_8, + in.range_check_dyn_rng_chk_bits, + in.range_check_dyn_rng_chk_pow_2, + in.precomputed_clk, + in.precomputed_power_of_2); + } +}; + +template +class lookup_rng_chk_pow_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_POW_2"; +}; +template using lookup_rng_chk_pow_2 = GenericLookup; + +/////////////////// lookup_rng_chk_diff /////////////////// + +class lookup_rng_chk_diff_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_diff_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_diff_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_dyn_diff }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_diff_inv, + in.lookup_rng_chk_diff_counts, + in.range_check_sel, + in.precomputed_sel_range_16, + in.range_check_dyn_diff, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_diff_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_DIFF"; +}; +template using lookup_rng_chk_diff = GenericLookup; + +/////////////////// lookup_rng_chk_is_r0_16_bit /////////////////// + +class lookup_rng_chk_is_r0_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r0_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r0_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r0_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r0 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r0_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r0_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r0_16_bit_inv, + in.lookup_rng_chk_is_r0_16_bit_counts, + in.range_check_sel_r0_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r0, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r0_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R0_16_BIT"; +}; +template +using lookup_rng_chk_is_r0_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r1_16_bit /////////////////// + +class lookup_rng_chk_is_r1_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r1_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r1_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r1_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r1 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r1_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r1_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r1_16_bit_inv, + in.lookup_rng_chk_is_r1_16_bit_counts, + in.range_check_sel_r1_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r1, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r1_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R1_16_BIT"; +}; +template +using lookup_rng_chk_is_r1_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r2_16_bit /////////////////// + +class lookup_rng_chk_is_r2_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r2_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r2_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r2_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r2 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r2_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r2_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r2_16_bit_inv, + in.lookup_rng_chk_is_r2_16_bit_counts, + in.range_check_sel_r2_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r2, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r2_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R2_16_BIT"; +}; +template +using lookup_rng_chk_is_r2_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r3_16_bit /////////////////// + +class lookup_rng_chk_is_r3_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r3_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r3_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r3_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r3 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r3_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r3_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r3_16_bit_inv, + in.lookup_rng_chk_is_r3_16_bit_counts, + in.range_check_sel_r3_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r3, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r3_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R3_16_BIT"; +}; +template +using lookup_rng_chk_is_r3_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r4_16_bit /////////////////// + +class lookup_rng_chk_is_r4_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r4_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r4_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r4_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r4 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r4_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r4_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r4_16_bit_inv, + in.lookup_rng_chk_is_r4_16_bit_counts, + in.range_check_sel_r4_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r4, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r4_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R4_16_BIT"; +}; +template +using lookup_rng_chk_is_r4_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r5_16_bit /////////////////// + +class lookup_rng_chk_is_r5_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r5_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r5_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r5_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r5 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r5_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r5_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r5_16_bit_inv, + in.lookup_rng_chk_is_r5_16_bit_counts, + in.range_check_sel_r5_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r5, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r5_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R5_16_BIT"; +}; +template +using lookup_rng_chk_is_r5_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r6_16_bit /////////////////// + +class lookup_rng_chk_is_r6_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel_r6_16_bit_rng_lookup; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r6_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r6_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r6 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel_r6_16_bit_rng_lookup == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel_r6_16_bit_rng_lookup); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r6_16_bit_inv, + in.lookup_rng_chk_is_r6_16_bit_counts, + in.range_check_sel_r6_16_bit_rng_lookup, + in.precomputed_sel_range_16, + in.range_check_u16_r6, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r6_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R6_16_BIT"; +}; +template +using lookup_rng_chk_is_r6_16_bit = GenericLookup; + +/////////////////// lookup_rng_chk_is_r7_16_bit /////////////////// + +class lookup_rng_chk_is_r7_16_bit_lookup_settings { + public: + static constexpr size_t READ_TERMS = 1; + static constexpr size_t WRITE_TERMS = 1; + static constexpr size_t READ_TERM_TYPES[READ_TERMS] = { 0 }; + static constexpr size_t WRITE_TERM_TYPES[WRITE_TERMS] = { 0 }; + static constexpr size_t LOOKUP_TUPLE_SIZE = 1; + static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 4; + static constexpr size_t READ_TERM_DEGREE = 0; + static constexpr size_t WRITE_TERM_DEGREE = 0; + + // Columns using the Column enum. + static constexpr Column SRC_SELECTOR = Column::range_check_sel; + static constexpr Column DST_SELECTOR = Column::precomputed_sel_range_16; + static constexpr Column COUNTS = Column::lookup_rng_chk_is_r7_16_bit_counts; + static constexpr Column INVERSES = Column::lookup_rng_chk_is_r7_16_bit_inv; + static constexpr std::array SRC_COLUMNS = { Column::range_check_u16_r7 }; + static constexpr std::array DST_COLUMNS = { Column::precomputed_clk }; + + template static inline auto inverse_polynomial_is_computed_at_row(const AllEntities& in) + { + return (in.range_check_sel == 1 || in.precomputed_sel_range_16 == 1); + } + + template + static inline auto compute_inverse_exists(const AllEntities& in) + { + using View = typename Accumulator::View; + const auto is_operation = View(in.range_check_sel); + const auto is_table_entry = View(in.precomputed_sel_range_16); + return (is_operation + is_table_entry - is_operation * is_table_entry); + } + + template static inline auto get_const_entities(const AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_nonconst_entities(AllEntities& in) + { + return get_entities(in); + } + + template static inline auto get_entities(AllEntities&& in) + { + return std::forward_as_tuple(in.lookup_rng_chk_is_r7_16_bit_inv, + in.lookup_rng_chk_is_r7_16_bit_counts, + in.range_check_sel, + in.precomputed_sel_range_16, + in.range_check_u16_r7, + in.precomputed_clk); + } +}; + +template +class lookup_rng_chk_is_r7_16_bit_relation + : public GenericLookupRelation { + public: + static constexpr const char* NAME = "LOOKUP_RNG_CHK_IS_R7_16_BIT"; +}; +template +using lookup_rng_chk_is_r7_16_bit = GenericLookup; + +} // namespace bb::avm2 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perm_dummy_dynamic.hpp b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp similarity index 97% rename from barretenberg/cpp/src/barretenberg/vm2/generated/relations/perm_dummy_dynamic.hpp rename to barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp index 29dbb3493d7..9c4775f0bdb 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perm_dummy_dynamic.hpp +++ b/barretenberg/cpp/src/barretenberg/vm2/generated/relations/perms_execution.hpp @@ -9,6 +9,8 @@ namespace bb::avm2 { +/////////////////// perm_dummy_dynamic /////////////////// + class perm_dummy_dynamic_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. diff --git a/barretenberg/cpp/src/barretenberg/vm2/tracegen_helper.cpp b/barretenberg/cpp/src/barretenberg/vm2/tracegen_helper.cpp index 05e1f81c36e..04010e2c107 100644 --- a/barretenberg/cpp/src/barretenberg/vm2/tracegen_helper.cpp +++ b/barretenberg/cpp/src/barretenberg/vm2/tracegen_helper.cpp @@ -12,19 +12,9 @@ #include "barretenberg/vm/stats.hpp" #include "barretenberg/vm2/common/map.hpp" #include "barretenberg/vm2/generated/columns.hpp" -#include "barretenberg/vm2/generated/relations/lookup_dummy_dynamic.hpp" -#include "barretenberg/vm2/generated/relations/lookup_dummy_precomputed.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_diff.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r0_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r1_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r2_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r3_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r4_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r5_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r6_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_is_r7_16_bit.hpp" -#include "barretenberg/vm2/generated/relations/lookup_rng_chk_pow_2.hpp" -#include "barretenberg/vm2/generated/relations/perm_dummy_dynamic.hpp" +#include "barretenberg/vm2/generated/relations/lookups_execution.hpp" +#include "barretenberg/vm2/generated/relations/lookups_range_check.hpp" +#include "barretenberg/vm2/generated/relations/perms_execution.hpp" #include "barretenberg/vm2/tracegen/alu_trace.hpp" #include "barretenberg/vm2/tracegen/execution_trace.hpp" #include "barretenberg/vm2/tracegen/lib/lookup_into_bitwise.hpp" diff --git a/bb-pilcom/bb-pil-backend/src/flavor_builder.rs b/bb-pilcom/bb-pil-backend/src/flavor_builder.rs index 241b432033b..53bd851344e 100644 --- a/bb-pilcom/bb-pil-backend/src/flavor_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/flavor_builder.rs @@ -11,6 +11,7 @@ pub trait FlavorBuilder { relation_file_names: &[String], inverses: &[String], lookups: &[String], + lookup_and_perm_file_names: &[String], fixed: &[String], witness: &[String], witness_without_inverses: &[String], @@ -57,8 +58,9 @@ impl FlavorBuilder for BBFiles { &mut self, name: &str, relation_file_names: &[String], - lookups: &[String], inverses: &[String], + lookups: &[String], + lookup_and_perm_file_names: &[String], fixed: &[String], witness: &[String], witness_without_inverses: &[String], @@ -73,6 +75,7 @@ impl FlavorBuilder for BBFiles { "name": name, "relation_file_names": relation_file_names, "lookups": lookups, + "lookup_and_perm_file_names": lookup_and_perm_file_names, "inverses": inverses, "fixed": fixed, "witness": witness, diff --git a/bb-pilcom/bb-pil-backend/src/lookup_builder.rs b/bb-pilcom/bb-pil-backend/src/lookup_builder.rs index 43888ee5cb1..8c483cf2872 100644 --- a/bb-pilcom/bb-pil-backend/src/lookup_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/lookup_builder.rs @@ -8,6 +8,7 @@ use powdr_number::FieldElement; use handlebars::Handlebars; use serde_json::{json, Value as Json}; +use std::path::Path; use crate::utils::sanitize_name; @@ -20,6 +21,8 @@ use crate::utils::sanitize_name; pub struct Lookup { /// The name of the lookup pub name: String, + /// The file name of the lookup + pub file_name: String, /// The inverse column name pub inverse: String, /// The name of the counts polynomial that stores the number of times a lookup is read @@ -69,8 +72,20 @@ impl LookupBuilder for BBFiles { "Inverse column name must be provided within lookup attribute - #[]", ) .to_lowercase(); + let file_name = format!( + "lookups_{}.hpp", + lookup + .source + .file_name + .as_ref() + .and_then(|file_name| Path::new(file_name.as_ref()).file_stem()) + .map(|stem| stem.to_string_lossy().into_owned()) + .unwrap_or_default() + .replace(".pil", "") + ); Lookup { name: name.clone(), + file_name: file_name, inverse: format!("{}_inv", &name), counts_poly: format!("{}_counts", &name), left: get_lookup_side(&lookup.left), @@ -79,6 +94,8 @@ impl LookupBuilder for BBFiles { }) .collect_vec(); + let lookups_per_file = lookups.iter().into_group_map_by(|lookup| &lookup.file_name); + let mut handlebars = Handlebars::new(); handlebars @@ -88,12 +105,18 @@ impl LookupBuilder for BBFiles { ) .unwrap(); - for lookup in lookups.iter() { - let data = create_lookup_settings_data(lookup, vm_name); - let lookup_settings = handlebars.render("lookup.hpp", &data).unwrap(); - - let file_name = format!("{}.hpp", lookup.name); - self.write_file(Some(&self.relations), &file_name, &lookup_settings); + for (file_name, lookups) in lookups_per_file { + let datas = lookups + .iter() + .map(|lookup| create_lookup_settings_data(lookup)) + .collect_vec(); + let data_wrapper = json!({ + "root_name": vm_name, + "lookups": datas, + }); + let lookup_settings = handlebars.render("lookup.hpp", &data_wrapper).unwrap(); + + self.write_file(Some(&self.relations), file_name, &lookup_settings); } lookups @@ -115,7 +138,7 @@ pub fn get_counts_from_lookups(lookups: &[Lookup]) -> Vec { .collect() } -fn create_lookup_settings_data(lookup: &Lookup, vm_name: &str) -> Json { +fn create_lookup_settings_data(lookup: &Lookup) -> Json { let columns_per_set = lookup.left.cols.len(); // NOTE: https://github.com/AztecProtocol/aztec-packages/issues/3879 @@ -151,7 +174,6 @@ fn create_lookup_settings_data(lookup: &Lookup, vm_name: &str) -> Json { let write_term_types = "{0}".to_owned(); json!({ - "root_name": vm_name, "lookup_name": lookup.name, "lhs_selector": lhs_selector, "rhs_selector": rhs_selector, diff --git a/bb-pilcom/bb-pil-backend/src/permutation_builder.rs b/bb-pilcom/bb-pil-backend/src/permutation_builder.rs index b7cdaa735d0..9627852ee8f 100644 --- a/bb-pilcom/bb-pil-backend/src/permutation_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/permutation_builder.rs @@ -8,6 +8,7 @@ use powdr_number::FieldElement; use handlebars::Handlebars; use serde_json::{json, Value as Json}; +use std::path::Path; use crate::utils::sanitize_name; @@ -18,6 +19,8 @@ use crate::utils::sanitize_name; pub struct Permutation { /// The name of the lookup pub name: String, + /// The file name of the lookup + pub file_name: String, /// The inverse column name pub inverse: String, /// -> PermSide - the left side of the permutation @@ -63,8 +66,19 @@ impl PermutationBuilder for BBFiles { .clone() .expect("Permutation name must be provided using attribute syntax") .to_lowercase(); + let file_name = format!( + "perms_{}.hpp", + perm.source + .file_name + .as_ref() + .and_then(|file_name| Path::new(file_name.as_ref()).file_stem()) + .map(|stem| stem.to_string_lossy().into_owned()) + .unwrap_or_default() + .replace(".pil", "") + ); Permutation { name: name.clone(), + file_name: file_name, inverse: format!("{}_inv", &name), left: get_perm_side(&perm.left), right: get_perm_side(&perm.right), @@ -72,6 +86,8 @@ impl PermutationBuilder for BBFiles { }) .collect_vec(); + let perms_per_file = permutations.iter().into_group_map_by(|p| &p.file_name); + let mut handlebars = Handlebars::new(); handlebars @@ -81,12 +97,18 @@ impl PermutationBuilder for BBFiles { ) .unwrap(); - for permutation in permutations.iter() { - let data = create_permutation_settings_data(permutation, vm_name); - let perm_settings = handlebars.render("permutation.hpp", &data).unwrap(); - - let file_name = format!("{}.hpp", permutation.name); - self.write_file(Some(&self.relations), &file_name, &perm_settings); + for (file_name, perms) in perms_per_file { + let datas = perms + .iter() + .map(|perm| create_permutation_settings_data(perm)) + .collect_vec(); + let data_wrapper = json!({ + "root_name": vm_name, + "perms": datas, + }); + let perm_settings = handlebars.render("permutation.hpp", &data_wrapper).unwrap(); + + self.write_file(Some(&self.relations), file_name, &perm_settings); } permutations @@ -101,7 +123,7 @@ pub fn get_inverses_from_permutations(permutations: &[Permutation]) -> Vec Json { +fn create_permutation_settings_data(permutation: &Permutation) -> Json { let columns_per_set = permutation.left.cols.len(); // This also will need to work for both sides of this ! @@ -138,7 +160,6 @@ fn create_permutation_settings_data(permutation: &Permutation, vm_name: &str) -> perm_entities.extend(rhs_cols); json!({ - "root_name": vm_name, "perm_name": permutation.name, "columns_per_set": columns_per_set, "lhs_selector": lhs_selector, diff --git a/bb-pilcom/bb-pil-backend/src/vm_builder.rs b/bb-pilcom/bb-pil-backend/src/vm_builder.rs index c03b0afc26d..e7abf5b07b2 100644 --- a/bb-pilcom/bb-pil-backend/src/vm_builder.rs +++ b/bb-pilcom/bb-pil-backend/src/vm_builder.rs @@ -92,6 +92,14 @@ pub fn analyzed_to_cpp( public_inputs, } = get_all_col_names(analyzed, &permutations, &lookups); + let lookup_and_perm_file_names = lookups + .iter() + .map(|l| l.file_name.clone()) + .chain(permutations.iter().map(|p| p.file_name.clone())) + .unique() + .sorted() + .collect_vec(); + // ----------------------- 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); @@ -100,8 +108,9 @@ pub fn analyzed_to_cpp( bb_files.create_flavor_hpp( vm_name, &relations, - &lookup_and_permutations_names, &inverses, + &lookup_and_permutations_names, + &lookup_and_perm_file_names, &fixed, &witness, &witnesses_without_inverses, diff --git a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs index 6f31274bdd4..8276068db53 100644 --- a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs @@ -22,8 +22,8 @@ {{/each}} // Lookup and permutation relations -{{#each lookups as |r|}} -#include "relations/{{r}}.hpp" +{{#each lookup_and_perm_file_names as |file_name|}} +#include "relations/{{file_name}}" {{/each}} // Metaprogramming to concatenate tuple types. diff --git a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs index ecb6945b268..d575c38b964 100644 --- a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs @@ -9,6 +9,9 @@ namespace bb::{{snakeCase root_name}} { +{{#each lookups as |current_lookup|}}{{#with current_lookup}} +/////////////////// {{lookup_name}} /////////////////// + class {{lookup_name}}_lookup_settings { public: static constexpr size_t READ_TERMS = {{read_terms}}; @@ -83,4 +86,5 @@ template class {{lookup_name}}_relation : public GenericLookupRel }; template using {{lookup_name}} = GenericLookup<{{lookup_name}}_lookup_settings, FF_>; +{{/with}}{{/each}} } // namespace bb::{{snakeCase root_name}} \ No newline at end of file diff --git a/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs index 502bbb886a4..126568a5781 100644 --- a/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs @@ -9,6 +9,9 @@ namespace bb::{{snakeCase root_name}} { +{{#each perms as |current_perm|}}{{#with current_perm}} +/////////////////// {{perm_name}} /////////////////// + class {{perm_name}}_permutation_settings { public: // This constant defines how many columns are bundled together to form each set. @@ -49,4 +52,5 @@ template class {{perm_name}}_relation : public GenericPermutation }; template using {{perm_name}} = GenericPermutation<{{perm_name}}_permutation_settings, FF_>; +{{/with}}{{/each}} } // namespace bb::{{snakeCase root_name}} \ No newline at end of file