Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::ECCVMLookupShortRelationImpl< FF_ > Class Template Reference

Short-monomial variant of ECCVMLookupRelationImpl. More...

#include <ecc_lookup_short_relation.hpp>

Inheritance diagram for bb::ECCVMLookupShortRelationImpl< FF_ >:
bb::ECCVMLookupRelationImpl< FF_ >

Public Types

using FF = FF_
 
using Base = ECCVMLookupRelationImpl< FF >
 
- Public Types inherited from bb::ECCVMLookupRelationImpl< FF_ >
enum  SubrelationIndex : size_t { GRAND_PRODUCT = 0 , LEFT_SHIFTABLE = 1 , NUM_SUBRELATIONS }
 
using FF = FF_
 

Static Public Member Functions

template<typename Accumulator , typename AllEntities >
static Accumulator compute_inverse_exists (const AllEntities &in)
 
template<typename Accumulator , typename AllEntities >
static auto compute_inverse_exists_short (const AllEntities &in)
 
template<typename Accumulator , size_t index, typename AllEntities >
static Accumulator lookup_read_counts (const AllEntities &in)
 
template<typename Accumulator , size_t index, typename AllEntities >
static auto lookup_read_counts_short (const AllEntities &in)
 
template<typename Accumulator , size_t lookup_index, typename AllEntities >
static Accumulator get_lookup_term_predicate (const AllEntities &in)
 
template<typename Accumulator , size_t lookup_index, typename AllEntities >
static auto get_lookup_term_predicate_short (const AllEntities &in)
 
template<typename Accumulator , size_t table_index, typename AllEntities >
static Accumulator get_table_term_predicate (const AllEntities &in)
 
template<typename Accumulator , size_t table_index, typename AllEntities >
static auto get_table_term_predicate_short (const AllEntities &in)
 
template<typename Accumulator , size_t table_index, typename AllEntities , typename Parameters >
static Accumulator compute_table_term (const AllEntities &in, const Parameters &params)
 
template<typename Accumulator , size_t table_index, typename AllEntities , typename Parameters >
static auto compute_table_term_short (const AllEntities &in, const Parameters &params)
 
template<typename Accumulator , size_t lookup_index, typename AllEntities , typename Parameters >
static Accumulator compute_lookup_term (const AllEntities &in, const Parameters &params)
 
template<typename Accumulator , size_t lookup_index, typename AllEntities , typename Parameters >
static auto compute_lookup_term_short (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)
 
- Static Public Member Functions inherited from bb::ECCVMLookupRelationImpl< FF_ >
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 lookup_index, typename AllEntities >
static Accumulator get_lookup_term_predicate (const AllEntities &in)
 
template<typename Accumulator , size_t table_index, typename AllEntities >
static Accumulator get_table_term_predicate (const AllEntities &in)
 
template<typename Accumulator , size_t table_index, typename AllEntities , typename Parameters >
static Accumulator compute_table_term (const AllEntities &in, const Parameters &params)
 Returns the fingerprint of (precompute_pc, compressed_slice, (2 * compressed_slice - 15)[P]), where [P] is the point corresponding to precompute_pc and compressed_slice∈{0, ..., 15}.
 
template<typename Accumulator , size_t lookup_index, typename AllEntities , typename Parameters >
static Accumulator compute_lookup_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.
 

Additional Inherited Members

- Static Public Attributes inherited from bb::ECCVMLookupRelationImpl< FF_ >
static constexpr size_t NUM_LOOKUP_TERMS = 4
 
static constexpr size_t NUM_TABLE_TERMS = 2
 
static constexpr size_t LENGTH = NUM_LOOKUP_TERMS + NUM_TABLE_TERMS + 3
 
static constexpr std::array< size_t, 2 > SUBRELATION_PARTIAL_LENGTHS
 
static constexpr std::array< bool, 2 > SUBRELATION_LINEARLY_INDEPENDENT = { true, false }
 

Detailed Description

template<typename FF_>
class bb::ECCVMLookupShortRelationImpl< FF_ >

Short-monomial variant of ECCVMLookupRelationImpl.

Overrides the helper methods that the logderivative library calls (compute_lookup_term, compute_table_term, compute_inverse_exists, lookup_read_counts, get_lookup_term_predicate, get_table_term_predicate) so that the degree-1 fingerprints are built in length-2 coefficient basis and promoted to Accumulator at the end. Each fingerprint combines 4-5 inputs with field scalars (gamma, beta, beta_sqr, beta_cube); building in coefficient basis fuses the per-input extensions into a single Newton-forward-difference promotion per term.

Definition at line 24 of file ecc_lookup_short_relation.hpp.

Member Typedef Documentation

◆ Base

template<typename FF_ >
using bb::ECCVMLookupShortRelationImpl< FF_ >::Base = ECCVMLookupRelationImpl<FF>

Definition at line 27 of file ecc_lookup_short_relation.hpp.

◆ FF

template<typename FF_ >
using bb::ECCVMLookupShortRelationImpl< FF_ >::FF = FF_

Definition at line 26 of file ecc_lookup_short_relation.hpp.

Member Function Documentation

◆ accumulate()

template<typename FF >
template<typename ContainerOverSubrelations , typename AllEntities , typename Parameters >
void bb::ECCVMLookupShortRelationImpl< FF >::accumulate ( ContainerOverSubrelations &  accumulator,
const AllEntities &  in,
const Parameters &  params,
const FF scaling_factor 
)
static

Definition at line 20 of file ecc_lookup_short_relation_impl.hpp.

◆ compute_inverse_exists()

template<typename FF_ >
template<typename Accumulator , typename AllEntities >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::compute_inverse_exists ( const AllEntities &  in)
inlinestatic

Definition at line 30 of file ecc_lookup_short_relation.hpp.

◆ compute_inverse_exists_short()

template<typename FF_ >
template<typename Accumulator , typename AllEntities >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::compute_inverse_exists_short ( const AllEntities &  in)
inlinestatic

Definition at line 36 of file ecc_lookup_short_relation.hpp.

◆ compute_lookup_term()

template<typename FF_ >
template<typename Accumulator , size_t lookup_index, typename AllEntities , typename Parameters >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::compute_lookup_term ( const AllEntities &  in,
const Parameters &  params 
)
inlinestatic

Definition at line 141 of file ecc_lookup_short_relation.hpp.

◆ compute_lookup_term_short()

template<typename FF_ >
template<typename Accumulator , size_t lookup_index, typename AllEntities , typename Parameters >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::compute_lookup_term_short ( const AllEntities &  in,
const Parameters &  params 
)
inlinestatic

Definition at line 147 of file ecc_lookup_short_relation.hpp.

◆ compute_table_term()

template<typename FF_ >
template<typename Accumulator , size_t table_index, typename AllEntities , typename Parameters >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::compute_table_term ( const AllEntities &  in,
const Parameters &  params 
)
inlinestatic

Definition at line 106 of file ecc_lookup_short_relation.hpp.

◆ compute_table_term_short()

template<typename FF_ >
template<typename Accumulator , size_t table_index, typename AllEntities , typename Parameters >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::compute_table_term_short ( const AllEntities &  in,
const Parameters &  params 
)
inlinestatic

Definition at line 112 of file ecc_lookup_short_relation.hpp.

◆ get_lookup_term_predicate()

template<typename FF_ >
template<typename Accumulator , size_t lookup_index, typename AllEntities >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::get_lookup_term_predicate ( const AllEntities &  in)
inlinestatic

Definition at line 66 of file ecc_lookup_short_relation.hpp.

◆ get_lookup_term_predicate_short()

template<typename FF_ >
template<typename Accumulator , size_t lookup_index, typename AllEntities >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::get_lookup_term_predicate_short ( const AllEntities &  in)
inlinestatic

Definition at line 72 of file ecc_lookup_short_relation.hpp.

◆ get_table_term_predicate()

template<typename FF_ >
template<typename Accumulator , size_t table_index, typename AllEntities >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::get_table_term_predicate ( const AllEntities &  in)
inlinestatic

Definition at line 89 of file ecc_lookup_short_relation.hpp.

◆ get_table_term_predicate_short()

template<typename FF_ >
template<typename Accumulator , size_t table_index, typename AllEntities >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::get_table_term_predicate_short ( const AllEntities &  in)
inlinestatic

Definition at line 95 of file ecc_lookup_short_relation.hpp.

◆ lookup_read_counts()

template<typename FF_ >
template<typename Accumulator , size_t index, typename AllEntities >
static Accumulator bb::ECCVMLookupShortRelationImpl< FF_ >::lookup_read_counts ( const AllEntities &  in)
inlinestatic

Definition at line 47 of file ecc_lookup_short_relation.hpp.

◆ lookup_read_counts_short()

template<typename FF_ >
template<typename Accumulator , size_t index, typename AllEntities >
static auto bb::ECCVMLookupShortRelationImpl< FF_ >::lookup_read_counts_short ( const AllEntities &  in)
inlinestatic

Definition at line 53 of file ecc_lookup_short_relation.hpp.


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