barretenberg
Loading...
Searching...
No Matches
Public Types | Static Public Member Functions | Static Public Attributes | List of all members
proof_system::honk::sumcheck::ECCVMLookupRelationImpl< FF_ > Class Template Reference

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 &params)
 
template<typename Accumulator , size_t read_index, typename AllEntities , typename Parameters >
static Accumulator compute_read_term (const AllEntities &in, const Parameters &params)
 
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
static void accumulate (ContainerOverSubrelations &accumulator, const AllEntities &in, const Parameters &params, 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 }
 

Member Function Documentation

◆ accumulate()

template<typename FF >
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
void proof_system::honk::sumcheck::ECCVMLookupRelationImpl< FF >::accumulate ( ContainerOverSubrelations &  accumulator,
const AllEntities &  in,
const Parameters &  params,
const FF &  scaling_factor 
)
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 }

Parameters
accumulatortransformed to evals + C(in(X)...)*scaling_factor
inan std::array containing the fully extended Accumulator edges.
relation_paramscontains beta, gamma, and public_input_delta, ....
scaling_factoroptional 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 }

Parameters
evalstransformed to evals + C(in(X)...)*scaling_factor
inan std::array containing the fully extended Accumulator edges.
parameterscontains beta, gamma, and public_input_delta, ....
scaling_factoroptional term to scale the evaluation before adding to evals.

◆ get_inverse_polynomial()

template<typename FF_ >
template<typename AllEntities >
static auto & proof_system::honk::sumcheck::ECCVMLookupRelationImpl< FF_ >::get_inverse_polynomial ( AllEntities &  in)
inlinestatic

Get the inverse lookup polynomial.

Template Parameters
AllEntities
Parameters
in
Returns
auto&

Member Data Documentation

◆ SUBRELATION_PARTIAL_LENGTHS

template<typename FF_ >
constexpr std::array<size_t, 2> proof_system::honk::sumcheck::ECCVMLookupRelationImpl< FF_ >::SUBRELATION_PARTIAL_LENGTHS
staticconstexpr
Initial value:
{
LENGTH,
LENGTH
}

The documentation for this class was generated from the following files: