Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
polynomial_arithmetic.hpp File Reference

Go to the source code of this file.

Classes

struct  bb::polynomial_arithmetic::LagrangeEvaluations< Fr >
 

Namespaces

namespace  bb
 Entry point for Barretenberg command-line interface.
 
namespace  bb::polynomial_arithmetic
 

Concepts

concept  bb::polynomial_arithmetic::SupportsFFT
 

Typedefs

using bb::polynomial_arithmetic::lagrange_evaluations = LagrangeEvaluations< fr >
 

Functions

template<typename Fr >
Fr bb::polynomial_arithmetic::evaluate (const Fr *coeffs, const Fr &z, const size_t n)
 
template<typename Fr >
Fr bb::polynomial_arithmetic::evaluate (std::span< const Fr > coeffs, const Fr &z, const size_t n)
 
template<typename Fr >
Fr bb::polynomial_arithmetic::evaluate (std::span< const Fr > coeffs, const Fr &z)
 
template<typename Fr >
Fr bb::polynomial_arithmetic::evaluate (const std::vector< Fr * > coeffs, const Fr &z, const size_t large_n)
 
template<typename Fr >
void bb::polynomial_arithmetic::copy_polynomial (const Fr *src, Fr *dest, size_t num_src_coefficients, size_t num_target_coefficients)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::fft_inner_parallel (std::vector< Fr * > coeffs, const EvaluationDomain< Fr > &domain, const Fr &, const std::vector< Fr * > &root_table)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::fft (Fr *coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::fft (Fr *coeffs, Fr *target, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::fft (std::vector< Fr * > coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft (Fr *coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft (Fr *coeffs, Fr *target, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft (std::vector< Fr * > coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft (Fr *coeffs, const EvaluationDomain< Fr > &domain, const EvaluationDomain< Fr > &, const size_t domain_extension)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft_with_constant (Fr *coeffs, const EvaluationDomain< Fr > &domain, const Fr &constant)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_fft_with_generator_shift (Fr *coeffs, const EvaluationDomain< Fr > &domain, const Fr &constant)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::ifft (Fr *coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::ifft (Fr *coeffs, Fr *target, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::ifft (std::vector< Fr * > coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::ifft_with_constant (Fr *coeffs, const EvaluationDomain< Fr > &domain, const Fr &value)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_ifft (Fr *coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::coset_ifft (std::vector< Fr * > coeffs, const EvaluationDomain< Fr > &domain)
 
template<typename Fr >
requires SupportsFFT<Fr>
Fr bb::polynomial_arithmetic::compute_kate_opening_coefficients (const Fr *src, Fr *dest, const Fr &z, const size_t n)
 
fr bb::polynomial_arithmetic::compute_barycentric_evaluation (const fr *coeffs, unsigned long num_coeffs, const fr &z, const EvaluationDomain< fr > &domain)
 
template<typename Fr >
Fr bb::polynomial_arithmetic::compute_sum (const Fr *src, const size_t n)
 
template<typename Fr >
void bb::polynomial_arithmetic::compute_linear_polynomial_product (const Fr *roots, Fr *dest, const size_t n)
 
template<typename Fr >
void bb::polynomial_arithmetic::compute_interpolation (const Fr *src, Fr *dest, const Fr *evaluation_points, const size_t n)
 
template<typename Fr >
void bb::polynomial_arithmetic::compute_efficient_interpolation (const Fr *src, Fr *dest, const Fr *evaluation_points, const size_t n)
 
template<typename Fr >
void bb::polynomial_arithmetic::factor_roots (std::span< Fr > polynomial, const Fr &root)
 Divides p(X) by (X-r) in-place.