Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
keccakf1600.hpp
Go to the documentation of this file.
1// AUTOGENERATED FILE
2#pragma once
3
4#include <string_view>
5
10
11namespace bb::avm2 {
12
13template <typename FF_> class keccakf1600Impl {
14 public:
15 using FF = FF_;
16
17 static constexpr std::array<size_t, 159> SUBRELATION_PARTIAL_LENGTHS = {
18 3, 4, 3, 3, 3, 4, 3, 3, 3, 3, 4, 3, 3, 3, 3, 2, 2, 3, 2, 2, 3, 2, 2, 3, 2, 2, 3, 2, 2, 2, 2, 2,
19 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
20 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
21 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
22 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 3, 3, 3, 4, 3
23 };
24
25 template <typename AllEntities> inline static bool skip(const AllEntities& in)
26 {
27 using C = ColumnAndShifts;
28
29 return (in.get(C::keccakf1600_sel)).is_zero();
30 }
31
32 template <typename ContainerOverSubrelations, typename AllEntities>
33 void static accumulate(ContainerOverSubrelations& evals,
34 const AllEntities& in,
35 [[maybe_unused]] const RelationParameters<FF>&,
36 [[maybe_unused]] const FF& scaling_factor);
37};
38
39template <typename FF> class keccakf1600 : public Relation<keccakf1600Impl<FF>> {
40 public:
41 static constexpr const std::string_view NAME = "keccakf1600";
42
43 // Subrelation indices constants, to be used in tests.
44 static constexpr size_t SR_TRACE_CONTINUITY = 1;
45 static constexpr size_t SR_SEL_NO_ERROR = 2;
46 static constexpr size_t SR_KECCAK_SEL_ROUND_NON_ZERO = 5;
47 static constexpr size_t SR_LAST_ON_ERROR = 7;
48 static constexpr size_t SR_START_AFTER_LATCH = 8;
49 static constexpr size_t SR_LAST_HAS_SEL_ON = 9;
50 static constexpr size_t SR_KECCAK_ROUND_INCREMENT = 10;
51 static constexpr size_t SR_THETA_XOR_ROW_MSB_0_BOOLEAN = 14;
52 static constexpr size_t SR_THETA_XOR_ROW_0_DECOMPOSITION = 15;
53 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_0 = 16;
54 static constexpr size_t SR_THETA_XOR_ROW_MSB_1_BOOLEAN = 17;
55 static constexpr size_t SR_THETA_XOR_ROW_1_DECOMPOSITION = 18;
56 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_1 = 19;
57 static constexpr size_t SR_THETA_XOR_ROW_MSB_2_BOOLEAN = 20;
58 static constexpr size_t SR_THETA_XOR_ROW_2_DECOMPOSITION = 21;
59 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_2 = 22;
60 static constexpr size_t SR_THETA_XOR_ROW_MSB_3_BOOLEAN = 23;
61 static constexpr size_t SR_THETA_XOR_ROW_3_DECOMPOSITION = 24;
62 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_3 = 25;
63 static constexpr size_t SR_THETA_XOR_ROW_MSB_4_BOOLEAN = 26;
64 static constexpr size_t SR_THETA_XOR_ROW_4_DECOMPOSITION = 27;
65 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_4 = 28;
66 static constexpr size_t SR_STATE_THETA_01_DECOMPOSE = 29;
67 static constexpr size_t SR_STATE_RHO_01 = 30;
68 static constexpr size_t SR_STATE_THETA_02_DECOMPOSE = 31;
69 static constexpr size_t SR_STATE_RHO_02 = 32;
70 static constexpr size_t SR_STATE_THETA_03_DECOMPOSE = 33;
71 static constexpr size_t SR_STATE_RHO_03 = 34;
72 static constexpr size_t SR_STATE_THETA_04_DECOMPOSE = 35;
73 static constexpr size_t SR_STATE_RHO_04 = 36;
74 static constexpr size_t SR_STATE_THETA_10_DECOMPOSE = 37;
75 static constexpr size_t SR_STATE_RHO_10 = 38;
76 static constexpr size_t SR_STATE_THETA_11_DECOMPOSE = 39;
77 static constexpr size_t SR_STATE_RHO_11 = 40;
78 static constexpr size_t SR_STATE_THETA_12_DECOMPOSE = 41;
79 static constexpr size_t SR_STATE_RHO_12 = 42;
80 static constexpr size_t SR_STATE_THETA_13_DECOMPOSE = 43;
81 static constexpr size_t SR_STATE_RHO_13 = 44;
82 static constexpr size_t SR_STATE_THETA_14_DECOMPOSE = 45;
83 static constexpr size_t SR_STATE_RHO_14 = 46;
84 static constexpr size_t SR_STATE_THETA_20_DECOMPOSE = 47;
85 static constexpr size_t SR_STATE_RHO_20 = 48;
86 static constexpr size_t SR_STATE_THETA_21_DECOMPOSE = 49;
87 static constexpr size_t SR_STATE_RHO_21 = 50;
88 static constexpr size_t SR_STATE_THETA_22_DECOMPOSE = 51;
89 static constexpr size_t SR_STATE_RHO_22 = 52;
90 static constexpr size_t SR_STATE_THETA_23_DECOMPOSE = 53;
91 static constexpr size_t SR_STATE_RHO_23 = 54;
92 static constexpr size_t SR_STATE_THETA_24_DECOMPOSE = 55;
93 static constexpr size_t SR_STATE_RHO_24 = 56;
94 static constexpr size_t SR_STATE_THETA_30_DECOMPOSE = 57;
95 static constexpr size_t SR_STATE_RHO_30 = 58;
96 static constexpr size_t SR_STATE_THETA_31_DECOMPOSE = 59;
97 static constexpr size_t SR_STATE_RHO_31 = 60;
98 static constexpr size_t SR_STATE_THETA_32_DECOMPOSE = 61;
99 static constexpr size_t SR_STATE_RHO_32 = 62;
100 static constexpr size_t SR_STATE_THETA_33_DECOMPOSE = 63;
101 static constexpr size_t SR_STATE_RHO_33 = 64;
102 static constexpr size_t SR_STATE_THETA_34_DECOMPOSE = 65;
103 static constexpr size_t SR_STATE_RHO_34 = 66;
104 static constexpr size_t SR_STATE_THETA_40_DECOMPOSE = 67;
105 static constexpr size_t SR_STATE_RHO_40 = 68;
106 static constexpr size_t SR_STATE_THETA_41_DECOMPOSE = 69;
107 static constexpr size_t SR_STATE_RHO_41 = 70;
108 static constexpr size_t SR_STATE_THETA_42_DECOMPOSE = 71;
109 static constexpr size_t SR_STATE_RHO_42 = 72;
110 static constexpr size_t SR_STATE_THETA_43_DECOMPOSE = 73;
111 static constexpr size_t SR_STATE_RHO_43 = 74;
112 static constexpr size_t SR_STATE_THETA_44_DECOMPOSE = 75;
113 static constexpr size_t SR_STATE_RHO_44 = 76;
114 static constexpr size_t SR_STATE_PI_NOT_00 = 101;
115 static constexpr size_t SR_STATE_PI_NOT_01 = 102;
116 static constexpr size_t SR_STATE_PI_NOT_02 = 103;
117 static constexpr size_t SR_STATE_PI_NOT_03 = 104;
118 static constexpr size_t SR_STATE_PI_NOT_04 = 105;
119 static constexpr size_t SR_STATE_PI_NOT_10 = 106;
120 static constexpr size_t SR_STATE_PI_NOT_11 = 107;
121 static constexpr size_t SR_STATE_PI_NOT_12 = 108;
122 static constexpr size_t SR_STATE_PI_NOT_13 = 109;
123 static constexpr size_t SR_STATE_PI_NOT_14 = 110;
124 static constexpr size_t SR_STATE_PI_NOT_20 = 111;
125 static constexpr size_t SR_STATE_PI_NOT_21 = 112;
126 static constexpr size_t SR_STATE_PI_NOT_22 = 113;
127 static constexpr size_t SR_STATE_PI_NOT_23 = 114;
128 static constexpr size_t SR_STATE_PI_NOT_24 = 115;
129 static constexpr size_t SR_STATE_PI_NOT_30 = 116;
130 static constexpr size_t SR_STATE_PI_NOT_31 = 117;
131 static constexpr size_t SR_STATE_PI_NOT_32 = 118;
132 static constexpr size_t SR_STATE_PI_NOT_33 = 119;
133 static constexpr size_t SR_STATE_PI_NOT_34 = 120;
134 static constexpr size_t SR_STATE_PI_NOT_40 = 121;
135 static constexpr size_t SR_STATE_PI_NOT_41 = 122;
136 static constexpr size_t SR_STATE_PI_NOT_42 = 123;
137 static constexpr size_t SR_STATE_PI_NOT_43 = 124;
138 static constexpr size_t SR_STATE_PI_NOT_44 = 125;
139 static constexpr size_t SR_NEXT_STATE_IN_00 = 126;
140 static constexpr size_t SR_NEXT_STATE_IN_01 = 127;
141 static constexpr size_t SR_NEXT_STATE_IN_02 = 128;
142 static constexpr size_t SR_NEXT_STATE_IN_03 = 129;
143 static constexpr size_t SR_NEXT_STATE_IN_04 = 130;
144 static constexpr size_t SR_NEXT_STATE_IN_10 = 131;
145 static constexpr size_t SR_NEXT_STATE_IN_11 = 132;
146 static constexpr size_t SR_NEXT_STATE_IN_12 = 133;
147 static constexpr size_t SR_NEXT_STATE_IN_13 = 134;
148 static constexpr size_t SR_NEXT_STATE_IN_14 = 135;
149 static constexpr size_t SR_NEXT_STATE_IN_20 = 136;
150 static constexpr size_t SR_NEXT_STATE_IN_21 = 137;
151 static constexpr size_t SR_NEXT_STATE_IN_22 = 138;
152 static constexpr size_t SR_NEXT_STATE_IN_23 = 139;
153 static constexpr size_t SR_NEXT_STATE_IN_24 = 140;
154 static constexpr size_t SR_NEXT_STATE_IN_30 = 141;
155 static constexpr size_t SR_NEXT_STATE_IN_31 = 142;
156 static constexpr size_t SR_NEXT_STATE_IN_32 = 143;
157 static constexpr size_t SR_NEXT_STATE_IN_33 = 144;
158 static constexpr size_t SR_NEXT_STATE_IN_34 = 145;
159 static constexpr size_t SR_NEXT_STATE_IN_40 = 146;
160 static constexpr size_t SR_NEXT_STATE_IN_41 = 147;
161 static constexpr size_t SR_NEXT_STATE_IN_42 = 148;
162 static constexpr size_t SR_NEXT_STATE_IN_43 = 149;
163 static constexpr size_t SR_NEXT_STATE_IN_44 = 150;
164 static constexpr size_t SR_ERROR = 152;
165 static constexpr size_t SR_DST_ADDR_PROPAGATION = 153;
166 static constexpr size_t SR_CLK_PROPAGATION = 154;
167 static constexpr size_t SR_SPACE_ID_PROPAGATION = 155;
168 static constexpr size_t SR_SEL_NO_ERROR_PROPAGATION = 156;
169 static constexpr size_t SR_SEL_SLICE_READ = 157;
170 static constexpr size_t SR_SEL_SLICE_WRITE = 158;
171
172 static std::string get_subrelation_label(size_t index)
173 {
174 switch (index) {
176 return "TRACE_CONTINUITY";
177 case SR_SEL_NO_ERROR:
178 return "SEL_NO_ERROR";
180 return "KECCAK_SEL_ROUND_NON_ZERO";
181 case SR_LAST_ON_ERROR:
182 return "LAST_ON_ERROR";
184 return "START_AFTER_LATCH";
186 return "LAST_HAS_SEL_ON";
188 return "KECCAK_ROUND_INCREMENT";
190 return "THETA_XOR_ROW_MSB_0_BOOLEAN";
192 return "THETA_XOR_ROW_0_DECOMPOSITION";
194 return "THETA_XOR_ROW_ROTL1_0";
196 return "THETA_XOR_ROW_MSB_1_BOOLEAN";
198 return "THETA_XOR_ROW_1_DECOMPOSITION";
200 return "THETA_XOR_ROW_ROTL1_1";
202 return "THETA_XOR_ROW_MSB_2_BOOLEAN";
204 return "THETA_XOR_ROW_2_DECOMPOSITION";
206 return "THETA_XOR_ROW_ROTL1_2";
208 return "THETA_XOR_ROW_MSB_3_BOOLEAN";
210 return "THETA_XOR_ROW_3_DECOMPOSITION";
212 return "THETA_XOR_ROW_ROTL1_3";
214 return "THETA_XOR_ROW_MSB_4_BOOLEAN";
216 return "THETA_XOR_ROW_4_DECOMPOSITION";
218 return "THETA_XOR_ROW_ROTL1_4";
220 return "STATE_THETA_01_DECOMPOSE";
221 case SR_STATE_RHO_01:
222 return "STATE_RHO_01";
224 return "STATE_THETA_02_DECOMPOSE";
225 case SR_STATE_RHO_02:
226 return "STATE_RHO_02";
228 return "STATE_THETA_03_DECOMPOSE";
229 case SR_STATE_RHO_03:
230 return "STATE_RHO_03";
232 return "STATE_THETA_04_DECOMPOSE";
233 case SR_STATE_RHO_04:
234 return "STATE_RHO_04";
236 return "STATE_THETA_10_DECOMPOSE";
237 case SR_STATE_RHO_10:
238 return "STATE_RHO_10";
240 return "STATE_THETA_11_DECOMPOSE";
241 case SR_STATE_RHO_11:
242 return "STATE_RHO_11";
244 return "STATE_THETA_12_DECOMPOSE";
245 case SR_STATE_RHO_12:
246 return "STATE_RHO_12";
248 return "STATE_THETA_13_DECOMPOSE";
249 case SR_STATE_RHO_13:
250 return "STATE_RHO_13";
252 return "STATE_THETA_14_DECOMPOSE";
253 case SR_STATE_RHO_14:
254 return "STATE_RHO_14";
256 return "STATE_THETA_20_DECOMPOSE";
257 case SR_STATE_RHO_20:
258 return "STATE_RHO_20";
260 return "STATE_THETA_21_DECOMPOSE";
261 case SR_STATE_RHO_21:
262 return "STATE_RHO_21";
264 return "STATE_THETA_22_DECOMPOSE";
265 case SR_STATE_RHO_22:
266 return "STATE_RHO_22";
268 return "STATE_THETA_23_DECOMPOSE";
269 case SR_STATE_RHO_23:
270 return "STATE_RHO_23";
272 return "STATE_THETA_24_DECOMPOSE";
273 case SR_STATE_RHO_24:
274 return "STATE_RHO_24";
276 return "STATE_THETA_30_DECOMPOSE";
277 case SR_STATE_RHO_30:
278 return "STATE_RHO_30";
280 return "STATE_THETA_31_DECOMPOSE";
281 case SR_STATE_RHO_31:
282 return "STATE_RHO_31";
284 return "STATE_THETA_32_DECOMPOSE";
285 case SR_STATE_RHO_32:
286 return "STATE_RHO_32";
288 return "STATE_THETA_33_DECOMPOSE";
289 case SR_STATE_RHO_33:
290 return "STATE_RHO_33";
292 return "STATE_THETA_34_DECOMPOSE";
293 case SR_STATE_RHO_34:
294 return "STATE_RHO_34";
296 return "STATE_THETA_40_DECOMPOSE";
297 case SR_STATE_RHO_40:
298 return "STATE_RHO_40";
300 return "STATE_THETA_41_DECOMPOSE";
301 case SR_STATE_RHO_41:
302 return "STATE_RHO_41";
304 return "STATE_THETA_42_DECOMPOSE";
305 case SR_STATE_RHO_42:
306 return "STATE_RHO_42";
308 return "STATE_THETA_43_DECOMPOSE";
309 case SR_STATE_RHO_43:
310 return "STATE_RHO_43";
312 return "STATE_THETA_44_DECOMPOSE";
313 case SR_STATE_RHO_44:
314 return "STATE_RHO_44";
316 return "STATE_PI_NOT_00";
318 return "STATE_PI_NOT_01";
320 return "STATE_PI_NOT_02";
322 return "STATE_PI_NOT_03";
324 return "STATE_PI_NOT_04";
326 return "STATE_PI_NOT_10";
328 return "STATE_PI_NOT_11";
330 return "STATE_PI_NOT_12";
332 return "STATE_PI_NOT_13";
334 return "STATE_PI_NOT_14";
336 return "STATE_PI_NOT_20";
338 return "STATE_PI_NOT_21";
340 return "STATE_PI_NOT_22";
342 return "STATE_PI_NOT_23";
344 return "STATE_PI_NOT_24";
346 return "STATE_PI_NOT_30";
348 return "STATE_PI_NOT_31";
350 return "STATE_PI_NOT_32";
352 return "STATE_PI_NOT_33";
354 return "STATE_PI_NOT_34";
356 return "STATE_PI_NOT_40";
358 return "STATE_PI_NOT_41";
360 return "STATE_PI_NOT_42";
362 return "STATE_PI_NOT_43";
364 return "STATE_PI_NOT_44";
366 return "NEXT_STATE_IN_00";
368 return "NEXT_STATE_IN_01";
370 return "NEXT_STATE_IN_02";
372 return "NEXT_STATE_IN_03";
374 return "NEXT_STATE_IN_04";
376 return "NEXT_STATE_IN_10";
378 return "NEXT_STATE_IN_11";
380 return "NEXT_STATE_IN_12";
382 return "NEXT_STATE_IN_13";
384 return "NEXT_STATE_IN_14";
386 return "NEXT_STATE_IN_20";
388 return "NEXT_STATE_IN_21";
390 return "NEXT_STATE_IN_22";
392 return "NEXT_STATE_IN_23";
394 return "NEXT_STATE_IN_24";
396 return "NEXT_STATE_IN_30";
398 return "NEXT_STATE_IN_31";
400 return "NEXT_STATE_IN_32";
402 return "NEXT_STATE_IN_33";
404 return "NEXT_STATE_IN_34";
406 return "NEXT_STATE_IN_40";
408 return "NEXT_STATE_IN_41";
410 return "NEXT_STATE_IN_42";
412 return "NEXT_STATE_IN_43";
414 return "NEXT_STATE_IN_44";
415 case SR_ERROR:
416 return "ERROR";
418 return "DST_ADDR_PROPAGATION";
420 return "CLK_PROPAGATION";
422 return "SPACE_ID_PROPAGATION";
424 return "SEL_NO_ERROR_PROPAGATION";
426 return "SEL_SLICE_READ";
428 return "SEL_SLICE_WRITE";
429 }
430 return std::to_string(index);
431 }
432};
433
434} // namespace bb::avm2
A wrapper for Relations to expose methods used by the Sumcheck prover or verifier to add the contribu...
static constexpr size_t SR_STATE_THETA_30_DECOMPOSE
static constexpr size_t SR_STATE_THETA_14_DECOMPOSE
static constexpr size_t SR_STATE_THETA_01_DECOMPOSE
static constexpr size_t SR_STATE_THETA_40_DECOMPOSE
static constexpr size_t SR_STATE_RHO_20
static constexpr size_t SR_STATE_THETA_10_DECOMPOSE
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_0
static constexpr size_t SR_NEXT_STATE_IN_10
static constexpr size_t SR_SEL_NO_ERROR
static constexpr size_t SR_NEXT_STATE_IN_41
static constexpr size_t SR_STATE_RHO_14
static constexpr size_t SR_STATE_PI_NOT_12
static constexpr size_t SR_NEXT_STATE_IN_21
static constexpr size_t SR_STATE_PI_NOT_01
static constexpr size_t SR_STATE_RHO_44
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_2
static constexpr size_t SR_STATE_PI_NOT_00
static constexpr size_t SR_NEXT_STATE_IN_04
static constexpr size_t SR_NEXT_STATE_IN_33
static constexpr size_t SR_STATE_PI_NOT_11
static constexpr size_t SR_STATE_PI_NOT_10
static constexpr size_t SR_KECCAK_ROUND_INCREMENT
static constexpr size_t SR_STATE_RHO_22
static constexpr size_t SR_NEXT_STATE_IN_34
static constexpr size_t SR_THETA_XOR_ROW_MSB_4_BOOLEAN
static constexpr size_t SR_STATE_RHO_11
static constexpr size_t SR_NEXT_STATE_IN_20
static constexpr size_t SR_STATE_RHO_12
static constexpr size_t SR_STATE_PI_NOT_20
static std::string get_subrelation_label(size_t index)
static constexpr size_t SR_STATE_PI_NOT_03
static constexpr size_t SR_STATE_THETA_32_DECOMPOSE
static constexpr size_t SR_THETA_XOR_ROW_MSB_3_BOOLEAN
static constexpr const std::string_view NAME
static constexpr size_t SR_CLK_PROPAGATION
static constexpr size_t SR_STATE_PI_NOT_32
static constexpr size_t SR_STATE_PI_NOT_02
static constexpr size_t SR_NEXT_STATE_IN_23
static constexpr size_t SR_NEXT_STATE_IN_02
static constexpr size_t SR_STATE_PI_NOT_04
static constexpr size_t SR_NEXT_STATE_IN_01
static constexpr size_t SR_THETA_XOR_ROW_1_DECOMPOSITION
static constexpr size_t SR_SEL_NO_ERROR_PROPAGATION
static constexpr size_t SR_STATE_PI_NOT_23
static constexpr size_t SR_STATE_RHO_24
static constexpr size_t SR_STATE_RHO_21
static constexpr size_t SR_STATE_RHO_04
static constexpr size_t SR_STATE_PI_NOT_22
static constexpr size_t SR_STATE_THETA_02_DECOMPOSE
static constexpr size_t SR_STATE_RHO_13
static constexpr size_t SR_STATE_RHO_02
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_4
static constexpr size_t SR_STATE_RHO_43
static constexpr size_t SR_STATE_THETA_44_DECOMPOSE
static constexpr size_t SR_LAST_ON_ERROR
static constexpr size_t SR_STATE_PI_NOT_43
static constexpr size_t SR_NEXT_STATE_IN_14
static constexpr size_t SR_SEL_SLICE_READ
static constexpr size_t SR_NEXT_STATE_IN_43
static constexpr size_t SR_NEXT_STATE_IN_32
static constexpr size_t SR_STATE_THETA_31_DECOMPOSE
static constexpr size_t SR_STATE_PI_NOT_42
static constexpr size_t SR_STATE_PI_NOT_14
static constexpr size_t SR_SEL_SLICE_WRITE
static constexpr size_t SR_STATE_PI_NOT_13
static constexpr size_t SR_STATE_RHO_42
static constexpr size_t SR_STATE_THETA_23_DECOMPOSE
static constexpr size_t SR_STATE_THETA_13_DECOMPOSE
static constexpr size_t SR_THETA_XOR_ROW_MSB_1_BOOLEAN
static constexpr size_t SR_STATE_RHO_10
static constexpr size_t SR_STATE_THETA_21_DECOMPOSE
static constexpr size_t SR_KECCAK_SEL_ROUND_NON_ZERO
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_3
static constexpr size_t SR_STATE_PI_NOT_21
static constexpr size_t SR_STATE_THETA_24_DECOMPOSE
static constexpr size_t SR_STATE_RHO_32
static constexpr size_t SR_STATE_RHO_33
static constexpr size_t SR_STATE_PI_NOT_41
static constexpr size_t SR_STATE_PI_NOT_30
static constexpr size_t SR_NEXT_STATE_IN_13
static constexpr size_t SR_STATE_THETA_04_DECOMPOSE
static constexpr size_t SR_THETA_XOR_ROW_3_DECOMPOSITION
static constexpr size_t SR_STATE_RHO_34
static constexpr size_t SR_DST_ADDR_PROPAGATION
static constexpr size_t SR_THETA_XOR_ROW_0_DECOMPOSITION
static constexpr size_t SR_NEXT_STATE_IN_30
static constexpr size_t SR_STATE_PI_NOT_34
static constexpr size_t SR_STATE_PI_NOT_33
static constexpr size_t SR_LAST_HAS_SEL_ON
static constexpr size_t SR_NEXT_STATE_IN_00
static constexpr size_t SR_STATE_PI_NOT_31
static constexpr size_t SR_STATE_RHO_31
static constexpr size_t SR_STATE_RHO_41
static constexpr size_t SR_STATE_PI_NOT_40
static constexpr size_t SR_STATE_RHO_01
static constexpr size_t SR_NEXT_STATE_IN_42
static constexpr size_t SR_STATE_PI_NOT_44
static constexpr size_t SR_NEXT_STATE_IN_40
static constexpr size_t SR_THETA_XOR_ROW_2_DECOMPOSITION
static constexpr size_t SR_THETA_XOR_ROW_ROTL1_1
static constexpr size_t SR_STATE_THETA_20_DECOMPOSE
static constexpr size_t SR_STATE_RHO_23
static constexpr size_t SR_STATE_RHO_40
static constexpr size_t SR_START_AFTER_LATCH
static constexpr size_t SR_ERROR
static constexpr size_t SR_NEXT_STATE_IN_11
static constexpr size_t SR_STATE_RHO_03
static constexpr size_t SR_STATE_PI_NOT_24
static constexpr size_t SR_STATE_THETA_11_DECOMPOSE
static constexpr size_t SR_NEXT_STATE_IN_44
static constexpr size_t SR_STATE_THETA_43_DECOMPOSE
static constexpr size_t SR_THETA_XOR_ROW_4_DECOMPOSITION
static constexpr size_t SR_STATE_THETA_22_DECOMPOSE
static constexpr size_t SR_NEXT_STATE_IN_24
static constexpr size_t SR_THETA_XOR_ROW_MSB_0_BOOLEAN
static constexpr size_t SR_STATE_THETA_12_DECOMPOSE
static constexpr size_t SR_TRACE_CONTINUITY
static constexpr size_t SR_NEXT_STATE_IN_12
static constexpr size_t SR_STATE_THETA_34_DECOMPOSE
static constexpr size_t SR_STATE_THETA_33_DECOMPOSE
static constexpr size_t SR_NEXT_STATE_IN_03
static constexpr size_t SR_THETA_XOR_ROW_MSB_2_BOOLEAN
static constexpr size_t SR_NEXT_STATE_IN_22
static constexpr size_t SR_STATE_RHO_30
static constexpr size_t SR_STATE_THETA_41_DECOMPOSE
static constexpr size_t SR_STATE_THETA_03_DECOMPOSE
static constexpr size_t SR_NEXT_STATE_IN_31
static constexpr size_t SR_SPACE_ID_PROPAGATION
static constexpr size_t SR_STATE_THETA_42_DECOMPOSE
static bool skip(const AllEntities &in)
static void accumulate(ContainerOverSubrelations &evals, const AllEntities &in, const RelationParameters< FF > &, const FF &scaling_factor)
static constexpr std::array< size_t, 159 > SUBRELATION_PARTIAL_LENGTHS
ColumnAndShifts
Definition columns.hpp:34
AvmFlavorSettings::FF FF
Definition field.hpp:10
std::string to_string(bb::avm2::ValueTag tag)
Container for parameters used by the grand product (permutation, lookup) Honk relations.