Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
SettingsMixedLookup Struct Reference

Public Types

using AllEntities = std::array< FF, NUM_POLYS >
 

Static Public Member Functions

static bool inverse_polynomial_is_computed_at_row (const AllEntities &in)
 Returns true if any predicate is active, meaning the inverse must be computed at this row.
 
template<typename Accumulator >
static Accumulator compute_inverse_exists (const AllEntities &in)
 OR of all four predicates via inclusion-exclusion.
 
template<typename Accumulator , size_t , typename Parameters >
static Accumulator compute_lookup_term (const AllEntities &in, const Parameters &params)
 Custom lookup term: f^3 (degree 3), f = in[13]. Called only for the CUSTOMIZED_LOOKUP term (lookup_index=1).
 
template<typename Accumulator , size_t , typename Parameters >
static Accumulator compute_table_term (const AllEntities &in, const Parameters &params)
 Custom table term: t (degree 1)
 
template<typename AE >
static auto get_const_entities (const AE &in)
 
template<typename AE >
static auto get_nonconst_entities (AE &in)
 

Static Public Attributes

static constexpr size_t NUM_LOOKUP_TERMS = 2
 
static constexpr size_t NUM_TABLE_TERMS = 2
 
static constexpr size_t LOOKUP_TUPLE_SIZE = 3
 
static constexpr size_t INVERSE_EXISTS_POLYNOMIAL_DEGREE = 6
 
static constexpr std::array< uint8_t, NUM_LOOKUP_TERMSLOOKUP_TYPES = { BASIC_LOOKUP, CUSTOMIZED_LOOKUP }
 
static constexpr std::array< uint8_t, NUM_TABLE_TERMSTABLE_TYPES = { BASIC_TABLE, CUSTOMIZED_TABLE }
 
static constexpr std::array< size_t, NUM_LOOKUP_TERMSLOOKUP_TERM_DEGREES = { 1, 3 }
 
static constexpr std::array< size_t, NUM_TABLE_TERMSTABLE_TERM_DEGREES = { 1, 1 }
 
static constexpr size_t NUM_POLYS = 15
 

Detailed Description

Definition at line 637 of file generic_lookup_relation.test.cpp.

Member Typedef Documentation

◆ AllEntities

Definition at line 661 of file generic_lookup_relation.test.cpp.

Member Function Documentation

◆ compute_inverse_exists()

template<typename Accumulator >
static Accumulator SettingsMixedLookup::compute_inverse_exists ( const AllEntities in)
inlinestatic

OR of all four predicates via inclusion-exclusion.

Groups basic and customized pairs, then ORs the groups: basic_term = OR(lookup_pred_0, table_pred_0) = OR(in[3], in[5]) customized_term = OR(lookup_pred_1, table_pred_1) = OR(in[4], in[6]) result = OR(basic_term, customized_term) (degree 4)

Definition at line 682 of file generic_lookup_relation.test.cpp.

◆ compute_lookup_term()

template<typename Accumulator , size_t , typename Parameters >
static Accumulator SettingsMixedLookup::compute_lookup_term ( const AllEntities in,
const Parameters &  params 
)
inlinestatic

Custom lookup term: f^3 (degree 3), f = in[13]. Called only for the CUSTOMIZED_LOOKUP term (lookup_index=1).

Definition at line 698 of file generic_lookup_relation.test.cpp.

◆ compute_table_term()

template<typename Accumulator , size_t , typename Parameters >
static Accumulator SettingsMixedLookup::compute_table_term ( const AllEntities in,
const Parameters &  params 
)
inlinestatic

Custom table term: t (degree 1)

Definition at line 709 of file generic_lookup_relation.test.cpp.

◆ get_const_entities()

template<typename AE >
static auto SettingsMixedLookup::get_const_entities ( const AE &  in)
inlinestatic

Definition at line 716 of file generic_lookup_relation.test.cpp.

◆ get_nonconst_entities()

template<typename AE >
static auto SettingsMixedLookup::get_nonconst_entities ( AE &  in)
inlinestatic

Definition at line 735 of file generic_lookup_relation.test.cpp.

◆ inverse_polynomial_is_computed_at_row()

static bool SettingsMixedLookup::inverse_polynomial_is_computed_at_row ( const AllEntities in)
inlinestatic

Returns true if any predicate is active, meaning the inverse must be computed at this row.

Active predicates: basic lookup (in[3]), customized lookup (in[4]), basic table (in[5]), customized table (in[6]).

Definition at line 669 of file generic_lookup_relation.test.cpp.

Member Data Documentation

◆ INVERSE_EXISTS_POLYNOMIAL_DEGREE

constexpr size_t SettingsMixedLookup::INVERSE_EXISTS_POLYNOMIAL_DEGREE = 6
staticconstexpr

Definition at line 641 of file generic_lookup_relation.test.cpp.

◆ LOOKUP_TERM_DEGREES

constexpr std::array<size_t, NUM_LOOKUP_TERMS> SettingsMixedLookup::LOOKUP_TERM_DEGREES = { 1, 3 }
staticconstexpr

Definition at line 645 of file generic_lookup_relation.test.cpp.

◆ LOOKUP_TUPLE_SIZE

constexpr size_t SettingsMixedLookup::LOOKUP_TUPLE_SIZE = 3
staticconstexpr

Definition at line 640 of file generic_lookup_relation.test.cpp.

◆ LOOKUP_TYPES

constexpr std::array<uint8_t, NUM_LOOKUP_TERMS> SettingsMixedLookup::LOOKUP_TYPES = { BASIC_LOOKUP, CUSTOMIZED_LOOKUP }
staticconstexpr

Definition at line 643 of file generic_lookup_relation.test.cpp.

◆ NUM_LOOKUP_TERMS

constexpr size_t SettingsMixedLookup::NUM_LOOKUP_TERMS = 2
staticconstexpr

Definition at line 638 of file generic_lookup_relation.test.cpp.

◆ NUM_POLYS

constexpr size_t SettingsMixedLookup::NUM_POLYS = 15
staticconstexpr

Definition at line 650 of file generic_lookup_relation.test.cpp.

◆ NUM_TABLE_TERMS

constexpr size_t SettingsMixedLookup::NUM_TABLE_TERMS = 2
staticconstexpr

Definition at line 639 of file generic_lookup_relation.test.cpp.

◆ TABLE_TERM_DEGREES

constexpr std::array<size_t, NUM_TABLE_TERMS> SettingsMixedLookup::TABLE_TERM_DEGREES = { 1, 1 }
staticconstexpr

Definition at line 646 of file generic_lookup_relation.test.cpp.

◆ TABLE_TYPES

constexpr std::array<uint8_t, NUM_TABLE_TERMS> SettingsMixedLookup::TABLE_TYPES = { BASIC_TABLE, CUSTOMIZED_TABLE }
staticconstexpr

Definition at line 644 of file generic_lookup_relation.test.cpp.


The documentation for this struct was generated from the following file: