Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
lookups_poseidon2_mem.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_POSEIDON2_MEM_CHECK_SRC_ADDR_IN_RANGE";
18 static constexpr std::string_view RELATION_NAME = "poseidon2_mem";
19 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
20 static constexpr Column SRC_SELECTOR = Column::poseidon2_perm_mem_sel;
21 static constexpr Column DST_SELECTOR = Column::gt_sel_others;
22 static constexpr Column COUNTS = Column::lookup_poseidon2_mem_check_src_addr_in_range_counts;
23 static constexpr Column INVERSES = Column::lookup_poseidon2_mem_check_src_addr_in_range_inv;
24 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
25 ColumnAndShifts::poseidon2_perm_mem_read_address_3_,
26 ColumnAndShifts::poseidon2_perm_mem_max_mem_addr,
27 ColumnAndShifts::poseidon2_perm_mem_sel_src_out_of_range_err
28 };
29 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
30 ColumnAndShifts::gt_input_b,
31 ColumnAndShifts::gt_res };
32};
33
36template <typename FF_>
39
41
43 static constexpr std::string_view NAME = "LOOKUP_POSEIDON2_MEM_CHECK_DST_ADDR_IN_RANGE";
44 static constexpr std::string_view RELATION_NAME = "poseidon2_mem";
45 static constexpr size_t LOOKUP_TUPLE_SIZE = 3;
46 static constexpr Column SRC_SELECTOR = Column::poseidon2_perm_mem_sel;
47 static constexpr Column DST_SELECTOR = Column::gt_sel_others;
48 static constexpr Column COUNTS = Column::lookup_poseidon2_mem_check_dst_addr_in_range_counts;
49 static constexpr Column INVERSES = Column::lookup_poseidon2_mem_check_dst_addr_in_range_inv;
50 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
51 ColumnAndShifts::poseidon2_perm_mem_write_address_3_,
52 ColumnAndShifts::poseidon2_perm_mem_max_mem_addr,
53 ColumnAndShifts::poseidon2_perm_mem_sel_dst_out_of_range_err
54 };
55 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = { ColumnAndShifts::gt_input_a,
56 ColumnAndShifts::gt_input_b,
57 ColumnAndShifts::gt_res };
58};
59
62template <typename FF_>
65
67
69 static constexpr std::string_view NAME = "LOOKUP_POSEIDON2_MEM_INPUT_OUTPUT_POSEIDON2_PERM";
70 static constexpr std::string_view RELATION_NAME = "poseidon2_mem";
71 static constexpr size_t LOOKUP_TUPLE_SIZE = 8;
72 static constexpr Column SRC_SELECTOR = Column::poseidon2_perm_mem_sel_should_exec;
73 static constexpr Column DST_SELECTOR = Column::poseidon2_perm_sel;
74 static constexpr Column COUNTS = Column::lookup_poseidon2_mem_input_output_poseidon2_perm_counts;
75 static constexpr Column INVERSES = Column::lookup_poseidon2_mem_input_output_poseidon2_perm_inv;
76 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> SRC_COLUMNS = {
77 ColumnAndShifts::poseidon2_perm_mem_input_0_, ColumnAndShifts::poseidon2_perm_mem_input_1_,
78 ColumnAndShifts::poseidon2_perm_mem_input_2_, ColumnAndShifts::poseidon2_perm_mem_input_3_,
79 ColumnAndShifts::poseidon2_perm_mem_output_0_, ColumnAndShifts::poseidon2_perm_mem_output_1_,
80 ColumnAndShifts::poseidon2_perm_mem_output_2_, ColumnAndShifts::poseidon2_perm_mem_output_3_
81 };
82 static constexpr std::array<ColumnAndShifts, LOOKUP_TUPLE_SIZE> DST_COLUMNS = {
83 ColumnAndShifts::poseidon2_perm_a_0, ColumnAndShifts::poseidon2_perm_a_1, ColumnAndShifts::poseidon2_perm_a_2,
84 ColumnAndShifts::poseidon2_perm_a_3, ColumnAndShifts::poseidon2_perm_b_0, ColumnAndShifts::poseidon2_perm_b_1,
85 ColumnAndShifts::poseidon2_perm_b_2, ColumnAndShifts::poseidon2_perm_b_3
86 };
87};
88
91template <typename FF_>
94
95} // 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 > SRC_COLUMNS
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 > DST_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > SRC_COLUMNS
static constexpr std::array< ColumnAndShifts, LOOKUP_TUPLE_SIZE > DST_COLUMNS