8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_01";
22 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_01_counts;
23 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_01_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_00,
26 ColumnAndShifts::keccakf1600_state_in_10, ColumnAndShifts::keccakf1600_state_in_01,
27 ColumnAndShifts::keccakf1600_state_in_11, ColumnAndShifts::keccakf1600_theta_xor_01,
28 ColumnAndShifts::keccakf1600_theta_xor_11
30 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
31 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
32 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
33 ColumnAndShifts::bitwise_ic_simd
38template <
typename FF_>
45 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_21";
50 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_21_counts;
51 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_21_inv;
52 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
53 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_20,
54 ColumnAndShifts::keccakf1600_state_in_30, ColumnAndShifts::keccakf1600_state_in_21,
55 ColumnAndShifts::keccakf1600_state_in_31, ColumnAndShifts::keccakf1600_theta_xor_21,
56 ColumnAndShifts::keccakf1600_theta_xor_31
58 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
59 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
60 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
61 ColumnAndShifts::bitwise_ic_simd
66template <
typename FF_>
73 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_41";
78 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_41_counts;
79 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_41_inv;
80 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
81 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_40,
82 ColumnAndShifts::keccakf1600_state_in_41, ColumnAndShifts::keccakf1600_theta_xor_41,
83 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
85 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
86 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
87 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
92template <
typename FF_>
98 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_02";
103 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_02_counts;
104 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_02_inv;
105 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
106 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_01,
107 ColumnAndShifts::keccakf1600_theta_xor_11, ColumnAndShifts::keccakf1600_state_in_02,
108 ColumnAndShifts::keccakf1600_state_in_12, ColumnAndShifts::keccakf1600_theta_xor_02,
109 ColumnAndShifts::keccakf1600_theta_xor_12
111 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
112 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
113 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
114 ColumnAndShifts::bitwise_ic_simd
119template <
typename FF_>
126 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_22";
131 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_22_counts;
132 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_22_inv;
133 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
134 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_21,
135 ColumnAndShifts::keccakf1600_theta_xor_31, ColumnAndShifts::keccakf1600_state_in_22,
136 ColumnAndShifts::keccakf1600_state_in_32, ColumnAndShifts::keccakf1600_theta_xor_22,
137 ColumnAndShifts::keccakf1600_theta_xor_32
139 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
140 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
141 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
142 ColumnAndShifts::bitwise_ic_simd
147template <
typename FF_>
154 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_42";
159 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_42_counts;
161 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
162 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_41,
163 ColumnAndShifts::keccakf1600_state_in_42, ColumnAndShifts::keccakf1600_theta_xor_42,
164 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
166 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
167 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
168 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
173template <
typename FF_>
179 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_03";
184 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_03_counts;
185 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_03_inv;
186 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
187 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_02,
188 ColumnAndShifts::keccakf1600_theta_xor_12, ColumnAndShifts::keccakf1600_state_in_03,
189 ColumnAndShifts::keccakf1600_state_in_13, ColumnAndShifts::keccakf1600_theta_xor_03,
190 ColumnAndShifts::keccakf1600_theta_xor_13
192 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
193 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
194 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
195 ColumnAndShifts::bitwise_ic_simd
200template <
typename FF_>
207 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_SIMD_23";
212 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_simd_23_counts;
213 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_simd_23_inv;
214 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
215 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_22,
216 ColumnAndShifts::keccakf1600_theta_xor_32, ColumnAndShifts::keccakf1600_state_in_23,
217 ColumnAndShifts::keccakf1600_state_in_33, ColumnAndShifts::keccakf1600_theta_xor_23,
218 ColumnAndShifts::keccakf1600_theta_xor_33
220 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
221 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
222 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
223 ColumnAndShifts::bitwise_ic_simd
228template <
typename FF_>
235 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_43";
240 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_43_counts;
242 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
243 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_42,
244 ColumnAndShifts::keccakf1600_state_in_43, ColumnAndShifts::keccakf1600_theta_xor_43,
245 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
247 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
248 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
249 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
254template <
typename FF_>
260 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_ROW_SIMD_0";
265 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_row_simd_0_counts;
266 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_row_simd_0_inv;
267 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
268 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_03,
269 ColumnAndShifts::keccakf1600_theta_xor_13, ColumnAndShifts::keccakf1600_state_in_04,
270 ColumnAndShifts::keccakf1600_state_in_14, ColumnAndShifts::keccakf1600_theta_xor_row_0,
271 ColumnAndShifts::keccakf1600_theta_xor_row_1
273 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
274 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
275 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
276 ColumnAndShifts::bitwise_ic_simd
282template <
typename FF_>
289 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_ROW_SIMD_2";
294 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_row_simd_2_counts;
295 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_row_simd_2_inv;
296 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
297 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_23,
298 ColumnAndShifts::keccakf1600_theta_xor_33, ColumnAndShifts::keccakf1600_state_in_24,
299 ColumnAndShifts::keccakf1600_state_in_34, ColumnAndShifts::keccakf1600_theta_xor_row_2,
300 ColumnAndShifts::keccakf1600_theta_xor_row_3
302 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
303 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
304 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
305 ColumnAndShifts::bitwise_ic_simd
311template <
typename FF_>
318 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_XOR_ROW_4";
323 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_xor_row_4_counts;
324 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_xor_row_4_inv;
325 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
326 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_43,
327 ColumnAndShifts::keccakf1600_state_in_44, ColumnAndShifts::keccakf1600_theta_xor_row_4,
328 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
330 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
331 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
332 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
337template <
typename FF_>
344 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_COMBINED_XOR_SIMD_0";
349 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_combined_xor_simd_0_counts;
350 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_combined_xor_simd_0_inv;
351 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
352 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_row_4,
353 ColumnAndShifts::keccakf1600_theta_xor_row_0, ColumnAndShifts::keccakf1600_theta_xor_row_rotl1_1,
354 ColumnAndShifts::keccakf1600_theta_xor_row_rotl1_2, ColumnAndShifts::keccakf1600_theta_combined_xor_0_,
355 ColumnAndShifts::keccakf1600_theta_combined_xor_1_
357 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
358 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
359 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
360 ColumnAndShifts::bitwise_ic_simd
366template <
typename FF_>
373 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_COMBINED_XOR_SIMD_2";
378 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_combined_xor_simd_2_counts;
379 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_combined_xor_simd_2_inv;
380 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
381 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_theta_xor_row_1,
382 ColumnAndShifts::keccakf1600_theta_xor_row_2, ColumnAndShifts::keccakf1600_theta_xor_row_rotl1_3,
383 ColumnAndShifts::keccakf1600_theta_xor_row_rotl1_4, ColumnAndShifts::keccakf1600_theta_combined_xor_2_,
384 ColumnAndShifts::keccakf1600_theta_combined_xor_3_
386 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
387 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
388 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
389 ColumnAndShifts::bitwise_ic_simd
395template <
typename FF_>
402 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_COMBINED_XOR_4";
407 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_combined_xor_4_counts;
408 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_combined_xor_4_inv;
409 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
410 ColumnAndShifts::keccakf1600_bitwise_xor_op_id,
411 ColumnAndShifts::keccakf1600_theta_xor_row_3,
412 ColumnAndShifts::keccakf1600_theta_xor_row_rotl1_0,
413 ColumnAndShifts::keccakf1600_theta_combined_xor_4_,
414 ColumnAndShifts::keccakf1600_tag_u64,
415 ColumnAndShifts::keccakf1600_tag_u64
417 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
418 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
419 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
425template <
typename FF_>
432 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_00";
437 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_00_counts;
438 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_00_inv;
439 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
440 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_00,
441 ColumnAndShifts::keccakf1600_state_in_01, ColumnAndShifts::keccakf1600_theta_combined_xor_0_,
442 ColumnAndShifts::keccakf1600_theta_combined_xor_0_, ColumnAndShifts::keccakf1600_state_theta_00,
443 ColumnAndShifts::keccakf1600_state_theta_01
445 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
446 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
447 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
448 ColumnAndShifts::bitwise_ic_simd
454template <
typename FF_>
461 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_02";
466 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_02_counts;
467 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_02_inv;
468 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
469 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_02,
470 ColumnAndShifts::keccakf1600_state_in_03, ColumnAndShifts::keccakf1600_theta_combined_xor_0_,
471 ColumnAndShifts::keccakf1600_theta_combined_xor_0_, ColumnAndShifts::keccakf1600_state_theta_02,
472 ColumnAndShifts::keccakf1600_state_theta_03
474 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
475 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
476 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
477 ColumnAndShifts::bitwise_ic_simd
483template <
typename FF_>
490 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_04";
495 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_04_counts;
496 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_04_inv;
497 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
498 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_04,
499 ColumnAndShifts::keccakf1600_state_in_10, ColumnAndShifts::keccakf1600_theta_combined_xor_0_,
500 ColumnAndShifts::keccakf1600_theta_combined_xor_1_, ColumnAndShifts::keccakf1600_state_theta_04,
501 ColumnAndShifts::keccakf1600_state_theta_10
503 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
504 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
505 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
506 ColumnAndShifts::bitwise_ic_simd
512template <
typename FF_>
519 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_11";
524 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_11_counts;
525 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_11_inv;
526 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
527 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_11,
528 ColumnAndShifts::keccakf1600_state_in_12, ColumnAndShifts::keccakf1600_theta_combined_xor_1_,
529 ColumnAndShifts::keccakf1600_theta_combined_xor_1_, ColumnAndShifts::keccakf1600_state_theta_11,
530 ColumnAndShifts::keccakf1600_state_theta_12
532 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
533 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
534 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
535 ColumnAndShifts::bitwise_ic_simd
541template <
typename FF_>
548 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_13";
553 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_13_counts;
554 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_13_inv;
555 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
556 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_13,
557 ColumnAndShifts::keccakf1600_state_in_14, ColumnAndShifts::keccakf1600_theta_combined_xor_1_,
558 ColumnAndShifts::keccakf1600_theta_combined_xor_1_, ColumnAndShifts::keccakf1600_state_theta_13,
559 ColumnAndShifts::keccakf1600_state_theta_14
561 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
562 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
563 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
564 ColumnAndShifts::bitwise_ic_simd
570template <
typename FF_>
577 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_20";
582 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_20_counts;
583 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_20_inv;
584 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
585 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_20,
586 ColumnAndShifts::keccakf1600_state_in_21, ColumnAndShifts::keccakf1600_theta_combined_xor_2_,
587 ColumnAndShifts::keccakf1600_theta_combined_xor_2_, ColumnAndShifts::keccakf1600_state_theta_20,
588 ColumnAndShifts::keccakf1600_state_theta_21
590 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
591 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
592 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
593 ColumnAndShifts::bitwise_ic_simd
599template <
typename FF_>
606 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_22";
611 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_22_counts;
612 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_22_inv;
613 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
614 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_22,
615 ColumnAndShifts::keccakf1600_state_in_23, ColumnAndShifts::keccakf1600_theta_combined_xor_2_,
616 ColumnAndShifts::keccakf1600_theta_combined_xor_2_, ColumnAndShifts::keccakf1600_state_theta_22,
617 ColumnAndShifts::keccakf1600_state_theta_23
619 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
620 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
621 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
622 ColumnAndShifts::bitwise_ic_simd
628template <
typename FF_>
635 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_24";
640 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_24_counts;
641 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_24_inv;
642 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
643 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_24,
644 ColumnAndShifts::keccakf1600_state_in_30, ColumnAndShifts::keccakf1600_theta_combined_xor_2_,
645 ColumnAndShifts::keccakf1600_theta_combined_xor_3_, ColumnAndShifts::keccakf1600_state_theta_24,
646 ColumnAndShifts::keccakf1600_state_theta_30
648 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
649 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
650 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
651 ColumnAndShifts::bitwise_ic_simd
657template <
typename FF_>
664 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_31";
669 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_31_counts;
670 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_31_inv;
671 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
672 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_31,
673 ColumnAndShifts::keccakf1600_state_in_32, ColumnAndShifts::keccakf1600_theta_combined_xor_3_,
674 ColumnAndShifts::keccakf1600_theta_combined_xor_3_, ColumnAndShifts::keccakf1600_state_theta_31,
675 ColumnAndShifts::keccakf1600_state_theta_32
677 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
678 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
679 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
680 ColumnAndShifts::bitwise_ic_simd
686template <
typename FF_>
693 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_33";
698 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_33_counts;
699 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_33_inv;
700 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
701 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_33,
702 ColumnAndShifts::keccakf1600_state_in_34, ColumnAndShifts::keccakf1600_theta_combined_xor_3_,
703 ColumnAndShifts::keccakf1600_theta_combined_xor_3_, ColumnAndShifts::keccakf1600_state_theta_33,
704 ColumnAndShifts::keccakf1600_state_theta_34
706 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
707 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
708 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
709 ColumnAndShifts::bitwise_ic_simd
715template <
typename FF_>
722 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_40";
727 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_40_counts;
728 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_40_inv;
729 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
730 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_40,
731 ColumnAndShifts::keccakf1600_state_in_41, ColumnAndShifts::keccakf1600_theta_combined_xor_4_,
732 ColumnAndShifts::keccakf1600_theta_combined_xor_4_, ColumnAndShifts::keccakf1600_state_theta_40,
733 ColumnAndShifts::keccakf1600_state_theta_41
735 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
736 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
737 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
738 ColumnAndShifts::bitwise_ic_simd
744template <
typename FF_>
751 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_SIMD_42";
756 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_simd_42_counts;
757 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_simd_42_inv;
758 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
759 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_in_42,
760 ColumnAndShifts::keccakf1600_state_in_43, ColumnAndShifts::keccakf1600_theta_combined_xor_4_,
761 ColumnAndShifts::keccakf1600_theta_combined_xor_4_, ColumnAndShifts::keccakf1600_state_theta_42,
762 ColumnAndShifts::keccakf1600_state_theta_43
764 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
765 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
766 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
767 ColumnAndShifts::bitwise_ic_simd
773template <
typename FF_>
780 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_THETA_44";
785 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_theta_44_counts;
786 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_theta_44_inv;
787 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
788 ColumnAndShifts::keccakf1600_bitwise_xor_op_id,
789 ColumnAndShifts::keccakf1600_state_in_44,
790 ColumnAndShifts::keccakf1600_theta_combined_xor_4_,
791 ColumnAndShifts::keccakf1600_state_theta_44,
792 ColumnAndShifts::keccakf1600_tag_u64,
793 ColumnAndShifts::keccakf1600_tag_u64
795 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
796 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
797 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
802template <
typename FF_>
809 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_02_RANGE";
814 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_02_range_counts;
815 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_02_range_inv;
816 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
817 ColumnAndShifts::keccakf1600_state_theta_hi_02, ColumnAndShifts::keccakf1600_rot_len_02
819 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
820 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
826template <
typename FF_>
833 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_04_RANGE";
838 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_04_range_counts;
839 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_04_range_inv;
840 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
841 ColumnAndShifts::keccakf1600_state_theta_hi_04, ColumnAndShifts::keccakf1600_rot_len_04
843 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
844 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
850template <
typename FF_>
857 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_10_RANGE";
862 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_10_range_counts;
863 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_10_range_inv;
864 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
865 ColumnAndShifts::keccakf1600_state_theta_hi_10, ColumnAndShifts::keccakf1600_rot_len_10
867 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
868 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
874template <
typename FF_>
881 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_12_RANGE";
886 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_12_range_counts;
887 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_12_range_inv;
888 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
889 ColumnAndShifts::keccakf1600_state_theta_hi_12, ColumnAndShifts::keccakf1600_rot_len_12
891 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
892 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
898template <
typename FF_>
905 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_14_RANGE";
910 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_14_range_counts;
911 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_14_range_inv;
912 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
913 ColumnAndShifts::keccakf1600_state_theta_hi_14, ColumnAndShifts::keccakf1600_rot_len_14
915 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
916 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
922template <
typename FF_>
929 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_21_RANGE";
934 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_21_range_counts;
935 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_21_range_inv;
936 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
937 ColumnAndShifts::keccakf1600_state_theta_hi_21, ColumnAndShifts::keccakf1600_rot_len_21
939 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
940 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
946template <
typename FF_>
953 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_23_RANGE";
958 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_23_range_counts;
959 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_23_range_inv;
960 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
961 ColumnAndShifts::keccakf1600_state_theta_hi_23, ColumnAndShifts::keccakf1600_rot_len_23
963 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
964 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
970template <
typename FF_>
977 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_30_RANGE";
982 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_30_range_counts;
983 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_30_range_inv;
984 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
985 ColumnAndShifts::keccakf1600_state_theta_hi_30, ColumnAndShifts::keccakf1600_rot_len_30
987 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
988 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
994template <
typename FF_>
1001 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_32_RANGE";
1006 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_32_range_counts;
1007 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_32_range_inv;
1008 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1009 ColumnAndShifts::keccakf1600_state_theta_hi_32, ColumnAndShifts::keccakf1600_rot_len_32
1011 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1012 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1018template <
typename FF_>
1025 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_33_RANGE";
1030 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_33_range_counts;
1031 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_33_range_inv;
1032 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1033 ColumnAndShifts::keccakf1600_state_theta_hi_33, ColumnAndShifts::keccakf1600_rot_len_33
1035 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1036 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1042template <
typename FF_>
1049 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_40_RANGE";
1054 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_40_range_counts;
1055 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_40_range_inv;
1056 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1057 ColumnAndShifts::keccakf1600_state_theta_hi_40, ColumnAndShifts::keccakf1600_rot_len_40
1059 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1060 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1066template <
typename FF_>
1073 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_41_RANGE";
1078 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_41_range_counts;
1079 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_41_range_inv;
1080 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1081 ColumnAndShifts::keccakf1600_state_theta_hi_41, ColumnAndShifts::keccakf1600_rot_len_41
1083 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1084 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1090template <
typename FF_>
1097 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_43_RANGE";
1102 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_43_range_counts;
1103 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_43_range_inv;
1104 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1105 ColumnAndShifts::keccakf1600_state_theta_hi_43, ColumnAndShifts::keccakf1600_rot_len_43
1107 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1108 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1114template <
typename FF_>
1121 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_44_RANGE";
1126 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_44_range_counts;
1127 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_44_range_inv;
1128 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1129 ColumnAndShifts::keccakf1600_state_theta_hi_44, ColumnAndShifts::keccakf1600_rot_len_44
1131 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1132 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1138template <
typename FF_>
1145 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_01_RANGE";
1150 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_01_range_counts;
1151 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_01_range_inv;
1152 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1153 ColumnAndShifts::keccakf1600_state_theta_low_01, ColumnAndShifts::keccakf1600_rot_64_min_len_01
1155 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1156 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1162template <
typename FF_>
1169 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_03_RANGE";
1174 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_03_range_counts;
1175 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_03_range_inv;
1176 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1177 ColumnAndShifts::keccakf1600_state_theta_low_03, ColumnAndShifts::keccakf1600_rot_64_min_len_03
1179 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1180 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1186template <
typename FF_>
1193 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_11_RANGE";
1198 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_11_range_counts;
1199 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_11_range_inv;
1200 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1201 ColumnAndShifts::keccakf1600_state_theta_low_11, ColumnAndShifts::keccakf1600_rot_64_min_len_11
1203 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1204 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1210template <
typename FF_>
1217 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_13_RANGE";
1222 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_13_range_counts;
1223 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_13_range_inv;
1224 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1225 ColumnAndShifts::keccakf1600_state_theta_low_13, ColumnAndShifts::keccakf1600_rot_64_min_len_13
1227 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1228 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1234template <
typename FF_>
1241 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_20_RANGE";
1246 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_20_range_counts;
1247 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_20_range_inv;
1248 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1249 ColumnAndShifts::keccakf1600_state_theta_low_20, ColumnAndShifts::keccakf1600_rot_64_min_len_20
1251 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1252 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1258template <
typename FF_>
1265 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_22_RANGE";
1270 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_22_range_counts;
1271 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_22_range_inv;
1272 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1273 ColumnAndShifts::keccakf1600_state_theta_low_22, ColumnAndShifts::keccakf1600_rot_64_min_len_22
1275 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1276 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1282template <
typename FF_>
1289 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_24_RANGE";
1294 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_24_range_counts;
1295 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_24_range_inv;
1296 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1297 ColumnAndShifts::keccakf1600_state_theta_low_24, ColumnAndShifts::keccakf1600_rot_64_min_len_24
1299 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1300 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1306template <
typename FF_>
1313 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_31_RANGE";
1318 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_31_range_counts;
1319 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_31_range_inv;
1320 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1321 ColumnAndShifts::keccakf1600_state_theta_low_31, ColumnAndShifts::keccakf1600_rot_64_min_len_31
1323 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1324 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1330template <
typename FF_>
1337 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_34_RANGE";
1342 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_34_range_counts;
1343 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_34_range_inv;
1344 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1345 ColumnAndShifts::keccakf1600_state_theta_low_34, ColumnAndShifts::keccakf1600_rot_64_min_len_34
1347 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1348 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1354template <
typename FF_>
1361 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_THETA_LIMB_42_RANGE";
1366 static constexpr Column COUNTS = Column::lookup_keccakf1600_theta_limb_42_range_counts;
1367 static constexpr Column INVERSES = Column::lookup_keccakf1600_theta_limb_42_range_inv;
1368 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1369 ColumnAndShifts::keccakf1600_state_theta_low_42, ColumnAndShifts::keccakf1600_rot_64_min_len_42
1371 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1372 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
1378template <
typename FF_>
1385 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_00";
1390 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_00_counts;
1391 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_00_inv;
1392 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1393 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_10,
1394 ColumnAndShifts::keccakf1600_state_pi_not_11, ColumnAndShifts::keccakf1600_state_rho_22,
1395 ColumnAndShifts::keccakf1600_state_rho_02, ColumnAndShifts::keccakf1600_state_pi_and_00,
1396 ColumnAndShifts::keccakf1600_state_pi_and_01
1398 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1399 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1400 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1401 ColumnAndShifts::bitwise_ic_simd
1407template <
typename FF_>
1414 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_02";
1419 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_02_counts;
1420 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_02_inv;
1421 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1422 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_12,
1423 ColumnAndShifts::keccakf1600_state_pi_not_13, ColumnAndShifts::keccakf1600_state_rho_32,
1424 ColumnAndShifts::keccakf1600_state_rho_12, ColumnAndShifts::keccakf1600_state_pi_and_02,
1425 ColumnAndShifts::keccakf1600_state_pi_and_03
1427 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1428 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1429 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1430 ColumnAndShifts::bitwise_ic_simd
1436template <
typename FF_>
1443 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_04";
1448 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_04_counts;
1449 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_04_inv;
1450 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1451 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_14,
1452 ColumnAndShifts::keccakf1600_state_pi_not_20, ColumnAndShifts::keccakf1600_state_rho_42,
1453 ColumnAndShifts::keccakf1600_state_rho_33, ColumnAndShifts::keccakf1600_state_pi_and_04,
1454 ColumnAndShifts::keccakf1600_state_pi_and_10
1456 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1457 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1458 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1459 ColumnAndShifts::bitwise_ic_simd
1465template <
typename FF_>
1472 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_11";
1477 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_11_counts;
1478 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_11_inv;
1479 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1480 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_21,
1481 ColumnAndShifts::keccakf1600_state_pi_not_22, ColumnAndShifts::keccakf1600_state_rho_13,
1482 ColumnAndShifts::keccakf1600_state_rho_43, ColumnAndShifts::keccakf1600_state_pi_and_11,
1483 ColumnAndShifts::keccakf1600_state_pi_and_12
1485 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1486 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1487 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1488 ColumnAndShifts::bitwise_ic_simd
1494template <
typename FF_>
1501 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_13";
1506 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_13_counts;
1507 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_13_inv;
1508 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1509 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_23,
1510 ColumnAndShifts::keccakf1600_state_pi_not_24, ColumnAndShifts::keccakf1600_state_rho_23,
1511 ColumnAndShifts::keccakf1600_state_rho_03, ColumnAndShifts::keccakf1600_state_pi_and_13,
1512 ColumnAndShifts::keccakf1600_state_pi_and_14
1514 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1515 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1516 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1517 ColumnAndShifts::bitwise_ic_simd
1523template <
typename FF_>
1530 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_20";
1535 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_20_counts;
1536 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_20_inv;
1537 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1538 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_30,
1539 ColumnAndShifts::keccakf1600_state_pi_not_31, ColumnAndShifts::keccakf1600_state_rho_44,
1540 ColumnAndShifts::keccakf1600_state_rho_24, ColumnAndShifts::keccakf1600_state_pi_and_20,
1541 ColumnAndShifts::keccakf1600_state_pi_and_21
1543 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1544 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1545 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1546 ColumnAndShifts::bitwise_ic_simd
1552template <
typename FF_>
1559 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_22";
1564 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_22_counts;
1565 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_22_inv;
1566 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1567 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_32,
1568 ColumnAndShifts::keccakf1600_state_pi_not_33, ColumnAndShifts::keccakf1600_state_rho_04,
1569 ColumnAndShifts::keccakf1600_state_rho_34, ColumnAndShifts::keccakf1600_state_pi_and_22,
1570 ColumnAndShifts::keccakf1600_state_pi_and_23
1572 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1573 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1574 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1575 ColumnAndShifts::bitwise_ic_simd
1581template <
typename FF_>
1588 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_24";
1593 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_24_counts;
1594 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_24_inv;
1595 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1596 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_34,
1597 ColumnAndShifts::keccakf1600_state_pi_not_40, ColumnAndShifts::keccakf1600_state_rho_14,
1598 ColumnAndShifts::keccakf1600_state_theta_00, ColumnAndShifts::keccakf1600_state_pi_and_24,
1599 ColumnAndShifts::keccakf1600_state_pi_and_30
1601 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1602 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1603 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1604 ColumnAndShifts::bitwise_ic_simd
1610template <
typename FF_>
1617 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_31";
1622 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_31_counts;
1623 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_31_inv;
1624 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1625 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_41,
1626 ColumnAndShifts::keccakf1600_state_pi_not_42, ColumnAndShifts::keccakf1600_state_rho_30,
1627 ColumnAndShifts::keccakf1600_state_rho_10, ColumnAndShifts::keccakf1600_state_pi_and_31,
1628 ColumnAndShifts::keccakf1600_state_pi_and_32
1630 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1631 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1632 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1633 ColumnAndShifts::bitwise_ic_simd
1639template <
typename FF_>
1646 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_33";
1651 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_33_counts;
1652 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_33_inv;
1653 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1654 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_43,
1655 ColumnAndShifts::keccakf1600_state_pi_not_44, ColumnAndShifts::keccakf1600_state_rho_40,
1656 ColumnAndShifts::keccakf1600_state_rho_20, ColumnAndShifts::keccakf1600_state_pi_and_33,
1657 ColumnAndShifts::keccakf1600_state_pi_and_34
1659 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1660 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1661 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1662 ColumnAndShifts::bitwise_ic_simd
1668template <
typename FF_>
1675 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_40";
1680 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_40_counts;
1681 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_40_inv;
1682 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1683 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_00,
1684 ColumnAndShifts::keccakf1600_state_pi_not_01, ColumnAndShifts::keccakf1600_state_rho_11,
1685 ColumnAndShifts::keccakf1600_state_rho_41, ColumnAndShifts::keccakf1600_state_pi_and_40,
1686 ColumnAndShifts::keccakf1600_state_pi_and_41
1688 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1689 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1690 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1691 ColumnAndShifts::bitwise_ic_simd
1697template <
typename FF_>
1704 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_SIMD_42";
1709 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_simd_42_counts;
1710 static constexpr Column INVERSES = Column::lookup_keccakf1600_state_pi_and_simd_42_inv;
1711 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1712 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_02,
1713 ColumnAndShifts::keccakf1600_state_pi_not_03, ColumnAndShifts::keccakf1600_state_rho_21,
1714 ColumnAndShifts::keccakf1600_state_rho_01, ColumnAndShifts::keccakf1600_state_pi_and_42,
1715 ColumnAndShifts::keccakf1600_state_pi_and_43
1717 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1718 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1719 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1720 ColumnAndShifts::bitwise_ic_simd
1726template <
typename FF_>
1733 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_PI_AND_44";
1738 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_pi_and_44_counts;
1740 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1741 ColumnAndShifts::keccakf1600_bitwise_and_op_id, ColumnAndShifts::keccakf1600_state_pi_not_04,
1742 ColumnAndShifts::keccakf1600_state_rho_31, ColumnAndShifts::keccakf1600_state_pi_and_44,
1743 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
1745 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1746 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
1747 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
1752template <
typename FF_>
1759 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_00";
1764 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_00_counts;
1766 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1767 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_theta_00,
1768 ColumnAndShifts::keccakf1600_state_rho_30, ColumnAndShifts::keccakf1600_state_pi_and_00,
1769 ColumnAndShifts::keccakf1600_state_pi_and_01, ColumnAndShifts::keccakf1600_state_chi_00,
1770 ColumnAndShifts::keccakf1600_state_chi_01
1772 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1773 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1774 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1775 ColumnAndShifts::bitwise_ic_simd
1780template <
typename FF_>
1787 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_02";
1792 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_02_counts;
1794 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1795 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_10,
1796 ColumnAndShifts::keccakf1600_state_rho_40, ColumnAndShifts::keccakf1600_state_pi_and_02,
1797 ColumnAndShifts::keccakf1600_state_pi_and_03, ColumnAndShifts::keccakf1600_state_chi_02,
1798 ColumnAndShifts::keccakf1600_state_chi_03
1800 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1801 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1802 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1803 ColumnAndShifts::bitwise_ic_simd
1808template <
typename FF_>
1815 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_04";
1820 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_04_counts;
1822 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1823 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_20,
1824 ColumnAndShifts::keccakf1600_state_rho_11, ColumnAndShifts::keccakf1600_state_pi_and_04,
1825 ColumnAndShifts::keccakf1600_state_pi_and_10, ColumnAndShifts::keccakf1600_state_chi_04,
1826 ColumnAndShifts::keccakf1600_state_chi_10
1828 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1829 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1830 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1831 ColumnAndShifts::bitwise_ic_simd
1836template <
typename FF_>
1843 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_11";
1848 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_11_counts;
1850 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1851 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_41,
1852 ColumnAndShifts::keccakf1600_state_rho_21, ColumnAndShifts::keccakf1600_state_pi_and_11,
1853 ColumnAndShifts::keccakf1600_state_pi_and_12, ColumnAndShifts::keccakf1600_state_chi_11,
1854 ColumnAndShifts::keccakf1600_state_chi_12
1856 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1857 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1858 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1859 ColumnAndShifts::bitwise_ic_simd
1864template <
typename FF_>
1871 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_13";
1876 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_13_counts;
1878 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1879 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_01,
1880 ColumnAndShifts::keccakf1600_state_rho_31, ColumnAndShifts::keccakf1600_state_pi_and_13,
1881 ColumnAndShifts::keccakf1600_state_pi_and_14, ColumnAndShifts::keccakf1600_state_chi_13,
1882 ColumnAndShifts::keccakf1600_state_chi_14
1884 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1885 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1886 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1887 ColumnAndShifts::bitwise_ic_simd
1892template <
typename FF_>
1899 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_20";
1904 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_20_counts;
1906 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1907 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_22,
1908 ColumnAndShifts::keccakf1600_state_rho_02, ColumnAndShifts::keccakf1600_state_pi_and_20,
1909 ColumnAndShifts::keccakf1600_state_pi_and_21, ColumnAndShifts::keccakf1600_state_chi_20,
1910 ColumnAndShifts::keccakf1600_state_chi_21
1912 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1913 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1914 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1915 ColumnAndShifts::bitwise_ic_simd
1920template <
typename FF_>
1927 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_22";
1932 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_22_counts;
1934 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1935 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_32,
1936 ColumnAndShifts::keccakf1600_state_rho_12, ColumnAndShifts::keccakf1600_state_pi_and_22,
1937 ColumnAndShifts::keccakf1600_state_pi_and_23, ColumnAndShifts::keccakf1600_state_chi_22,
1938 ColumnAndShifts::keccakf1600_state_chi_23
1940 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1941 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1942 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1943 ColumnAndShifts::bitwise_ic_simd
1948template <
typename FF_>
1955 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_24";
1960 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_24_counts;
1962 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1963 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_42,
1964 ColumnAndShifts::keccakf1600_state_rho_33, ColumnAndShifts::keccakf1600_state_pi_and_24,
1965 ColumnAndShifts::keccakf1600_state_pi_and_30, ColumnAndShifts::keccakf1600_state_chi_24,
1966 ColumnAndShifts::keccakf1600_state_chi_30
1968 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1969 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1970 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1971 ColumnAndShifts::bitwise_ic_simd
1976template <
typename FF_>
1983 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_31";
1988 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_31_counts;
1990 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
1991 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_13,
1992 ColumnAndShifts::keccakf1600_state_rho_43, ColumnAndShifts::keccakf1600_state_pi_and_31,
1993 ColumnAndShifts::keccakf1600_state_pi_and_32, ColumnAndShifts::keccakf1600_state_chi_31,
1994 ColumnAndShifts::keccakf1600_state_chi_32
1996 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
1997 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
1998 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
1999 ColumnAndShifts::bitwise_ic_simd
2004template <
typename FF_>
2011 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_33";
2016 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_33_counts;
2018 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2019 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_23,
2020 ColumnAndShifts::keccakf1600_state_rho_03, ColumnAndShifts::keccakf1600_state_pi_and_33,
2021 ColumnAndShifts::keccakf1600_state_pi_and_34, ColumnAndShifts::keccakf1600_state_chi_33,
2022 ColumnAndShifts::keccakf1600_state_chi_34
2024 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2025 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
2026 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
2027 ColumnAndShifts::bitwise_ic_simd
2032template <
typename FF_>
2039 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_40";
2044 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_40_counts;
2046 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2047 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_44,
2048 ColumnAndShifts::keccakf1600_state_rho_24, ColumnAndShifts::keccakf1600_state_pi_and_40,
2049 ColumnAndShifts::keccakf1600_state_pi_and_41, ColumnAndShifts::keccakf1600_state_chi_40,
2050 ColumnAndShifts::keccakf1600_state_chi_41
2052 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2053 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
2054 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
2055 ColumnAndShifts::bitwise_ic_simd
2060template <
typename FF_>
2067 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_SIMD_42";
2072 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_simd_42_counts;
2074 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2075 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_04,
2076 ColumnAndShifts::keccakf1600_state_rho_34, ColumnAndShifts::keccakf1600_state_pi_and_42,
2077 ColumnAndShifts::keccakf1600_state_pi_and_43, ColumnAndShifts::keccakf1600_state_chi_42,
2078 ColumnAndShifts::keccakf1600_state_chi_43
2080 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2081 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ia_simd,
2082 ColumnAndShifts::bitwise_ib, ColumnAndShifts::bitwise_ib_simd, ColumnAndShifts::bitwise_ic,
2083 ColumnAndShifts::bitwise_ic_simd
2088template <
typename FF_>
2095 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_CHI_44";
2100 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_chi_44_counts;
2102 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2103 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_rho_14,
2104 ColumnAndShifts::keccakf1600_state_pi_and_44, ColumnAndShifts::keccakf1600_state_chi_44,
2105 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
2107 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2108 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
2109 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
2114template <
typename FF_>
2120 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_ROUND_CST";
2125 static constexpr Column COUNTS = Column::lookup_keccakf1600_round_cst_counts;
2127 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2128 ColumnAndShifts::keccakf1600_round, ColumnAndShifts::keccakf1600_round_cst
2130 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2131 ColumnAndShifts::precomputed_idx, ColumnAndShifts::precomputed_keccak_round_constant
2136template <
typename FF_>
2142 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_STATE_IOTA_00";
2147 static constexpr Column COUNTS = Column::lookup_keccakf1600_state_iota_00_counts;
2149 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2150 ColumnAndShifts::keccakf1600_bitwise_xor_op_id, ColumnAndShifts::keccakf1600_state_chi_00,
2151 ColumnAndShifts::keccakf1600_round_cst, ColumnAndShifts::keccakf1600_state_iota_00,
2152 ColumnAndShifts::keccakf1600_tag_u64, ColumnAndShifts::keccakf1600_tag_u64
2154 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
2155 ColumnAndShifts::bitwise_op_id, ColumnAndShifts::bitwise_ia, ColumnAndShifts::bitwise_ib,
2156 ColumnAndShifts::bitwise_ic, ColumnAndShifts::bitwise_tag_a, ColumnAndShifts::bitwise_tag_b
2161template <
typename FF_>
2167 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_SRC_OUT_OF_RANGE_TOGGLE";
2172 static constexpr Column COUNTS = Column::lookup_keccakf1600_src_out_of_range_toggle_counts;
2173 static constexpr Column INVERSES = Column::lookup_keccakf1600_src_out_of_range_toggle_inv;
2174 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2175 ColumnAndShifts::keccakf1600_src_addr,
2176 ColumnAndShifts::keccakf1600_highest_slice_address,
2177 ColumnAndShifts::keccakf1600_src_out_of_range_error
2179 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = { ColumnAndShifts::gt_input_a,
2180 ColumnAndShifts::gt_input_b,
2181 ColumnAndShifts::gt_res };
2186template <
typename FF_>
2193 static constexpr std::string_view
NAME =
"LOOKUP_KECCAKF1600_DST_OUT_OF_RANGE_TOGGLE";
2198 static constexpr Column COUNTS = Column::lookup_keccakf1600_dst_out_of_range_toggle_counts;
2199 static constexpr Column INVERSES = Column::lookup_keccakf1600_dst_out_of_range_toggle_inv;
2200 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
2201 ColumnAndShifts::keccakf1600_dst_addr,
2202 ColumnAndShifts::keccakf1600_highest_slice_address,
2203 ColumnAndShifts::keccakf1600_dst_out_of_range_error
2205 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = { ColumnAndShifts::gt_input_a,
2206 ColumnAndShifts::gt_input_b,
2207 ColumnAndShifts::gt_res };
2212template <
typename FF_>
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column COUNTS
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::string_view NAME
Settings to be passed ot GenericLookupRelationImpl.