Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_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 = "LOOKUP_INTERNAL_CALL_PUSH_CALL_STACK";
18 static constexpr std::string_view RELATION_NAME = "internal_call";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 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 COUNTS = Column::lookup_internal_call_push_call_stack_counts;
23 static constexpr Column INVERSES = Column::lookup_internal_call_push_call_stack_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::execution_context_id,
26 ColumnAndShifts::execution_next_internal_call_id,
27 ColumnAndShifts::execution_internal_call_id,
28 ColumnAndShifts::execution_internal_call_return_id,
29 ColumnAndShifts::execution_next_pc
30 };
31 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
32 ColumnAndShifts::internal_call_stack_context_id,
33 ColumnAndShifts::internal_call_stack_entered_call_id,
34 ColumnAndShifts::internal_call_stack_id,
35 ColumnAndShifts::internal_call_stack_return_id,
36 ColumnAndShifts::internal_call_stack_return_pc
37 };
38};
39
41template <typename FF_>
44
46
48 static constexpr std::string_view NAME = "LOOKUP_INTERNAL_CALL_UNWIND_CALL_STACK";
49 static constexpr std::string_view RELATION_NAME = "internal_call";
50 static constexpr size_t LOOKUP_TUPLE_SIZE = 5;
51 static constexpr Column SRC_SELECTOR = Column::execution_sel_execute_internal_return;
52 static constexpr Column DST_SELECTOR = Column::internal_call_stack_sel;
53 static constexpr Column COUNTS = Column::lookup_internal_call_unwind_call_stack_counts;
54 static constexpr Column INVERSES = Column::lookup_internal_call_unwind_call_stack_inv;
55 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
56 ColumnAndShifts::execution_context_id,
57 ColumnAndShifts::execution_internal_call_id,
58 ColumnAndShifts::execution_internal_call_id_shift,
59 ColumnAndShifts::execution_internal_call_return_id_shift,
60 ColumnAndShifts::execution_pc_shift
61 };
62 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
63 ColumnAndShifts::internal_call_stack_context_id,
64 ColumnAndShifts::internal_call_stack_entered_call_id,
65 ColumnAndShifts::internal_call_stack_id,
66 ColumnAndShifts::internal_call_stack_return_id,
67 ColumnAndShifts::internal_call_stack_return_pc
68 };
69};
70
73template <typename FF_>
76
77} // 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 > 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