Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <multi_permutation_builder.hpp>
Public Member Functions | |
MultiPermutationBuilder (Column dst_table_selector) | |
~MultiPermutationBuilder () override=default | |
void | process (TraceContainer &trace) override |
template<typename PermutationSettings > | |
void | set_destination_selector (TraceContainer &trace) |
void | init (TraceContainer &trace) |
![]() | |
virtual | ~InteractionBuilderInterface ()=default |
Private Types | |
using | REPRESENTATIVE_PERM = std::tuple_element_t< 0, flat_tuple::tuple< PermutationSettings_... > > |
using | ArrayTuple = std::array< FF, COLUMNS_PER_SET > |
Private Attributes | |
Column | dst_table_selector |
unordered_flat_map< ArrayTuple, std::vector< uint32_t > > | row_idx |
Static Private Attributes | |
static constexpr auto | DST_COLUMNS = REPRESENTATIVE_PERM::DST_COLUMNS |
static constexpr size_t | COLUMNS_PER_SET = DST_COLUMNS.size() |
Suppose you have n permutations (P1, ..., Pn) such that
You want to find, for each source row of each permutation, a row in the destination table and set the right destination selector. For the next source row or permutation, you should not be able to consider the "already used" destination rows, because this is a permutation.
Definition at line 35 of file multi_permutation_builder.hpp.
|
private |
Definition at line 105 of file multi_permutation_builder.hpp.
|
private |
Definition at line 92 of file multi_permutation_builder.hpp.
|
inline |
Definition at line 37 of file multi_permutation_builder.hpp.
|
overridedefault |
|
inline |
Definition at line 78 of file multi_permutation_builder.hpp.
|
inlineoverridevirtual |
Implements bb::avm2::tracegen::InteractionBuilderInterface.
Definition at line 42 of file multi_permutation_builder.hpp.
|
inline |
Definition at line 54 of file multi_permutation_builder.hpp.
|
staticconstexprprivate |
Definition at line 94 of file multi_permutation_builder.hpp.
|
staticconstexprprivate |
Definition at line 93 of file multi_permutation_builder.hpp.
|
private |
Definition at line 98 of file multi_permutation_builder.hpp.
|
private |
Definition at line 106 of file multi_permutation_builder.hpp.