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

Go to the source code of this file.

Namespaces

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

Functions

uint32_t bb::polynomial_arithmetic::reverse_bits (uint32_t x, uint32_t bit_length)
 
bool bb::polynomial_arithmetic::is_power_of_two (uint64_t x)
 
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 >
void bb::polynomial_arithmetic::scale_by_generator (Fr *coeffs, Fr *target, const EvaluationDomain< Fr > &domain, const Fr &generator_start, const Fr &generator_shift, const size_t generator_size)
 
template<typename Fr >
requires SupportsFFT<Fr>
void bb::polynomial_arithmetic::compute_multiplicative_subgroup (const size_t log2_subgroup_size, const EvaluationDomain< Fr > &src_domain, Fr *subgroup_roots)
 
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_inner_parallel (Fr *coeffs, Fr *target, 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::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::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_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 >
Fr bb::polynomial_arithmetic::evaluate (const Fr *coeffs, const Fr &z, const size_t n)
 
template<typename Fr >
Fr bb::polynomial_arithmetic::evaluate (const std::vector< Fr * > coeffs, const Fr &z, const size_t large_n)
 
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, const size_t 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 >
Fr bb::polynomial_arithmetic::compute_linear_polynomial_product_evaluation (const Fr *roots, const Fr z, 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 fr bb::polynomial_arithmetic::evaluate< fr > (const fr *, const fr &, const size_t)
 
template fr bb::polynomial_arithmetic::evaluate< fr > (const std::vector< fr * >, const fr &, const size_t)
 
template void bb::polynomial_arithmetic::copy_polynomial< fr > (const fr *, fr *, size_t, size_t)
 
template void bb::polynomial_arithmetic::fft_inner_parallel< fr > (std::vector< fr * >, const EvaluationDomain< fr > &, const fr &, const std::vector< fr * > &)
 
template void bb::polynomial_arithmetic::fft< fr > (fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::fft< fr > (fr *, fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::fft< fr > (std::vector< fr * >, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::coset_fft< fr > (fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::coset_fft< fr > (fr *, fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::coset_fft< fr > (std::vector< fr * >, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::coset_fft< fr > (fr *, const EvaluationDomain< fr > &, const EvaluationDomain< fr > &, const size_t)
 
template void bb::polynomial_arithmetic::coset_fft_with_constant< fr > (fr *, const EvaluationDomain< fr > &, const fr &)
 
template void bb::polynomial_arithmetic::coset_fft_with_generator_shift< fr > (fr *, const EvaluationDomain< fr > &, const fr &)
 
template void bb::polynomial_arithmetic::ifft< fr > (fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::ifft< fr > (fr *, fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::ifft< fr > (std::vector< fr * >, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::ifft_with_constant< fr > (fr *, const EvaluationDomain< fr > &, const fr &)
 
template void bb::polynomial_arithmetic::coset_ifft< fr > (fr *, const EvaluationDomain< fr > &)
 
template void bb::polynomial_arithmetic::coset_ifft< fr > (std::vector< fr * >, const EvaluationDomain< fr > &)
 
template fr bb::polynomial_arithmetic::compute_kate_opening_coefficients< fr > (const fr *, fr *, const fr &, const size_t)
 
template fr bb::polynomial_arithmetic::compute_sum< fr > (const fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_linear_polynomial_product< fr > (const fr *, fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_interpolation< fr > (const fr *, fr *, const fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_efficient_interpolation< fr > (const fr *, fr *, const fr *, const size_t)
 
template grumpkin::fr bb::polynomial_arithmetic::evaluate< grumpkin::fr > (const grumpkin::fr *, const grumpkin::fr &, const size_t)
 
template grumpkin::fr bb::polynomial_arithmetic::evaluate< grumpkin::fr > (const std::vector< grumpkin::fr * >, const grumpkin::fr &, const size_t)
 
template void bb::polynomial_arithmetic::copy_polynomial< grumpkin::fr > (const grumpkin::fr *, grumpkin::fr *, size_t, size_t)
 
template grumpkin::fr bb::polynomial_arithmetic::compute_sum< grumpkin::fr > (const grumpkin::fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_linear_polynomial_product< grumpkin::fr > (const grumpkin::fr *, grumpkin::fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_interpolation< grumpkin::fr > (const grumpkin::fr *, grumpkin::fr *, const grumpkin::fr *, const size_t)
 
template void bb::polynomial_arithmetic::compute_efficient_interpolation< grumpkin::fr > (const grumpkin::fr *, grumpkin::fr *, const grumpkin::fr *, const size_t)