diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp index 6504fe11f264..277392b2e302 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_main_tag_err.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class incl_main_tag_err_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class incl_main_tag_err_lookup_settings { }; template -using incl_main_tag_err_relation = GenericLookupRelation; +class incl_main_tag_err_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "incl_main_tag_err"; +}; template using incl_main_tag_err = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp index b790c7ec1130..bae28e94b0bc 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/incl_mem_tag_err.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class incl_mem_tag_err_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -59,7 +46,11 @@ class incl_mem_tag_err_lookup_settings { } }; -template using incl_mem_tag_err_relation = GenericLookupRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp index 5d41006a5c45..e2cd3d207bae 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/kernel_output_lookup.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class kernel_output_lookup_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -80,7 +67,10 @@ class kernel_output_lookup_lookup_settings { }; template -using kernel_output_lookup_relation = GenericLookupRelation; +class kernel_output_lookup_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "kernel_output_lookup"; +}; template using kernel_output_lookup = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp index 7dbde65e4e8c..78cc8ebd0d03 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_lengths.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_byte_lengths_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -72,7 +59,10 @@ class lookup_byte_lengths_lookup_settings { }; template -using lookup_byte_lengths_relation = GenericLookupRelation; +class lookup_byte_lengths_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_byte_lengths"; +}; template using lookup_byte_lengths = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp index 7e3b35390f2d..59c1142e23f1 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_byte_operations.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_byte_operations_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -80,7 +67,10 @@ class lookup_byte_operations_lookup_settings { }; template -using lookup_byte_operations_relation = GenericLookupRelation; +class lookup_byte_operations_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_byte_operations"; +}; template using lookup_byte_operations = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp index 722ae7e4486f..801eca07bccd 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_0.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_0_lookup_settings { } }; -template using lookup_div_u16_0_relation = GenericLookupRelation; +template +class lookup_div_u16_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_0"; +}; template using lookup_div_u16_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp index 8e47192dbe98..bd93cbdd1336 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_1.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_1_lookup_settings { } }; -template using lookup_div_u16_1_relation = GenericLookupRelation; +template +class lookup_div_u16_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_1"; +}; template using lookup_div_u16_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp index cf15ed785e0c..3d23d6cfe58e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_2.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_2_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_2_lookup_settings { } }; -template using lookup_div_u16_2_relation = GenericLookupRelation; +template +class lookup_div_u16_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_2"; +}; template using lookup_div_u16_2 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp index cbd1af82710b..926c16fd17c5 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_3.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_3_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_3_lookup_settings { } }; -template using lookup_div_u16_3_relation = GenericLookupRelation; +template +class lookup_div_u16_3_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_3"; +}; template using lookup_div_u16_3 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp index 7df49f051390..34f175fede24 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_4.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_4_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_4_lookup_settings { } }; -template using lookup_div_u16_4_relation = GenericLookupRelation; +template +class lookup_div_u16_4_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_4"; +}; template using lookup_div_u16_4 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp index a58751eb66fb..b700d48a0386 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_5.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_5_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_5_lookup_settings { } }; -template using lookup_div_u16_5_relation = GenericLookupRelation; +template +class lookup_div_u16_5_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_5"; +}; template using lookup_div_u16_5 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp index 51e4c73a501d..3eb7819f55d7 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_6.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_6_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_6_lookup_settings { } }; -template using lookup_div_u16_6_relation = GenericLookupRelation; +template +class lookup_div_u16_6_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_6"; +}; template using lookup_div_u16_6 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp index 657221da61ec..d7ab0e082b49 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_div_u16_7.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_div_u16_7_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_div_u16_7_lookup_settings { } }; -template using lookup_div_u16_7_relation = GenericLookupRelation; +template +class lookup_div_u16_7_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_div_u16_7"; +}; template using lookup_div_u16_7 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp index dbd8cc05603d..85854f236fc1 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_into_kernel.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_into_kernel_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -72,7 +59,10 @@ class lookup_into_kernel_lookup_settings { }; template -using lookup_into_kernel_relation = GenericLookupRelation; +class lookup_into_kernel_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_into_kernel"; +}; template using lookup_into_kernel = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp index 933d2272d27b..5389a743122e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_hi.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class lookup_mem_rng_chk_hi_lookup_settings { }; template -using lookup_mem_rng_chk_hi_relation = GenericLookupRelation; +class lookup_mem_rng_chk_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_hi"; +}; template using lookup_mem_rng_chk_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp index e61714cabb2d..6cef65cd421b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_lo.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class lookup_mem_rng_chk_lo_lookup_settings { }; template -using lookup_mem_rng_chk_lo_relation = GenericLookupRelation; +class lookup_mem_rng_chk_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_lo"; +}; template using lookup_mem_rng_chk_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp index 6e0ce0b9803b..79a3064ca981 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_mem_rng_chk_mid.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_mem_rng_chk_mid_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class lookup_mem_rng_chk_mid_lookup_settings { }; template -using lookup_mem_rng_chk_mid_relation = GenericLookupRelation; +class lookup_mem_rng_chk_mid_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_mem_rng_chk_mid"; +}; template using lookup_mem_rng_chk_mid = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp index 64d11a5bdc3a..df421e7a00e9 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_opcode_gas.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_opcode_gas_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -76,7 +63,10 @@ class lookup_opcode_gas_lookup_settings { }; template -using lookup_opcode_gas_relation = GenericLookupRelation; +class lookup_opcode_gas_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_opcode_gas"; +}; template using lookup_opcode_gas = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp index 1f1c342cd818..4232954b7359 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_0.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_pow_2_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -71,7 +58,11 @@ class lookup_pow_2_0_lookup_settings { } }; -template using lookup_pow_2_0_relation = GenericLookupRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp index b8949612dd71..dbae7a5f9ee3 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_pow_2_1.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_pow_2_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -71,7 +58,11 @@ class lookup_pow_2_1_lookup_settings { } }; -template using lookup_pow_2_1_relation = GenericLookupRelation; +template +class lookup_pow_2_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_pow_2_1"; +}; template using lookup_pow_2_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp index c8486d70f076..cd0cdbe2642b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_0.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_0_lookup_settings { } }; -template using lookup_u16_0_relation = GenericLookupRelation; +template class lookup_u16_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_0"; +}; template using lookup_u16_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp index a7195014b593..240bae89ab61 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_1.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_1_lookup_settings { } }; -template using lookup_u16_1_relation = GenericLookupRelation; +template class lookup_u16_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_1"; +}; template using lookup_u16_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp index 5d9340e18ad4..c66ce8f12828 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_10.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_10_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_u16_10_lookup_settings { } }; -template using lookup_u16_10_relation = GenericLookupRelation; +template +class lookup_u16_10_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_10"; +}; template using lookup_u16_10 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp index cf7473b5cfa3..d6f2e4fbfb89 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_11.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_11_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_u16_11_lookup_settings { } }; -template using lookup_u16_11_relation = GenericLookupRelation; +template +class lookup_u16_11_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_11"; +}; template using lookup_u16_11 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp index e0edca8a9ab2..0fffa9d0f857 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_12.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_12_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_u16_12_lookup_settings { } }; -template using lookup_u16_12_relation = GenericLookupRelation; +template +class lookup_u16_12_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_12"; +}; template using lookup_u16_12 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp index 8255f13cf85c..2ce583bc4ec7 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_13.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_13_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_u16_13_lookup_settings { } }; -template using lookup_u16_13_relation = GenericLookupRelation; +template +class lookup_u16_13_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_13"; +}; template using lookup_u16_13 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp index a4857ab021e9..6c88930547ce 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_14.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_14_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,11 @@ class lookup_u16_14_lookup_settings { } }; -template using lookup_u16_14_relation = GenericLookupRelation; +template +class lookup_u16_14_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_14"; +}; template using lookup_u16_14 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp index aea3c986c9f9..9a8807af995c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_2.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_2_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_2_lookup_settings { } }; -template using lookup_u16_2_relation = GenericLookupRelation; +template class lookup_u16_2_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_2"; +}; template using lookup_u16_2 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp index 828351e0b5ee..a45281efa1cb 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_3.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_3_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_3_lookup_settings { } }; -template using lookup_u16_3_relation = GenericLookupRelation; +template class lookup_u16_3_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_3"; +}; template using lookup_u16_3 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp index 157c0225baa1..967ad56cd9ad 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_4.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_4_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_4_lookup_settings { } }; -template using lookup_u16_4_relation = GenericLookupRelation; +template class lookup_u16_4_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_4"; +}; template using lookup_u16_4 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp index 930117b7e8bf..06cc9b72ec05 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_5.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_5_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_5_lookup_settings { } }; -template using lookup_u16_5_relation = GenericLookupRelation; +template class lookup_u16_5_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_5"; +}; template using lookup_u16_5 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp index ec75af309310..e2c49277a088 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_6.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_6_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_6_lookup_settings { } }; -template using lookup_u16_6_relation = GenericLookupRelation; +template class lookup_u16_6_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_6"; +}; template using lookup_u16_6 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp index 6aec3db35c24..2ae7f69f5539 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_7.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_7_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_7_lookup_settings { } }; -template using lookup_u16_7_relation = GenericLookupRelation; +template class lookup_u16_7_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_7"; +}; template using lookup_u16_7 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp index 46e991f15ee4..ab6283cb4bc5 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_8.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_8_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_8_lookup_settings { } }; -template using lookup_u16_8_relation = GenericLookupRelation; +template class lookup_u16_8_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_8"; +}; template using lookup_u16_8 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp index 36a1ca2745ba..136a438481ff 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u16_9.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u16_9_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u16_9_lookup_settings { } }; -template using lookup_u16_9_relation = GenericLookupRelation; +template class lookup_u16_9_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u16_9"; +}; template using lookup_u16_9 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp index 3f1626db1bd0..82f5b9abb89a 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_0.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u8_0_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u8_0_lookup_settings { } }; -template using lookup_u8_0_relation = GenericLookupRelation; +template class lookup_u8_0_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u8_0"; +}; template using lookup_u8_0 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp index a7ce90bc8bf5..9d1c57ff6b2e 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/lookup_u8_1.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class lookup_u8_1_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -67,7 +54,10 @@ class lookup_u8_1_lookup_settings { } }; -template using lookup_u8_1_relation = GenericLookupRelation; +template class lookup_u8_1_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "lookup_u8_1"; +}; template using lookup_u8_1 = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp index 3fd9226043b6..e8470e13faf1 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_alu.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -99,7 +100,10 @@ class perm_main_alu_permutation_settings { }; template -using perm_main_alu_relation = GenericPermutationRelation; +class perm_main_alu_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_alu"; +}; template using perm_main_alu = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp index ed038c33a508..ad69083685f9 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_bin.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -59,7 +60,10 @@ class perm_main_bin_permutation_settings { }; template -using perm_main_bin_relation = GenericPermutationRelation; +class perm_main_bin_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_bin"; +}; template using perm_main_bin = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp index 061fb8c398a2..552831087161 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_conv.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -51,7 +52,10 @@ class perm_main_conv_permutation_settings { }; template -using perm_main_conv_relation = GenericPermutationRelation; +class perm_main_conv_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_conv"; +}; template using perm_main_conv = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp index fe1c96709ff5..2fd85140b971 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_a.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -71,7 +72,10 @@ class perm_main_mem_a_permutation_settings { }; template -using perm_main_mem_a_relation = GenericPermutationRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp index 8899945f4fea..32e610cdb15c 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_b.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -71,7 +72,10 @@ class perm_main_mem_b_permutation_settings { }; template -using perm_main_mem_b_relation = GenericPermutationRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp index 69b3ca8ea89f..f0abc59361fc 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_c.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -63,7 +64,10 @@ class perm_main_mem_c_permutation_settings { }; template -using perm_main_mem_c_relation = GenericPermutationRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp index 081ae644bfb9..cf761caa373b 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_d.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -67,7 +68,10 @@ class perm_main_mem_d_permutation_settings { }; template -using perm_main_mem_d_relation = GenericPermutationRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp index 5f8b6ae9705c..abce391c6a61 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_a.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -51,8 +52,11 @@ class perm_main_mem_ind_addr_a_permutation_settings { }; template -using perm_main_mem_ind_addr_a_relation = - GenericPermutationRelation; +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; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp index c79bc802aa5a..e870022ebf03 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_b.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -51,8 +52,11 @@ class perm_main_mem_ind_addr_b_permutation_settings { }; template -using perm_main_mem_ind_addr_b_relation = - GenericPermutationRelation; +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; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp index 3be1b96d43a5..f252e6f2bd8d 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_c.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -51,8 +52,11 @@ class perm_main_mem_ind_addr_c_permutation_settings { }; template -using perm_main_mem_ind_addr_c_relation = - GenericPermutationRelation; +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; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp index 310c85078ec9..960facff5897 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_mem_ind_addr_d.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -51,8 +52,11 @@ class perm_main_mem_ind_addr_d_permutation_settings { }; template -using perm_main_mem_ind_addr_d_relation = - GenericPermutationRelation; +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; diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp index 0b94b48c5978..5f6205f82624 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pedersen.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -43,7 +44,10 @@ class perm_main_pedersen_permutation_settings { }; template -using perm_main_pedersen_relation = GenericPermutationRelation; +class perm_main_pedersen_relation : public GenericPermutationRelation { + public: + static constexpr const char* NAME = "perm_main_pedersen"; +}; template using perm_main_pedersen = GenericPermutation; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp index 2a4f91d68118..722ce4c5af52 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/perm_main_pos2_perm.hpp @@ -3,6 +3,7 @@ #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" #include +#include #include namespace bb { @@ -47,7 +48,10 @@ class perm_main_pos2_perm_permutation_settings { }; template -using perm_main_pos2_perm_relation = GenericPermutationRelation; +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 \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp index c0ec53d582e2..1073bad5a89f 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_hi.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_da_gas_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class range_check_da_gas_hi_lookup_settings { }; template -using range_check_da_gas_hi_relation = GenericLookupRelation; +class range_check_da_gas_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_da_gas_hi"; +}; template using range_check_da_gas_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp index 2847c57513a4..33de31164342 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_da_gas_lo.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_da_gas_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class range_check_da_gas_lo_lookup_settings { }; template -using range_check_da_gas_lo_relation = GenericLookupRelation; +class range_check_da_gas_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_da_gas_lo"; +}; template using range_check_da_gas_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp index 5e0bda1a6058..4c1824b3f590 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_hi.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_l2_gas_hi_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class range_check_l2_gas_hi_lookup_settings { }; template -using range_check_l2_gas_hi_relation = GenericLookupRelation; +class range_check_l2_gas_hi_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_l2_gas_hi"; +}; template using range_check_l2_gas_hi = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp index f32e8958047e..cbf68bd3523f 100644 --- a/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp +++ b/barretenberg/cpp/src/barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp @@ -3,24 +3,11 @@ #include "barretenberg/relations/generic_lookup/generic_lookup_relation.hpp" #include +#include #include namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ class range_check_l2_gas_lo_lookup_settings { public: static constexpr size_t READ_TERMS = 1; @@ -68,7 +55,10 @@ class range_check_l2_gas_lo_lookup_settings { }; template -using range_check_l2_gas_lo_relation = GenericLookupRelation; +class range_check_l2_gas_lo_relation : public GenericLookupRelation { + public: + static constexpr const char* NAME = "range_check_l2_gas_lo"; +}; template using range_check_l2_gas_lo = GenericLookup; } // namespace bb \ No newline at end of file diff --git a/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp b/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp index 249a45ec54dc..fedb4c60bcdb 100644 --- a/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp +++ b/barretenberg/cpp/src/barretenberg/vm/generated/avm_flavor.hpp @@ -12,8 +12,6 @@ #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/transcript/transcript.hpp" -#include "barretenberg/vm/avm_trace/stats.hpp" - // Relations #include "barretenberg/relations/generated/avm/alu.hpp" #include "barretenberg/relations/generated/avm/binary.hpp" @@ -85,6 +83,9 @@ #include "barretenberg/relations/generated/avm/range_check_l2_gas_lo.hpp" #include "barretenberg/relations/generic_permutation/generic_permutation_relation.hpp" +// Metaprogramming to concatenate tuple types. +template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); + namespace bb { class AvmFlavor { @@ -110,7 +111,7 @@ class AvmFlavor { // the unshifted and one for the shifted static constexpr size_t NUM_ALL_ENTITIES = 452; - using Relations = std::tuple< + using MainRelations = std::tuple< // Relations Avm_vm::alu, Avm_vm::binary, @@ -123,7 +124,9 @@ class AvmFlavor { Avm_vm::pedersen, Avm_vm::poseidon2, Avm_vm::powers, - Avm_vm::sha256, + Avm_vm::sha256>; + + using LookupRelations = std::tuple< // Lookups perm_main_alu_relation, perm_main_bin_relation, @@ -180,6 +183,8 @@ class AvmFlavor { lookup_div_u16_6_relation, lookup_div_u16_7_relation>; + using Relations = tuple_cat_t; + static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length(); // BATCHED_RELATION_PARTIAL_LENGTH = algebraic degree of sumcheck relation *after* multiplying by the `pow_zeta` @@ -850,174 +855,6 @@ class AvmFlavor { mem_tsp, mem_val }; } - - void compute_logderivative_inverses(const RelationParameters& relation_parameters) - { - ProverPolynomials prover_polynomials = ProverPolynomials(*this); - - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_alu_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_bin_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_conv_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_pos2_perm_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_pedersen_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_a_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_b_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_c_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_d_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_a_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_b_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_c_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/perm_main_mem_ind_addr_d_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_byte_lengths_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_byte_operations_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_opcode_gas_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_l2_gas_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_l2_gas_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_da_gas_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/range_check_da_gas_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/kernel_output_lookup_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_into_kernel_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/incl_main_tag_err_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/incl_mem_tag_err_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_lo_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_mid_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_mem_rng_chk_hi_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_pow_2_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_pow_2_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u8_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u8_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_2_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_3_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_4_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_5_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_6_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_7_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_8_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_9_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_10_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_11_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_12_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_13_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_u16_14_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_0_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_1_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_2_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_3_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_4_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_5_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_6_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - AVM_TRACK_TIME("compute_logderivative_inverse/lookup_div_u16_7_ms", - (bb::compute_logderivative_inverse>( - prover_polynomials, relation_parameters, this->circuit_size))); - } }; using VerificationKey = VerificationKey_, VerifierCommitmentKey>; diff --git a/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp b/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp index a94bdc5ee953..23762777a9f6 100644 --- a/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp +++ b/barretenberg/cpp/src/barretenberg/vm/generated/avm_prover.cpp @@ -9,11 +9,34 @@ #include "barretenberg/relations/permutation_relation.hpp" #include "barretenberg/sumcheck/sumcheck.hpp" +#include "barretenberg/vm/avm_trace/stats.hpp" + namespace bb { using Flavor = AvmFlavor; using FF = Flavor::FF; +namespace { + +// Loops through LookupRelations and calculates the logderivatives. +// Metaprogramming is used to loop through the relations, because they are types. +template +void compute_logderivative_rel(const RelationParameters& relation_parameters, + PP& prover_polynomials, + size_t circuit_size) +{ + using Relation = std::tuple_element_t; + AVM_TRACK_TIME( + Relation::NAME + std::string("_ms"), + (compute_logderivative_inverse(prover_polynomials, relation_parameters, circuit_size))); + + if constexpr (relation_idx + 1 < std::tuple_size_v) { + compute_logderivative_rel(relation_parameters, prover_polynomials, circuit_size); + } +} + +} // namespace + /** * Create AvmProver from proving key, witness and manifest. * @@ -69,7 +92,8 @@ void AvmProver::execute_log_derivative_inverse_round() relation_parameters.beta = beta; relation_parameters.gamma = gamm; - key->compute_logderivative_inverses(relation_parameters); + auto prover_polynomials = ProverPolynomials(*key); + compute_logderivative_rel(relation_parameters, prover_polynomials, key->circuit_size); // Commit to all logderivative inverse polynomials for (auto [commitment, key_poly] : zip_view(witness_commitments.get_derived(), key->get_derived())) { diff --git a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs index ad77f8537f2d..6c879c84fb86 100644 --- a/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/flavor.hpp.hbs @@ -12,8 +12,6 @@ #include "barretenberg/polynomials/polynomial.hpp" #include "barretenberg/flavor/flavor.hpp" -#include "barretenberg/vm/{{snakeCase name}}_trace/stats.hpp" - // Relations {{#each relation_file_names as |r|}} #include "barretenberg/relations/generated/{{snakeCase ../name}}/{{r}}.hpp" @@ -25,6 +23,9 @@ #include "barretenberg/relations/generated/{{snakeCase ../name}}/{{r}}.hpp" {{/each}} +// Metaprogramming to concatenate tuple types. +template using tuple_cat_t = decltype(std::tuple_cat(std::declval()...)); + namespace bb { class {{name}}Flavor { @@ -49,13 +50,18 @@ class {{name}}Flavor { // We have two copies of the witness entities, so we subtract the number of fixed ones (they have no shift), one for the unshifted and one for the shifted static constexpr size_t NUM_ALL_ENTITIES = {{len all_cols_and_shifts}}; - using Relations = std::tuple< + using MainRelations = std::tuple< // Relations - {{#each relation_file_names as |item|}}{{#if @index}},{{/if}}{{../name}}_vm::{{item}}{{/each}}, + {{#each relation_file_names as |item|}}{{#if @index}},{{/if}}{{../name}}_vm::{{item}}{{/each}} + >; + + using LookupRelations = std::tuple< // Lookups {{#each lookups as |item|}}{{#if @index}},{{/if}}{{item}}_relation{{/each}} >; + using Relations = tuple_cat_t; + static constexpr size_t MAX_PARTIAL_RELATION_LENGTH = compute_max_partial_relation_length(); // BATCHED_RELATION_PARTIAL_LENGTH = algebraic degree of sumcheck relation *after* multiplying by the `pow_zeta` @@ -152,15 +158,6 @@ class {{name}}Flavor { RefVector get_to_be_shifted() { return { {{#each to_be_shifted as |item|}}{{#if @index}},{{/if}}{{item}}{{/each}} }; } - - void compute_logderivative_inverses(const RelationParameters& relation_parameters) - { - ProverPolynomials prover_polynomials = ProverPolynomials(*this); - - {{#each lookups as |item|}} - AVM_TRACK_TIME("compute_logderivative_inverse/{{item}}_ms", (bb::compute_logderivative_inverse<{{../name}}Flavor, {{item}}_relation>(prover_polynomials, relation_parameters, this->circuit_size))); - {{/each}} - } }; using VerificationKey = VerificationKey_, VerifierCommitmentKey>; diff --git a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs index 0ad04440e502..938d996f3e32 100644 --- a/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/lookup.hpp.hbs @@ -7,21 +7,7 @@ namespace bb { -/** - * @brief This class contains an example of how to set LookupSettings classes used by the - * GenericLookupRelationImpl class to specify a scaled lookup - * - * @details To create your own lookup: - * 1) Create a copy of this class and rename it - * 2) Update all the values with the ones needed for your lookup - * 3) Update "DECLARE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" and "DEFINE_LOOKUP_IMPLEMENTATIONS_FOR_ALL_SETTINGS" to - * include the new settings - * 4) Add the relation with the chosen settings to Relations in the flavor (for example,"` - * using Relations = std::tuple>;)` - * - */ - class {{lookup_name}}_lookup_settings { +class {{lookup_name}}_lookup_settings { public: static constexpr size_t READ_TERMS = {{read_terms}}; static constexpr size_t WRITE_TERMS = {{write_terms}}; @@ -65,7 +51,10 @@ namespace bb { } }; -template using {{lookup_name}}_relation = GenericLookupRelation<{{lookup_name}}_lookup_settings, FF_>; +template class {{lookup_name}}_relation : public GenericLookupRelation<{{lookup_name}}_lookup_settings, FF_> { + public: + static constexpr const char* NAME = "{{lookup_name}}"; +}; template using {{lookup_name}} = GenericLookup<{{lookup_name}}_lookup_settings, FF_>; } // namespace bb \ 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 add6336de4e6..33cb51d73cc9 100644 --- a/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/permutation.hpp.hbs @@ -36,8 +36,10 @@ class {{perm_name}}_permutation_settings { } }; -template -using {{perm_name}}_relation = GenericPermutationRelation<{{perm_name}}_permutation_settings, FF_>; +template class {{perm_name}}_relation : public GenericPermutationRelation<{{perm_name}}_permutation_settings, FF_> { + public: + static constexpr const char* NAME = "{{perm_name}}"; +}; template using {{perm_name}} = GenericPermutation<{{perm_name}}_permutation_settings, FF_>; } // namespace bb \ No newline at end of file diff --git a/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs b/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs index fe5eb6ac6318..32474b361e4e 100644 --- a/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs +++ b/bb-pilcom/bb-pil-backend/templates/prover.cpp.hbs @@ -9,11 +9,34 @@ #include "barretenberg/relations/permutation_relation.hpp" #include "barretenberg/sumcheck/sumcheck.hpp" +#include "barretenberg/vm/{{snakeCase name}}_trace/stats.hpp" + namespace bb { using Flavor = {{name}}Flavor; using FF = Flavor::FF; +namespace { + +// Loops through LookupRelations and calculates the logderivatives. +// Metaprogramming is used to loop through the relations, because they are types. +template +void compute_logderivative_rel(const RelationParameters& relation_parameters, + PP& prover_polynomials, + size_t circuit_size) +{ + using Relation = std::tuple_element_t; + AVM_TRACK_TIME( + Relation::NAME + std::string("_ms"), + (compute_logderivative_inverse(prover_polynomials, relation_parameters, circuit_size))); + + if constexpr (relation_idx + 1 < std::tuple_size_v) { + compute_logderivative_rel(relation_parameters, prover_polynomials, circuit_size); + } +} + +} // namespace + /** * Create {{name}}Prover from proving key, witness and manifest. * @@ -70,7 +93,8 @@ void {{name}}Prover::execute_log_derivative_inverse_round() relation_parameters.beta = beta; relation_parameters.gamma = gamm; - key->compute_logderivative_inverses(relation_parameters); + auto prover_polynomials = ProverPolynomials(*key); + compute_logderivative_rel(relation_parameters, prover_polynomials, key->circuit_size); // Commit to all logderivative inverse polynomials for (auto [commitment, key_poly] : zip_view(witness_commitments.get_derived(), key->get_derived())) {