Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_registers.hpp
Go to the documentation of this file.
1// AUTOGENERATED FILE
2#pragma once
3
4#include <cstddef>
5#include <string_view>
6#include <tuple>
7
8#include "../columns.hpp"
11
12namespace bb::avm2 {
13
15
17 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_0";
18 static constexpr std::string_view RELATION_NAME = "registers";
19 static constexpr size_t COLUMNS_PER_SET = 6;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_0_;
21 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_0_;
22 static constexpr Column INVERSES = Column::perm_registers_mem_op_0_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
25 ColumnAndShifts::execution_rop_0_, ColumnAndShifts::execution_register_0_,
26 ColumnAndShifts::execution_mem_tag_reg_0_, ColumnAndShifts::execution_rw_reg_0_
27 };
28 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
29 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
30 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
31 };
32};
33
35template <typename FF_>
37
39
41 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_1";
42 static constexpr std::string_view RELATION_NAME = "registers";
43 static constexpr size_t COLUMNS_PER_SET = 6;
44 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_1_;
45 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_1_;
46 static constexpr Column INVERSES = Column::perm_registers_mem_op_1_inv;
47 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
48 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
49 ColumnAndShifts::execution_rop_1_, ColumnAndShifts::execution_register_1_,
50 ColumnAndShifts::execution_mem_tag_reg_1_, ColumnAndShifts::execution_rw_reg_1_
51 };
52 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
53 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
54 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
55 };
56};
57
59template <typename FF_>
61
63
65 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_2";
66 static constexpr std::string_view RELATION_NAME = "registers";
67 static constexpr size_t COLUMNS_PER_SET = 6;
68 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_2_;
69 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_2_;
70 static constexpr Column INVERSES = Column::perm_registers_mem_op_2_inv;
71 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
72 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
73 ColumnAndShifts::execution_rop_2_, ColumnAndShifts::execution_register_2_,
74 ColumnAndShifts::execution_mem_tag_reg_2_, ColumnAndShifts::execution_rw_reg_2_
75 };
76 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
77 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
78 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
79 };
80};
81
83template <typename FF_>
85
87
89 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_3";
90 static constexpr std::string_view RELATION_NAME = "registers";
91 static constexpr size_t COLUMNS_PER_SET = 6;
92 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_3_;
93 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_3_;
94 static constexpr Column INVERSES = Column::perm_registers_mem_op_3_inv;
95 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
96 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
97 ColumnAndShifts::execution_rop_3_, ColumnAndShifts::execution_register_3_,
98 ColumnAndShifts::execution_mem_tag_reg_3_, ColumnAndShifts::execution_rw_reg_3_
99 };
100 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
101 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
102 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
103 };
104};
105
107template <typename FF_>
109
111
113 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_4";
114 static constexpr std::string_view RELATION_NAME = "registers";
115 static constexpr size_t COLUMNS_PER_SET = 6;
116 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_4_;
117 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_4_;
118 static constexpr Column INVERSES = Column::perm_registers_mem_op_4_inv;
119 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
120 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
121 ColumnAndShifts::execution_rop_4_, ColumnAndShifts::execution_register_4_,
122 ColumnAndShifts::execution_mem_tag_reg_4_, ColumnAndShifts::execution_rw_reg_4_
123 };
124 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
125 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
126 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
127 };
128};
129
131template <typename FF_>
133
135
137 static constexpr std::string_view NAME = "PERM_REGISTERS_MEM_OP_5";
138 static constexpr std::string_view RELATION_NAME = "registers";
139 static constexpr size_t COLUMNS_PER_SET = 6;
140 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_reg_effective_5_;
141 static constexpr Column DST_SELECTOR = Column::memory_sel_register_op_5_;
142 static constexpr Column INVERSES = Column::perm_registers_mem_op_5_inv;
143 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
144 ColumnAndShifts::precomputed_clk, ColumnAndShifts::execution_context_id,
145 ColumnAndShifts::execution_rop_5_, ColumnAndShifts::execution_register_5_,
146 ColumnAndShifts::execution_mem_tag_reg_5_, ColumnAndShifts::execution_rw_reg_5_
147 };
148 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
149 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
150 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
151 };
152};
153
155template <typename FF_>
157
158} // namespace bb::avm2
This file contains the template for the generic permutation that can be specialized to enforce variou...
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS