11namespace proof_system::honk::sumcheck {
31 constexpr static size_t COLUMNS_PER_SET = 2;
42 return (in.enable_tuple_set_permutation == 1);
64 return std::forward_as_tuple(
65 in.tuple_permutation_inverses,
66 in.enable_tuple_set_permutation,
67 in.enable_tuple_set_permutation,
68 in.enable_tuple_set_permutation,
69 in.permutation_set_column_3,
70 in.permutation_set_column_4,
71 in.permutation_set_column_1,
72 in.permutation_set_column_2);
93 return std::forward_as_tuple(
94 in.tuple_permutation_inverses,
95 in.enable_tuple_set_permutation,
96 in.enable_tuple_set_permutation,
97 in.enable_tuple_set_permutation,
98 in.permutation_set_column_3,
99 in.permutation_set_column_4,
100 in.permutation_set_column_1,
101 in.permutation_set_column_2);
122 constexpr static size_t COLUMNS_PER_SET = 1;
133 return (in.enable_single_column_permutation == 1);
155 return std::forward_as_tuple(
156 in.single_permutation_inverses,
157 in.enable_single_column_permutation,
158 in.enable_first_set_permutation,
159 in.enable_second_set_permutation,
160 in.self_permutation_column,
161 in.self_permutation_column
184 return std::forward_as_tuple(
185 in.single_permutation_inverses,
186 in.enable_single_column_permutation,
187 in.enable_first_set_permutation,
188 in.enable_second_set_permutation,
189 in.self_permutation_column,
190 in.self_permutation_column
196#define DEFINE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, Settings) \
197 template class RelationImplementation<Settings, flavor::FF>; \
198 template <typename FF_> using RelationImplementation##Settings = RelationImplementation<Settings, FF_>; \
199 DEFINE_SUMCHECK_RELATION_CLASS(RelationImplementation##Settings, flavor);
201#define DEFINE_IMPLEMENTATIONS_FOR_ALL_SETTINGS(RelationImplementation, flavor) \
202 DEFINE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, ExampleTuplePermutationSettings); \
203 DEFINE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, ExampleSameWirePermutationSettings);
205#define DECLARE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, Settings) \
206 extern template class RelationImplementation<Settings, flavor::FF>; \
207 template <typename FF_> using RelationImplementation##Settings = RelationImplementation<Settings, FF_>; \
208 DECLARE_SUMCHECK_RELATION_CLASS(RelationImplementation##Settings, flavor);
210#define DECLARE_IMPLEMENTATIONS_FOR_ALL_SETTINGS(RelationImplementation, flavor) \
211 DECLARE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, ExampleTuplePermutationSettings); \
212 DECLARE_IMPLEMENTATIONS_FOR_SETTINGS(RelationImplementation, flavor, ExampleSameWirePermutationSettings);
This class contains an example of how to set PermutationSettings classes used by the GenericPermutati...
Definition: relation_definer.hpp:118
static auto get_nonconst_entities(AllEntities &in)
Get all the entities for the permutation when need to update them.
Definition: relation_definer.hpp:182
static auto get_const_entities(const AllEntities &in)
Get all the entities for the permutation when we don't need to update them.
Definition: relation_definer.hpp:152
static bool inverse_polynomial_is_computed_at_row(const AllEntities &in)
If this method returns true on a row of values, then the inverse polynomial at this index....
Definition: relation_definer.hpp:131
This class contains an example of how to set PermutationSettings classes used by the GenericPermutati...
Definition: relation_definer.hpp:26
static auto get_const_entities(const AllEntities &in)
Get all the entities for the permutation when we don't need to update them.
Definition: relation_definer.hpp:61
static bool inverse_polynomial_is_computed_at_row(const AllEntities &in)
If this method returns true on a row of values, then the inverse polynomial at this index....
Definition: relation_definer.hpp:40
static auto get_nonconst_entities(AllEntities &in)
Get all the entities for the permutation when need to update them.
Definition: relation_definer.hpp:91