Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::VerifierEqPolynomial< FF > Struct Template Reference

Verifier-side polynomial for division-free evaluation of eq(r, u). More...

#include <eq_polynomial.hpp>

Public Member Functions

 VerifierEqPolynomial (const std::vector< FF > &r_in)
 
void initialize (const std::vector< FF > &r_in)
 
FF evaluate (std::span< const FF > u) const
 

Static Public Member Functions

static FF eval (std::span< const FF > r_in, std::span< const FF > u)
 

Public Attributes

std::vector< FFr
 
std::vector< FFa
 
std::vector< FFb
 

Detailed Description

template<typename FF>
struct bb::VerifierEqPolynomial< FF >

Verifier-side polynomial for division-free evaluation of eq(r, u).

eq(r,u) = ∏_i ((1 - r_i)(1 - u_i) + r_i u_i) = ∏_i ( b_i + u_i * a_i ), where: a_i = 2 r_i - 1 b_i = 1 - r_i

Features:

  • O(d) evaluation with no divisions.
  • Incremental "combiner challenge" updates: multiply in the i-th factor and advance.

Definition at line 204 of file eq_polynomial.hpp.

Constructor & Destructor Documentation

◆ VerifierEqPolynomial()

template<typename FF >
bb::VerifierEqPolynomial< FF >::VerifierEqPolynomial ( const std::vector< FF > &  r_in)
inlineexplicit

Definition at line 210 of file eq_polynomial.hpp.

Member Function Documentation

◆ eval()

template<typename FF >
static FF bb::VerifierEqPolynomial< FF >::eval ( std::span< const FF r_in,
std::span< const FF u 
)
inlinestatic

Definition at line 236 of file eq_polynomial.hpp.

◆ evaluate()

template<typename FF >
FF bb::VerifierEqPolynomial< FF >::evaluate ( std::span< const FF u) const
inline

Definition at line 224 of file eq_polynomial.hpp.

◆ initialize()

template<typename FF >
void bb::VerifierEqPolynomial< FF >::initialize ( const std::vector< FF > &  r_in)
inline

Definition at line 212 of file eq_polynomial.hpp.

Member Data Documentation

◆ a

template<typename FF >
std::vector<FF> bb::VerifierEqPolynomial< FF >::a

Definition at line 207 of file eq_polynomial.hpp.

◆ b

template<typename FF >
std::vector<FF> bb::VerifierEqPolynomial< FF >::b

Definition at line 208 of file eq_polynomial.hpp.

◆ r

template<typename FF >
std::vector<FF> bb::VerifierEqPolynomial< FF >::r

Definition at line 206 of file eq_polynomial.hpp.


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