Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_addressing.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_ADDRESSING_BASE_ADDRESS_FROM_MEMORY";
18 static constexpr std::string_view RELATION_NAME = "addressing";
19 static constexpr size_t COLUMNS_PER_SET = 6;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_do_base_check;
21 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_base;
22 static constexpr Column INVERSES = Column::perm_addressing_base_address_from_memory_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::execution_clk,
25 ColumnAndShifts::execution_context_id,
26 ColumnAndShifts::precomputed_zero,
27 ColumnAndShifts::execution_base_address_val,
28 ColumnAndShifts::execution_base_address_tag,
29 ColumnAndShifts::precomputed_zero
30 };
31 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
32 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
33 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
34 };
35};
36
39template <typename FF_>
42
44
46 static constexpr std::string_view NAME = "PERM_ADDRESSING_INDIRECT_FROM_MEMORY_0";
47 static constexpr std::string_view RELATION_NAME = "addressing";
48 static constexpr size_t COLUMNS_PER_SET = 6;
49 static constexpr Column SRC_SELECTOR = Column::execution_sel_apply_indirection_0_;
50 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_indirect_0_;
51 static constexpr Column INVERSES = Column::perm_addressing_indirect_from_memory_0_inv;
52 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
53 ColumnAndShifts::execution_clk,
54 ColumnAndShifts::execution_context_id,
55 ColumnAndShifts::execution_op_after_relative_0_,
56 ColumnAndShifts::execution_rop_0_,
57 ColumnAndShifts::execution_rop_tag_0_,
58 ColumnAndShifts::precomputed_zero
59 };
60 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
61 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
62 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
63 };
64};
65
68template <typename FF_>
71
73
75 static constexpr std::string_view NAME = "PERM_ADDRESSING_INDIRECT_FROM_MEMORY_1";
76 static constexpr std::string_view RELATION_NAME = "addressing";
77 static constexpr size_t COLUMNS_PER_SET = 6;
78 static constexpr Column SRC_SELECTOR = Column::execution_sel_apply_indirection_1_;
79 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_indirect_1_;
80 static constexpr Column INVERSES = Column::perm_addressing_indirect_from_memory_1_inv;
81 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
82 ColumnAndShifts::execution_clk,
83 ColumnAndShifts::execution_context_id,
84 ColumnAndShifts::execution_op_after_relative_1_,
85 ColumnAndShifts::execution_rop_1_,
86 ColumnAndShifts::execution_rop_tag_1_,
87 ColumnAndShifts::precomputed_zero
88 };
89 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
90 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
91 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
92 };
93};
94
97template <typename FF_>
100
102
104 static constexpr std::string_view NAME = "PERM_ADDRESSING_INDIRECT_FROM_MEMORY_2";
105 static constexpr std::string_view RELATION_NAME = "addressing";
106 static constexpr size_t COLUMNS_PER_SET = 6;
107 static constexpr Column SRC_SELECTOR = Column::execution_sel_apply_indirection_2_;
108 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_indirect_2_;
109 static constexpr Column INVERSES = Column::perm_addressing_indirect_from_memory_2_inv;
110 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
111 ColumnAndShifts::execution_clk,
112 ColumnAndShifts::execution_context_id,
113 ColumnAndShifts::execution_op_after_relative_2_,
114 ColumnAndShifts::execution_rop_2_,
115 ColumnAndShifts::execution_rop_tag_2_,
116 ColumnAndShifts::precomputed_zero
117 };
118 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
119 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
120 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
121 };
122};
123
126template <typename FF_>
129
131
133 static constexpr std::string_view NAME = "PERM_ADDRESSING_INDIRECT_FROM_MEMORY_3";
134 static constexpr std::string_view RELATION_NAME = "addressing";
135 static constexpr size_t COLUMNS_PER_SET = 6;
136 static constexpr Column SRC_SELECTOR = Column::execution_sel_apply_indirection_3_;
137 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_indirect_3_;
138 static constexpr Column INVERSES = Column::perm_addressing_indirect_from_memory_3_inv;
139 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
140 ColumnAndShifts::execution_clk,
141 ColumnAndShifts::execution_context_id,
142 ColumnAndShifts::execution_op_after_relative_3_,
143 ColumnAndShifts::execution_rop_3_,
144 ColumnAndShifts::execution_rop_tag_3_,
145 ColumnAndShifts::precomputed_zero
146 };
147 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
148 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
149 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
150 };
151};
152
155template <typename FF_>
158
160
162 static constexpr std::string_view NAME = "PERM_ADDRESSING_INDIRECT_FROM_MEMORY_4";
163 static constexpr std::string_view RELATION_NAME = "addressing";
164 static constexpr size_t COLUMNS_PER_SET = 6;
165 static constexpr Column SRC_SELECTOR = Column::execution_sel_apply_indirection_4_;
166 static constexpr Column DST_SELECTOR = Column::memory_sel_addressing_indirect_4_;
167 static constexpr Column INVERSES = Column::perm_addressing_indirect_from_memory_4_inv;
168 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
169 ColumnAndShifts::execution_clk,
170 ColumnAndShifts::execution_context_id,
171 ColumnAndShifts::execution_op_after_relative_4_,
172 ColumnAndShifts::execution_rop_4_,
173 ColumnAndShifts::execution_rop_tag_4_,
174 ColumnAndShifts::precomputed_zero
175 };
176 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
177 ColumnAndShifts::memory_clk, ColumnAndShifts::memory_space_id, ColumnAndShifts::memory_address,
178 ColumnAndShifts::memory_value, ColumnAndShifts::memory_tag, ColumnAndShifts::memory_rw
179 };
180};
181
184template <typename FF_>
187
188} // namespace bb::avm2
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 > DST_COLUMNS
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::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
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::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS