8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_0";
22 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_0_counts;
23 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_0_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
25 ColumnAndShifts::execution_overflow_range_check_result_0_, ColumnAndShifts::execution_constant_32
27 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
28 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
34template <
typename FF_>
41 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_1";
46 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_1_counts;
47 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_1_inv;
48 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
49 ColumnAndShifts::execution_overflow_range_check_result_1_, ColumnAndShifts::execution_constant_32
51 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
52 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
58template <
typename FF_>
65 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_2";
70 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_2_counts;
71 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_2_inv;
72 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
73 ColumnAndShifts::execution_overflow_range_check_result_2_, ColumnAndShifts::execution_constant_32
75 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
76 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
82template <
typename FF_>
89 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_3";
94 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_3_counts;
95 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_3_inv;
96 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
97 ColumnAndShifts::execution_overflow_range_check_result_3_, ColumnAndShifts::execution_constant_32
99 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
100 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
106template <
typename FF_>
113 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_4";
118 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_4_counts;
119 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_4_inv;
120 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
121 ColumnAndShifts::execution_overflow_range_check_result_4_, ColumnAndShifts::execution_constant_32
123 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
124 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
130template <
typename FF_>
137 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_5";
142 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_5_counts;
143 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_5_inv;
144 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
145 ColumnAndShifts::execution_overflow_range_check_result_5_, ColumnAndShifts::execution_constant_32
147 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
148 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
154template <
typename FF_>
161 static constexpr std::string_view
NAME =
"LOOKUP_ADDRESSING_RELATIVE_OVERFLOW_RANGE_6";
166 static constexpr Column COUNTS = Column::lookup_addressing_relative_overflow_range_6_counts;
167 static constexpr Column INVERSES = Column::lookup_addressing_relative_overflow_range_6_inv;
168 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
SRC_COLUMNS = {
169 ColumnAndShifts::execution_overflow_range_check_result_6_, ColumnAndShifts::execution_constant_32
171 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE>
DST_COLUMNS = {
172 ColumnAndShifts::range_check_value, ColumnAndShifts::range_check_rng_chk_bits
178template <
typename FF_>
This file contains the template for the generic lookup that can be specialized to enforce various loo...
static constexpr std::string_view RELATION_NAME
static constexpr Column INVERSES
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column COUNTS
static constexpr std::string_view RELATION_NAME
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr Column SRC_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view NAME
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr Column DST_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::string_view RELATION_NAME
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view RELATION_NAME
static constexpr Column DST_SELECTOR
static constexpr Column INVERSES
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t LOOKUP_TUPLE_SIZE
static constexpr Column COUNTS
static constexpr std::string_view NAME
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS