8#include "../columns.hpp"
17 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_0";
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_
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
35template <
typename FF_>
41 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_1";
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_
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
59template <
typename FF_>
65 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_2";
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_
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
83template <
typename FF_>
89 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_3";
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_
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
107template <
typename FF_>
113 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_4";
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_
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
131template <
typename FF_>
137 static constexpr std::string_view
NAME =
"PERM_REGISTERS_MEM_OP_5";
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_
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
155template <
typename FF_>
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 size_t COLUMNS_PER_SET
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr Column INVERSES
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 Column DST_SELECTOR
static constexpr size_t COLUMNS_PER_SET
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr std::string_view NAME
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t COLUMNS_PER_SET
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr Column SRC_SELECTOR
static constexpr size_t COLUMNS_PER_SET
static constexpr std::string_view NAME
static constexpr Column DST_SELECTOR
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr Column INVERSES
static constexpr Column DST_SELECTOR
static constexpr Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr std::string_view NAME
static constexpr size_t COLUMNS_PER_SET
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 Column SRC_SELECTOR
static constexpr Column INVERSES
static constexpr std::string_view RELATION_NAME
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > SRC_COLUMNS
static constexpr size_t COLUMNS_PER_SET
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS
static constexpr Column DST_SELECTOR