|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <shifted_eq_polynomial.hpp>
Public Types | |
| using | FF = typename Curve::ScalarField |
| using | Polynomial = bb::Polynomial< FF > |
Static Public Member Functions | |
| static void | add_scaled (Polynomial &result, const Polynomial &eq, const FF &scaling_factor) |
| static FF | evaluate_from_eq (const Polynomial &eq, const Polynomial &witness) |
| static FF | evaluate_folded (std::span< const FF > point, std::span< const FF > ipa_round_challenges_inv) |
| static FF | evaluate_eq_folded (std::span< const FF > point, std::span< const FF > ipa_round_challenges_inv) |
| Fold the unshifted eq tensor eq(point, .) against the IPA s-vector. | |
Static Public Attributes | |
| static constexpr size_t | poly_length = 1UL << log_num_monomials |
Static Private Member Functions | |
| static FF | fold_factor (std::span< const FF > ipa_round_challenges_inv, const size_t coordinate_idx) |
| static FF | evaluate_eq_factor (const FF &coordinate, const FF &fold) |
| static void | compute_prefix_suffix_products (std::span< const FF > point, std::span< const FF > ipa_round_challenges_inv, std::array< FF, log_num_monomials > &lower_prefix_products, std::array< FF, log_num_monomials > &upper_suffix_products) |
Definition at line 21 of file shifted_eq_polynomial.hpp.
| using bb::ShiftedEqPolynomial< Curve, log_num_monomials >::FF = typename Curve::ScalarField |
Definition at line 23 of file shifted_eq_polynomial.hpp.
| using bb::ShiftedEqPolynomial< Curve, log_num_monomials >::Polynomial = bb::Polynomial<FF> |
Definition at line 24 of file shifted_eq_polynomial.hpp.
|
inlinestatic |
Definition at line 28 of file shifted_eq_polynomial.hpp.
|
inlinestaticprivate |
Definition at line 115 of file shifted_eq_polynomial.hpp.
|
inlinestaticprivate |
Definition at line 110 of file shifted_eq_polynomial.hpp.
|
inlinestatic |
Fold the unshifted eq tensor eq(point, .) against the IPA s-vector.
Companion of evaluate_folded: the TripleIPA batches the eq claim and the shifted-eq claim into one opening, so the verifier needs both b_0 contractions. This is the plain product prod_i ((1 - point_i) + point_i * s_i), reusing the same evaluate_eq_factor/fold_factor primitives as the shifted fold.
Definition at line 91 of file shifted_eq_polynomial.hpp.
|
inlinestatic |
Definition at line 58 of file shifted_eq_polynomial.hpp.
|
inlinestatic |
Definition at line 39 of file shifted_eq_polynomial.hpp.
|
inlinestaticprivate |
Definition at line 104 of file shifted_eq_polynomial.hpp.
|
staticconstexpr |
Definition at line 26 of file shifted_eq_polynomial.hpp.