Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_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 = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_0";
18 static constexpr std::string_view RELATION_NAME = "addressing";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_0_;
21 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
22 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_0_counts;
23 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_0_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::execution_op_after_relative_0_,
26 ColumnAndShifts::execution_highest_address,
27 ColumnAndShifts::execution_sel_relative_overflow_0_
28 };
29 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
30 ColumnAndShifts::gt_input_b,
31 ColumnAndShifts::gt_res };
32};
33
36template <typename FF_>
39
41
43 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_1";
44 static constexpr std::string_view RELATION_NAME = "addressing";
45 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
46 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_1_;
47 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
48 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_1_counts;
49 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_1_inv;
50 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
51 ColumnAndShifts::execution_op_after_relative_1_,
52 ColumnAndShifts::execution_highest_address,
53 ColumnAndShifts::execution_sel_relative_overflow_1_
54 };
55 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
56 ColumnAndShifts::gt_input_b,
57 ColumnAndShifts::gt_res };
58};
59
62template <typename FF_>
65
67
69 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_2";
70 static constexpr std::string_view RELATION_NAME = "addressing";
71 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
72 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_2_;
73 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
74 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_2_counts;
75 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_2_inv;
76 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
77 ColumnAndShifts::execution_op_after_relative_2_,
78 ColumnAndShifts::execution_highest_address,
79 ColumnAndShifts::execution_sel_relative_overflow_2_
80 };
81 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
82 ColumnAndShifts::gt_input_b,
83 ColumnAndShifts::gt_res };
84};
85
88template <typename FF_>
91
93
95 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_3";
96 static constexpr std::string_view RELATION_NAME = "addressing";
97 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
98 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_3_;
99 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
100 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_3_counts;
101 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_3_inv;
102 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
103 ColumnAndShifts::execution_op_after_relative_3_,
104 ColumnAndShifts::execution_highest_address,
105 ColumnAndShifts::execution_sel_relative_overflow_3_
106 };
107 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
108 ColumnAndShifts::gt_input_b,
109 ColumnAndShifts::gt_res };
110};
111
114template <typename FF_>
117
119
121 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_4";
122 static constexpr std::string_view RELATION_NAME = "addressing";
123 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
124 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_4_;
125 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
126 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_4_counts;
127 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_4_inv;
128 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
129 ColumnAndShifts::execution_op_after_relative_4_,
130 ColumnAndShifts::execution_highest_address,
131 ColumnAndShifts::execution_sel_relative_overflow_4_
132 };
133 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
134 ColumnAndShifts::gt_input_b,
135 ColumnAndShifts::gt_res };
136};
137
140template <typename FF_>
143
145
147 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_5";
148 static constexpr std::string_view RELATION_NAME = "addressing";
149 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
150 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_5_;
151 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
152 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_5_counts;
153 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_5_inv;
154 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
155 ColumnAndShifts::execution_op_after_relative_5_,
156 ColumnAndShifts::execution_highest_address,
157 ColumnAndShifts::execution_sel_relative_overflow_5_
158 };
159 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
160 ColumnAndShifts::gt_input_b,
161 ColumnAndShifts::gt_res };
162};
163
166template <typename FF_>
169
171
173 static constexpr std::string_view NAME = "LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RESULT_6";
174 static constexpr std::string_view RELATION_NAME = "addressing";
175 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
176 static constexpr Column SRC_SELECTOR = Column::execution_sel_op_do_overflow_check_6_;
177 static constexpr Column DST_SELECTOR = Column::gt_sel_addressing;
178 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_result_6_counts;
179 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_result_6_inv;
180 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
181 ColumnAndShifts::execution_op_after_relative_6_,
182 ColumnAndShifts::execution_highest_address,
183 ColumnAndShifts::execution_sel_relative_overflow_6_
184 };
185 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
186 ColumnAndShifts::gt_input_b,
187 ColumnAndShifts::gt_res };
188};
189
192template <typename FF_>
195
196} // namespace bb::avm2
This file contains the template for the generic lookup that can be specialized to enforce various loo...
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 > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
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 > DST_COLUMNS
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 std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS