Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::BarycentricDataCompileTime< Fr, domain_end, num_evals > Class Template Reference

Compile-time variant: precomputed arrays are static constexpr. More...

#include <barycentric.hpp>

Inheritance diagram for bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >:
bb::BarycentricDataFunctions< Fr, domain_end, num_evals >

Static Public Attributes

static constexpr auto big_domain = Base::construct_big_domain()
 
static constexpr auto lagrange_denominators = Base::construct_lagrange_denominators(big_domain)
 
static constexpr auto precomputed_denominator_inverses
 
static constexpr auto full_numerator_values = Base::construct_full_numerator_values(big_domain)
 
static constexpr size_t big_domain_size
 
static constexpr size_t domain_size
 
- Static Public Attributes inherited from bb::BarycentricDataFunctions< Fr, domain_end, num_evals >
static constexpr size_t domain_size = domain_end
 
static constexpr size_t big_domain_size = std::max(domain_size, num_evals)
 

Private Types

using Base = BarycentricDataFunctions< Fr, domain_end, num_evals >
 

Additional Inherited Members

- Static Public Member Functions inherited from bb::BarycentricDataFunctions< Fr, domain_end, num_evals >
static constexpr std::array< Fr, big_domain_sizeconstruct_big_domain ()
 
static constexpr std::array< Fr, domain_sizeconstruct_lagrange_denominators (const auto &big_domain)
 
static void assert_constant (const Fr &val)
 
static constexpr std::array< Fr, domain_size *num_evals > batch_invert (const std::array< Fr, domain_size *num_evals > &coeffs)
 
static constexpr std::array< Fr, domain_size *num_evals > construct_denominator_inverses (const auto &big_domain, const auto &lagrange_denominators)
 
static constexpr std::array< Fr, num_evals > construct_full_numerator_values (const auto &big_domain)
 

Detailed Description

template<class Fr, size_t domain_end, size_t num_evals>
class bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >

Compile-time variant: precomputed arrays are static constexpr.

Used for native field types (bb::field) where all operations are constexpr-compatible.

Definition at line 177 of file barycentric.hpp.

Member Typedef Documentation

◆ Base

template<class Fr , size_t domain_end, size_t num_evals>
using bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >::Base = BarycentricDataFunctions<Fr, domain_end, num_evals>
private

Definition at line 178 of file barycentric.hpp.

Member Data Documentation

◆ big_domain

template<class Fr , size_t domain_end, size_t num_evals>
constexpr auto bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >::big_domain = Base::construct_big_domain()
staticconstexpr

Definition at line 184 of file barycentric.hpp.

◆ big_domain_size

template<class Fr , size_t domain_end, size_t num_evals>
constexpr size_t bb::BarycentricDataFunctions< Fr, domain_end, num_evals >::big_domain_size
staticconstexpr

Definition at line 44 of file barycentric.hpp.

◆ domain_size

template<class Fr , size_t domain_end, size_t num_evals>
constexpr size_t bb::BarycentricDataFunctions< Fr, domain_end, num_evals >::domain_size
staticconstexpr

Definition at line 43 of file barycentric.hpp.

◆ full_numerator_values

template<class Fr , size_t domain_end, size_t num_evals>
constexpr auto bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >::full_numerator_values = Base::construct_full_numerator_values(big_domain)
staticconstexpr

Definition at line 188 of file barycentric.hpp.

◆ lagrange_denominators

template<class Fr , size_t domain_end, size_t num_evals>
constexpr auto bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >::lagrange_denominators = Base::construct_lagrange_denominators(big_domain)
staticconstexpr

Definition at line 185 of file barycentric.hpp.

◆ precomputed_denominator_inverses

template<class Fr , size_t domain_end, size_t num_evals>
constexpr auto bb::BarycentricDataCompileTime< Fr, domain_end, num_evals >::precomputed_denominator_inverses
staticconstexpr
Initial value:
=
static constexpr auto lagrange_denominators
static constexpr auto big_domain
static constexpr std::array< Fr, domain_size *num_evals > construct_denominator_inverses(const auto &big_domain, const auto &lagrange_denominators)

Definition at line 186 of file barycentric.hpp.


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