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, 3, 3, 3, 4, 4, 3, 3, 3, 3, 3, 2, 2, 3, 2, 2, 3, 2, 2, 3, 2, 2, 3, 2, 2, 2, 2, 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, 3, 3, 3, 3, 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, 4, 4, 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) + in.get(C::keccakf1600_last))).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 static std::string get_subrelation_label(size_t index)
44 {
45 switch (index) {
46 case 1:
47 return "SEL_NO_ERROR";
48 case 4:
49 return "KECCAK_SEL_ROUND_NON_ZERO";
50 case 5:
51 return "KECCAK_ROUND_INCREMENT";
52 case 10:
53 return "THETA_XOR_ROW_MSB_0_BOOLEAN";
54 case 11:
55 return "THETA_XOR_ROW_0_DECOMPOSITION";
56 case 12:
57 return "THETA_XOR_ROW_ROTL1_0";
58 case 13:
59 return "THETA_XOR_ROW_MSB_1_BOOLEAN";
60 case 14:
61 return "THETA_XOR_ROW_1_DECOMPOSITION";
62 case 15:
63 return "THETA_XOR_ROW_ROTL1_1";
64 case 16:
65 return "THETA_XOR_ROW_MSB_2_BOOLEAN";
66 case 17:
67 return "THETA_XOR_ROW_2_DECOMPOSITION";
68 case 18:
69 return "THETA_XOR_ROW_ROTL1_2";
70 case 19:
71 return "THETA_XOR_ROW_MSB_3_BOOLEAN";
72 case 20:
73 return "THETA_XOR_ROW_3_DECOMPOSITION";
74 case 21:
75 return "THETA_XOR_ROW_ROTL1_3";
76 case 22:
77 return "THETA_XOR_ROW_MSB_4_BOOLEAN";
78 case 23:
79 return "THETA_XOR_ROW_4_DECOMPOSITION";
80 case 24:
81 return "THETA_XOR_ROW_ROTL1_4";
82 case 25:
83 return "STATE_THETA_01_DECOMPOSE";
84 case 26:
85 return "STATE_RHO_01";
86 case 27:
87 return "STATE_THETA_02_DECOMPOSE";
88 case 28:
89 return "STATE_RHO_02";
90 case 29:
91 return "STATE_THETA_03_DECOMPOSE";
92 case 30:
93 return "STATE_RHO_03";
94 case 31:
95 return "STATE_THETA_04_DECOMPOSE";
96 case 32:
97 return "STATE_RHO_04";
98 case 33:
99 return "STATE_THETA_10_DECOMPOSE";
100 case 34:
101 return "STATE_RHO_10";
102 case 35:
103 return "STATE_THETA_11_DECOMPOSE";
104 case 36:
105 return "STATE_RHO_11";
106 case 37:
107 return "STATE_THETA_12_DECOMPOSE";
108 case 38:
109 return "STATE_RHO_12";
110 case 39:
111 return "STATE_THETA_13_DECOMPOSE";
112 case 40:
113 return "STATE_RHO_13";
114 case 41:
115 return "STATE_THETA_14_DECOMPOSE";
116 case 42:
117 return "STATE_RHO_14";
118 case 43:
119 return "STATE_THETA_20_DECOMPOSE";
120 case 44:
121 return "STATE_RHO_20";
122 case 45:
123 return "STATE_THETA_21_DECOMPOSE";
124 case 46:
125 return "STATE_RHO_21";
126 case 47:
127 return "STATE_THETA_22_DECOMPOSE";
128 case 48:
129 return "STATE_RHO_22";
130 case 49:
131 return "STATE_THETA_23_DECOMPOSE";
132 case 50:
133 return "STATE_RHO_23";
134 case 51:
135 return "STATE_THETA_24_DECOMPOSE";
136 case 52:
137 return "STATE_RHO_24";
138 case 53:
139 return "STATE_THETA_30_DECOMPOSE";
140 case 54:
141 return "STATE_RHO_30";
142 case 55:
143 return "STATE_THETA_31_DECOMPOSE";
144 case 56:
145 return "STATE_RHO_31";
146 case 57:
147 return "STATE_THETA_32_DECOMPOSE";
148 case 58:
149 return "STATE_RHO_32";
150 case 59:
151 return "STATE_THETA_33_DECOMPOSE";
152 case 60:
153 return "STATE_RHO_33";
154 case 61:
155 return "STATE_THETA_34_DECOMPOSE";
156 case 62:
157 return "STATE_RHO_34";
158 case 63:
159 return "STATE_THETA_40_DECOMPOSE";
160 case 64:
161 return "STATE_RHO_40";
162 case 65:
163 return "STATE_THETA_41_DECOMPOSE";
164 case 66:
165 return "STATE_RHO_41";
166 case 67:
167 return "STATE_THETA_42_DECOMPOSE";
168 case 68:
169 return "STATE_RHO_42";
170 case 69:
171 return "STATE_THETA_43_DECOMPOSE";
172 case 70:
173 return "STATE_RHO_43";
174 case 71:
175 return "STATE_THETA_44_DECOMPOSE";
176 case 72:
177 return "STATE_RHO_44";
178 case 97:
179 return "STATE_PI_NOT_00";
180 case 98:
181 return "STATE_PI_NOT_01";
182 case 99:
183 return "STATE_PI_NOT_02";
184 case 100:
185 return "STATE_PI_NOT_03";
186 case 101:
187 return "STATE_PI_NOT_04";
188 case 102:
189 return "STATE_PI_NOT_10";
190 case 103:
191 return "STATE_PI_NOT_11";
192 case 104:
193 return "STATE_PI_NOT_12";
194 case 105:
195 return "STATE_PI_NOT_13";
196 case 106:
197 return "STATE_PI_NOT_14";
198 case 107:
199 return "STATE_PI_NOT_20";
200 case 108:
201 return "STATE_PI_NOT_21";
202 case 109:
203 return "STATE_PI_NOT_22";
204 case 110:
205 return "STATE_PI_NOT_23";
206 case 111:
207 return "STATE_PI_NOT_24";
208 case 112:
209 return "STATE_PI_NOT_30";
210 case 113:
211 return "STATE_PI_NOT_31";
212 case 114:
213 return "STATE_PI_NOT_32";
214 case 115:
215 return "STATE_PI_NOT_33";
216 case 116:
217 return "STATE_PI_NOT_34";
218 case 117:
219 return "STATE_PI_NOT_40";
220 case 118:
221 return "STATE_PI_NOT_41";
222 case 119:
223 return "STATE_PI_NOT_42";
224 case 120:
225 return "STATE_PI_NOT_43";
226 case 121:
227 return "STATE_PI_NOT_44";
228 case 122:
229 return "NEXT_STATE_IN_00";
230 case 123:
231 return "NEXT_STATE_IN_01";
232 case 124:
233 return "NEXT_STATE_IN_02";
234 case 125:
235 return "NEXT_STATE_IN_03";
236 case 126:
237 return "NEXT_STATE_IN_04";
238 case 127:
239 return "NEXT_STATE_IN_10";
240 case 128:
241 return "NEXT_STATE_IN_11";
242 case 129:
243 return "NEXT_STATE_IN_12";
244 case 130:
245 return "NEXT_STATE_IN_13";
246 case 131:
247 return "NEXT_STATE_IN_14";
248 case 132:
249 return "NEXT_STATE_IN_20";
250 case 133:
251 return "NEXT_STATE_IN_21";
252 case 134:
253 return "NEXT_STATE_IN_22";
254 case 135:
255 return "NEXT_STATE_IN_23";
256 case 136:
257 return "NEXT_STATE_IN_24";
258 case 137:
259 return "NEXT_STATE_IN_30";
260 case 138:
261 return "NEXT_STATE_IN_31";
262 case 139:
263 return "NEXT_STATE_IN_32";
264 case 140:
265 return "NEXT_STATE_IN_33";
266 case 141:
267 return "NEXT_STATE_IN_34";
268 case 142:
269 return "NEXT_STATE_IN_40";
270 case 143:
271 return "NEXT_STATE_IN_41";
272 case 144:
273 return "NEXT_STATE_IN_42";
274 case 145:
275 return "NEXT_STATE_IN_43";
276 case 146:
277 return "NEXT_STATE_IN_44";
278 case 147:
279 return "SRC_OUT_OF_RANGE_ERROR_BOOLEAN";
280 case 148:
281 return "DST_OUT_OF_RANGE_ERROR_BOOLEAN";
282 case 149:
283 return "SRC_OUT_OF_RANGE_TOGGLE";
284 case 150:
285 return "DST_OUT_OF_RANGE_TOGGLE";
286 case 152:
287 return "ERROR";
288 case 153:
289 return "DST_ADDR_PROPAGATION";
290 case 154:
291 return "CLK_PROPAGATION";
292 case 155:
293 return "SPACE_ID_PROPAGATION";
294 case 156:
295 return "SEL_NO_ERROR_PROPAGATION";
296 case 157:
297 return "SEL_SLICE_READ";
298 case 158:
299 return "SEL_SLICE_WRITE";
300 }
301 return std::to_string(index);
302 }
303
304 // Subrelation indices constants, to be used in tests.
305 static constexpr size_t SR_SEL_NO_ERROR = 1;
306 static constexpr size_t SR_KECCAK_SEL_ROUND_NON_ZERO = 4;
307 static constexpr size_t SR_KECCAK_ROUND_INCREMENT = 5;
308 static constexpr size_t SR_THETA_XOR_ROW_MSB_0_BOOLEAN = 10;
309 static constexpr size_t SR_THETA_XOR_ROW_0_DECOMPOSITION = 11;
310 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_0 = 12;
311 static constexpr size_t SR_THETA_XOR_ROW_MSB_1_BOOLEAN = 13;
312 static constexpr size_t SR_THETA_XOR_ROW_1_DECOMPOSITION = 14;
313 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_1 = 15;
314 static constexpr size_t SR_THETA_XOR_ROW_MSB_2_BOOLEAN = 16;
315 static constexpr size_t SR_THETA_XOR_ROW_2_DECOMPOSITION = 17;
316 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_2 = 18;
317 static constexpr size_t SR_THETA_XOR_ROW_MSB_3_BOOLEAN = 19;
318 static constexpr size_t SR_THETA_XOR_ROW_3_DECOMPOSITION = 20;
319 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_3 = 21;
320 static constexpr size_t SR_THETA_XOR_ROW_MSB_4_BOOLEAN = 22;
321 static constexpr size_t SR_THETA_XOR_ROW_4_DECOMPOSITION = 23;
322 static constexpr size_t SR_THETA_XOR_ROW_ROTL1_4 = 24;
323 static constexpr size_t SR_STATE_THETA_01_DECOMPOSE = 25;
324 static constexpr size_t SR_STATE_RHO_01 = 26;
325 static constexpr size_t SR_STATE_THETA_02_DECOMPOSE = 27;
326 static constexpr size_t SR_STATE_RHO_02 = 28;
327 static constexpr size_t SR_STATE_THETA_03_DECOMPOSE = 29;
328 static constexpr size_t SR_STATE_RHO_03 = 30;
329 static constexpr size_t SR_STATE_THETA_04_DECOMPOSE = 31;
330 static constexpr size_t SR_STATE_RHO_04 = 32;
331 static constexpr size_t SR_STATE_THETA_10_DECOMPOSE = 33;
332 static constexpr size_t SR_STATE_RHO_10 = 34;
333 static constexpr size_t SR_STATE_THETA_11_DECOMPOSE = 35;
334 static constexpr size_t SR_STATE_RHO_11 = 36;
335 static constexpr size_t SR_STATE_THETA_12_DECOMPOSE = 37;
336 static constexpr size_t SR_STATE_RHO_12 = 38;
337 static constexpr size_t SR_STATE_THETA_13_DECOMPOSE = 39;
338 static constexpr size_t SR_STATE_RHO_13 = 40;
339 static constexpr size_t SR_STATE_THETA_14_DECOMPOSE = 41;
340 static constexpr size_t SR_STATE_RHO_14 = 42;
341 static constexpr size_t SR_STATE_THETA_20_DECOMPOSE = 43;
342 static constexpr size_t SR_STATE_RHO_20 = 44;
343 static constexpr size_t SR_STATE_THETA_21_DECOMPOSE = 45;
344 static constexpr size_t SR_STATE_RHO_21 = 46;
345 static constexpr size_t SR_STATE_THETA_22_DECOMPOSE = 47;
346 static constexpr size_t SR_STATE_RHO_22 = 48;
347 static constexpr size_t SR_STATE_THETA_23_DECOMPOSE = 49;
348 static constexpr size_t SR_STATE_RHO_23 = 50;
349 static constexpr size_t SR_STATE_THETA_24_DECOMPOSE = 51;
350 static constexpr size_t SR_STATE_RHO_24 = 52;
351 static constexpr size_t SR_STATE_THETA_30_DECOMPOSE = 53;
352 static constexpr size_t SR_STATE_RHO_30 = 54;
353 static constexpr size_t SR_STATE_THETA_31_DECOMPOSE = 55;
354 static constexpr size_t SR_STATE_RHO_31 = 56;
355 static constexpr size_t SR_STATE_THETA_32_DECOMPOSE = 57;
356 static constexpr size_t SR_STATE_RHO_32 = 58;
357 static constexpr size_t SR_STATE_THETA_33_DECOMPOSE = 59;
358 static constexpr size_t SR_STATE_RHO_33 = 60;
359 static constexpr size_t SR_STATE_THETA_34_DECOMPOSE = 61;
360 static constexpr size_t SR_STATE_RHO_34 = 62;
361 static constexpr size_t SR_STATE_THETA_40_DECOMPOSE = 63;
362 static constexpr size_t SR_STATE_RHO_40 = 64;
363 static constexpr size_t SR_STATE_THETA_41_DECOMPOSE = 65;
364 static constexpr size_t SR_STATE_RHO_41 = 66;
365 static constexpr size_t SR_STATE_THETA_42_DECOMPOSE = 67;
366 static constexpr size_t SR_STATE_RHO_42 = 68;
367 static constexpr size_t SR_STATE_THETA_43_DECOMPOSE = 69;
368 static constexpr size_t SR_STATE_RHO_43 = 70;
369 static constexpr size_t SR_STATE_THETA_44_DECOMPOSE = 71;
370 static constexpr size_t SR_STATE_RHO_44 = 72;
371 static constexpr size_t SR_STATE_PI_NOT_00 = 97;
372 static constexpr size_t SR_STATE_PI_NOT_01 = 98;
373 static constexpr size_t SR_STATE_PI_NOT_02 = 99;
374 static constexpr size_t SR_STATE_PI_NOT_03 = 100;
375 static constexpr size_t SR_STATE_PI_NOT_04 = 101;
376 static constexpr size_t SR_STATE_PI_NOT_10 = 102;
377 static constexpr size_t SR_STATE_PI_NOT_11 = 103;
378 static constexpr size_t SR_STATE_PI_NOT_12 = 104;
379 static constexpr size_t SR_STATE_PI_NOT_13 = 105;
380 static constexpr size_t SR_STATE_PI_NOT_14 = 106;
381 static constexpr size_t SR_STATE_PI_NOT_20 = 107;
382 static constexpr size_t SR_STATE_PI_NOT_21 = 108;
383 static constexpr size_t SR_STATE_PI_NOT_22 = 109;
384 static constexpr size_t SR_STATE_PI_NOT_23 = 110;
385 static constexpr size_t SR_STATE_PI_NOT_24 = 111;
386 static constexpr size_t SR_STATE_PI_NOT_30 = 112;
387 static constexpr size_t SR_STATE_PI_NOT_31 = 113;
388 static constexpr size_t SR_STATE_PI_NOT_32 = 114;
389 static constexpr size_t SR_STATE_PI_NOT_33 = 115;
390 static constexpr size_t SR_STATE_PI_NOT_34 = 116;
391 static constexpr size_t SR_STATE_PI_NOT_40 = 117;
392 static constexpr size_t SR_STATE_PI_NOT_41 = 118;
393 static constexpr size_t SR_STATE_PI_NOT_42 = 119;
394 static constexpr size_t SR_STATE_PI_NOT_43 = 120;
395 static constexpr size_t SR_STATE_PI_NOT_44 = 121;
396 static constexpr size_t SR_NEXT_STATE_IN_00 = 122;
397 static constexpr size_t SR_NEXT_STATE_IN_01 = 123;
398 static constexpr size_t SR_NEXT_STATE_IN_02 = 124;
399 static constexpr size_t SR_NEXT_STATE_IN_03 = 125;
400 static constexpr size_t SR_NEXT_STATE_IN_04 = 126;
401 static constexpr size_t SR_NEXT_STATE_IN_10 = 127;
402 static constexpr size_t SR_NEXT_STATE_IN_11 = 128;
403 static constexpr size_t SR_NEXT_STATE_IN_12 = 129;
404 static constexpr size_t SR_NEXT_STATE_IN_13 = 130;
405 static constexpr size_t SR_NEXT_STATE_IN_14 = 131;
406 static constexpr size_t SR_NEXT_STATE_IN_20 = 132;
407 static constexpr size_t SR_NEXT_STATE_IN_21 = 133;
408 static constexpr size_t SR_NEXT_STATE_IN_22 = 134;
409 static constexpr size_t SR_NEXT_STATE_IN_23 = 135;
410 static constexpr size_t SR_NEXT_STATE_IN_24 = 136;
411 static constexpr size_t SR_NEXT_STATE_IN_30 = 137;
412 static constexpr size_t SR_NEXT_STATE_IN_31 = 138;
413 static constexpr size_t SR_NEXT_STATE_IN_32 = 139;
414 static constexpr size_t SR_NEXT_STATE_IN_33 = 140;
415 static constexpr size_t SR_NEXT_STATE_IN_34 = 141;
416 static constexpr size_t SR_NEXT_STATE_IN_40 = 142;
417 static constexpr size_t SR_NEXT_STATE_IN_41 = 143;
418 static constexpr size_t SR_NEXT_STATE_IN_42 = 144;
419 static constexpr size_t SR_NEXT_STATE_IN_43 = 145;
420 static constexpr size_t SR_NEXT_STATE_IN_44 = 146;
421 static constexpr size_t SR_SRC_OUT_OF_RANGE_ERROR_BOOLEAN = 147;
422 static constexpr size_t SR_DST_OUT_OF_RANGE_ERROR_BOOLEAN = 148;
423 static constexpr size_t SR_SRC_OUT_OF_RANGE_TOGGLE = 149;
424 static constexpr size_t SR_DST_OUT_OF_RANGE_TOGGLE = 150;
425 static constexpr size_t SR_ERROR = 152;
426 static constexpr size_t SR_DST_ADDR_PROPAGATION = 153;
427 static constexpr size_t SR_CLK_PROPAGATION = 154;
428 static constexpr size_t SR_SPACE_ID_PROPAGATION = 155;
429 static constexpr size_t SR_SEL_NO_ERROR_PROPAGATION = 156;
430 static constexpr size_t SR_SEL_SLICE_READ = 157;
431 static constexpr size_t SR_SEL_SLICE_WRITE = 158;
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_SRC_OUT_OF_RANGE_TOGGLE
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_DST_OUT_OF_RANGE_TOGGLE
static constexpr size_t SR_STATE_RHO_43
static constexpr size_t SR_STATE_THETA_44_DECOMPOSE
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_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_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_DST_OUT_OF_RANGE_ERROR_BOOLEAN
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_SRC_OUT_OF_RANGE_ERROR_BOOLEAN
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:35
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.