barretenberg
Loading...
Searching...
No Matches
plookup.hpp
1#pragma once
2#include "barretenberg/proof_system/plookup_tables/plookup_tables.hpp"
3#include "barretenberg/proof_system/plookup_tables/types.hpp"
4#include "barretenberg/stdlib/primitives/circuit_builders/circuit_builders_fwd.hpp"
5#include "barretenberg/stdlib/primitives/field/field.hpp"
6#include <array>
7#include <vector>
8
9namespace proof_system::plonk {
10namespace stdlib {
11
12template <typename Builder> class plookup_read {
14
15 public:
16 static std::pair<field_pt, field_pt> read_pair_from_table(const plookup::MultiTableId id, const field_pt& key);
17
18 static field_pt read_from_2_to_1_table(const plookup::MultiTableId id,
19 const field_pt& key_a,
20 const field_pt& key_b);
21 static field_pt read_from_1_to_2_table(const plookup::MultiTableId id, const field_pt& key_a);
22
23 static plookup::ReadData<field_pt> get_lookup_accumulators(const plookup::MultiTableId id,
24 const field_pt& key_a,
25 const field_pt& key_b = 0,
26 const bool is_2_to_1_lookup = false);
27};
28
29EXTERN_STDLIB_ULTRA_TYPE(plookup_read);
30
31} // namespace stdlib
32} // namespace proof_system::plonk
Container type for lookup table reads.
Definition: types.hpp:316
Definition: field.hpp:10
Definition: widget.bench.cpp:13