|
barretenberg
|
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 } |
|
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. |
|
inlinestatic |
Get the inverse lookup polynomial.
| AllEntities |
| in |
|
staticconstexpr |