Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
perms_internal_call.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_INTERNAL_CALL_PUSH_CALL_STACK";
18 static constexpr std::string_view RELATION_NAME = "internal_call";
19 static constexpr size_t COLUMNS_PER_SET = 5;
20 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_internal_call;
21 static constexpr Column DST_SELECTOR = Column::internal_call_stack_sel;
22 static constexpr Column INVERSES = Column::perm_internal_call_push_call_stack_inv;
23 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> SRC_COLUMNS = {
24 ColumnAndShifts::execution_context_id,
25 ColumnAndShifts::execution_next_internal_call_id,
26 ColumnAndShifts::execution_internal_call_id,
27 ColumnAndShifts::execution_internal_call_return_id,
28 ColumnAndShifts::execution_next_pc
29 };
30 static constexpr std::array<ColumnAndShifts, COLUMNS_PER_SET> DST_COLUMNS = {
31 ColumnAndShifts::internal_call_stack_context_id,
32 ColumnAndShifts::internal_call_stack_entered_call_id,
33 ColumnAndShifts::internal_call_stack_id,
34 ColumnAndShifts::internal_call_stack_return_id,
35 ColumnAndShifts::internal_call_stack_return_pc
36 };
37};
38
40template <typename FF_>
43
44} // 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 > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, COLUMNS_PER_SET > DST_COLUMNS