Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <ecc_lookup_relation.hpp>
Public Types | |
using | FF = FF_ |
Static Public Member Functions | |
template<typename AllValues > | |
static bool | operation_exists_at_row (const AllValues &row) |
template<typename AllEntities > | |
static auto & | get_inverse_polynomial (AllEntities &in) |
Get the inverse lookup polynomial. | |
template<typename Accumulator , typename AllEntities > | |
static Accumulator | compute_inverse_exists (const AllEntities &in) |
template<typename Accumulator , size_t index, typename AllEntities > | |
static Accumulator | lookup_read_counts (const AllEntities &in) |
template<typename Accumulator , size_t read_index, typename AllEntities > | |
static Accumulator | compute_read_term_predicate (const AllEntities &in) |
template<typename Accumulator , size_t write_index, typename AllEntities > | |
static Accumulator | compute_write_term_predicate (const AllEntities &in) |
template<typename Accumulator , size_t write_index, typename AllEntities , typename Parameters > | |
static Accumulator | compute_write_term (const AllEntities &in, const Parameters ¶ms) |
template<typename Accumulator , size_t read_index, typename AllEntities , typename Parameters > | |
static Accumulator | compute_read_term (const AllEntities &in, const Parameters ¶ms) |
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters > | |
static void | accumulate (ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters ¶ms, const FF &scaling_factor) |
Expression for ECCVM lookup tables. | |
Static Public Attributes | |
static constexpr size_t | READ_TERMS = 4 |
static constexpr size_t | WRITE_TERMS = 2 |
static constexpr size_t | LENGTH = READ_TERMS + WRITE_TERMS + 3 |
static constexpr std::array< size_t, 2 > | SUBRELATION_PARTIAL_LENGTHS |
static constexpr std::array< bool, 2 > | SUBRELATION_LINEARLY_INDEPENDENT = { true, false } |
Definition at line 17 of file ecc_lookup_relation.hpp.
using bb::ECCVMLookupRelationImpl< FF_ >::FF = FF_ |
Definition at line 19 of file ecc_lookup_relation.hpp.
|
static |
Expression for ECCVM lookup tables.
We use log-derivative lookup tables for the following case: Table writes: ECCVMPointTable columns: we define Straus point table: { {0, -15[P]}, {1, -13[P]}, ..., {15, 15[P]} } write source: { precompute_round, precompute_tx, precompute_ty } Table reads: ECCVMMSM columns. Each row adds up to 4 points into MSM accumulator read source: { msm_slice1, msm_x1, msm_y1 }, ..., { msm_slice4, msm_x4, msm_y4 }
accumulator | transformed to evals + C(in(X)...)*scaling_factor |
in | an std::array containing the fully extended Accumulator edges. |
relation_params | contains beta, gamma, and public_input_delta, .... |
scaling_factor | optional term to scale the evaluation before adding to evals. |
We use log-derivative lookup tables for the following case: Table writes: ECCVMPointTable columns: we define Straus point table: { {0, -15[P]}, {1, -13[P]}, ..., {15, 15[P]} } write source: { precompute_round, precompute_tx, precompute_ty } Table reads: ECCVMMSM columns. Each row adds up to 4 points into MSM accumulator read source: { msm_slice1, msm_x1, msm_y1 }, ..., { msm_slice4, msm_x4, msm_y4 }
evals | transformed to evals + C(in(X)...)*scaling_factor |
in | an std::array containing the fully extended Accumulator edges. |
parameters | contains beta, gamma, and public_input_delta, .... |
scaling_factor | optional term to scale the evaluation before adding to evals. |
Definition at line 30 of file ecc_lookup_relation_impl.hpp.
|
inlinestatic |
Definition at line 48 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 179 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 72 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 108 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 93 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Get the inverse lookup polynomial.
AllEntities |
in |
Definition at line 45 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 58 of file ecc_lookup_relation.hpp.
|
inlinestatic |
Definition at line 32 of file ecc_lookup_relation.hpp.
|
staticconstexpr |
Definition at line 23 of file ecc_lookup_relation.hpp.
|
staticconstexpr |
Definition at line 20 of file ecc_lookup_relation.hpp.
|
staticconstexpr |
Definition at line 30 of file ecc_lookup_relation.hpp.
|
staticconstexpr |
Definition at line 25 of file ecc_lookup_relation.hpp.
|
staticconstexpr |
Definition at line 21 of file ecc_lookup_relation.hpp.