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

#include <ecc_set_short_relation.hpp>

Inheritance diagram for bb::ECCVMSetShortRelationImpl< FF_ >:
bb::ECCVMSetRelationImpl< FF_ >

Public Types

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

Static Public Member Functions

template<typename Accumulator >
static auto convert_to_wnaf (const auto &s0, const auto &s1)
 
template<typename Accumulator , typename AllEntities , typename Parameters >
static Accumulator compute_grand_product_numerator (const AllEntities &in, const Parameters &params)
 
template<typename Accumulator , typename AllEntities , typename Parameters >
static Accumulator compute_grand_product_denominator (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::ECCVMSetRelationImpl< FF_ >
template<typename AllEntities >
static bool skip (const AllEntities &in)
 
template<typename Accumulator >
static Accumulator convert_to_wnaf (const auto &s0, const auto &s1)
 
static auto & get_grand_product_polynomial (auto &input)
 
static auto & get_shifted_grand_product_polynomial (auto &input)
 
template<typename Accumulator , typename AllEntities , typename Parameters >
static Accumulator compute_grand_product_numerator (const AllEntities &in, const Parameters &params)
 Performs multiset equality checks for the ECCVM. This faciliates "communication" between disjoint sets of columns, which we view as tables: the Precomputed table, the MSM table, and the Transcript table. This used to be called a strict lookup argument (where every element written was read exactly once.)
 
template<typename Accumulator , typename AllEntities , typename Parameters >
static Accumulator compute_grand_product_denominator (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 the standard arithmetic gate. @dbetails The relation is defined as C(in(X)...) = (q_m * w_r * w_l) + (q_l * w_l) + (q_r * w_r) + (q_o * w_o) + q_c.
 

Additional Inherited Members

- Static Public Attributes inherited from bb::ECCVMSetRelationImpl< FF_ >
static constexpr uint64_t FIRST_TERM_TAG = 1
 
static constexpr uint64_t SECOND_TERM_TAG = 2
 
static constexpr uint64_t THIRD_TERM_TAG = 3
 
static constexpr std::array< size_t, 3 > SUBRELATION_PARTIAL_LENGTHS
 

Detailed Description

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

Definition at line 15 of file ecc_set_short_relation.hpp.

Member Typedef Documentation

◆ Base

template<typename FF_ >
using bb::ECCVMSetShortRelationImpl< FF_ >::Base = ECCVMSetRelationImpl<FF>

Definition at line 18 of file ecc_set_short_relation.hpp.

◆ FF

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

Definition at line 17 of file ecc_set_short_relation.hpp.

Member Function Documentation

◆ accumulate()

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

Definition at line 216 of file ecc_set_short_relation_impl.hpp.

◆ compute_grand_product_denominator()

template<typename FF >
template<typename Accumulator , typename AllEntities , typename Parameters >
Accumulator bb::ECCVMSetShortRelationImpl< FF >::compute_grand_product_denominator ( const AllEntities &  in,
const Parameters &  params 
)
static

Definition at line 132 of file ecc_set_short_relation_impl.hpp.

◆ compute_grand_product_numerator()

template<typename FF >
template<typename Accumulator , typename AllEntities , typename Parameters >
Accumulator bb::ECCVMSetShortRelationImpl< FF >::compute_grand_product_numerator ( const AllEntities &  in,
const Parameters &  params 
)
static

Definition at line 18 of file ecc_set_short_relation_impl.hpp.

◆ convert_to_wnaf()

template<typename FF_ >
template<typename Accumulator >
static auto bb::ECCVMSetShortRelationImpl< FF_ >::convert_to_wnaf ( const auto &  s0,
const auto &  s1 
)
inlinestatic

Definition at line 20 of file ecc_set_short_relation.hpp.


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