Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_data_copy.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_DATA_COPY_DISPATCH_CD_COPY";
18 static constexpr std::string_view RELATION_NAME = "data_copy";
19 static constexpr size_t COLUMNS_PER_SET = 10;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_calldata_copy;
21 static constexpr Column DST_SELECTOR = Column::data_copy_sel_cd_copy_start;
22 static constexpr Column INVERSES = Column::perm_data_copy_dispatch_cd_copy_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::precomputed_clk,
25 ColumnAndShifts::execution_parent_id,
26 ColumnAndShifts::execution_context_id,
27 ColumnAndShifts::execution_register_0_,
28 ColumnAndShifts::execution_register_1_,
29 ColumnAndShifts::execution_rop_2_,
30 ColumnAndShifts::execution_parent_calldata_addr,
31 ColumnAndShifts::execution_parent_calldata_size,
32 ColumnAndShifts::execution_sel_execute_calldata_copy,
33 ColumnAndShifts::execution_sel_opcode_error
34 };
35 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
36 ColumnAndShifts::data_copy_clk,
37 ColumnAndShifts::data_copy_src_context_id,
38 ColumnAndShifts::data_copy_dst_context_id,
39 ColumnAndShifts::data_copy_copy_size,
40 ColumnAndShifts::data_copy_offset,
41 ColumnAndShifts::data_copy_dst_addr,
42 ColumnAndShifts::data_copy_src_addr,
43 ColumnAndShifts::data_copy_src_data_size,
44 ColumnAndShifts::data_copy_sel_cd_copy,
45 ColumnAndShifts::data_copy_err
46 };
47};
48
50template <typename FF_>
53
55
57 static constexpr std::string_view NAME = "PERM_DATA_COPY_DISPATCH_RD_COPY";
58 static constexpr std::string_view RELATION_NAME = "data_copy";
59 static constexpr size_t COLUMNS_PER_SET = 10;
60 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_returndata_copy;
61 static constexpr Column DST_SELECTOR = Column::data_copy_sel_rd_copy_start;
62 static constexpr Column INVERSES = Column::perm_data_copy_dispatch_rd_copy_inv;
63 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
64 ColumnAndShifts::precomputed_clk,
65 ColumnAndShifts::execution_last_child_id,
66 ColumnAndShifts::execution_context_id,
67 ColumnAndShifts::execution_register_0_,
68 ColumnAndShifts::execution_register_1_,
69 ColumnAndShifts::execution_rop_2_,
70 ColumnAndShifts::execution_last_child_returndata_addr,
71 ColumnAndShifts::execution_last_child_returndata_size,
72 ColumnAndShifts::execution_sel_execute_returndata_copy,
73 ColumnAndShifts::execution_sel_opcode_error
74 };
75 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
76 ColumnAndShifts::data_copy_clk,
77 ColumnAndShifts::data_copy_src_context_id,
78 ColumnAndShifts::data_copy_dst_context_id,
79 ColumnAndShifts::data_copy_copy_size,
80 ColumnAndShifts::data_copy_offset,
81 ColumnAndShifts::data_copy_dst_addr,
82 ColumnAndShifts::data_copy_src_addr,
83 ColumnAndShifts::data_copy_src_data_size,
84 ColumnAndShifts::data_copy_sel_rd_copy,
85 ColumnAndShifts::data_copy_err
86 };
87};
88
90template <typename FF_>
93
94} // namespace bb::avm2
This file contains the template for the generic permutation that can be specialized to enforce variou...
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