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

Run-time variant: precomputed arrays are inline static const. More...

#include <barycentric.hpp>

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

Static Public Attributes

static const auto big_domain = Base::construct_big_domain()
 
static const auto lagrange_denominators = Base::construct_lagrange_denominators(big_domain)
 
static const auto precomputed_denominator_inverses
 
static const 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::BarycentricDataRunTime< Fr, domain_end, num_evals >

Run-time variant: precomputed arrays are inline static const.

Used for types whose operations are not constexpr-compatible (e.g. stdlib field_t).

Definition at line 196 of file barycentric.hpp.

Member Typedef Documentation

◆ Base

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

Definition at line 197 of file barycentric.hpp.

Member Data Documentation

◆ big_domain

template<class Fr , size_t domain_end, size_t num_evals>
const auto bb::BarycentricDataRunTime< Fr, domain_end, num_evals >::big_domain = Base::construct_big_domain()
inlinestatic

Definition at line 203 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>
const auto bb::BarycentricDataRunTime< Fr, domain_end, num_evals >::full_numerator_values = Base::construct_full_numerator_values(big_domain)
inlinestatic

Definition at line 207 of file barycentric.hpp.

◆ lagrange_denominators

template<class Fr , size_t domain_end, size_t num_evals>
const auto bb::BarycentricDataRunTime< Fr, domain_end, num_evals >::lagrange_denominators = Base::construct_lagrange_denominators(big_domain)
inlinestatic

Definition at line 204 of file barycentric.hpp.

◆ precomputed_denominator_inverses

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

Definition at line 205 of file barycentric.hpp.


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