Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::scalar_multiplication::legacy Namespace Reference

Classes

class  MSM
 

Functions

template<typename Curve >
Curve::Element small_mul (const typename MSM< Curve >::MSMData &msm_data) noexcept
 
template<typename Curve >
Curve::Element pippenger (PolynomialSpan< const typename Curve::ScalarField > scalars, std::span< const typename Curve::AffineElement > points, bool handle_edge_cases=true) noexcept
 Safe MSM wrapper (defaults to handle_edge_cases=true)
 
template<typename Curve >
Curve::Element pippenger_unsafe (PolynomialSpan< const typename Curve::ScalarField > scalars, std::span< const typename Curve::AffineElement > points) noexcept
 Fast MSM wrapper for linearly independent points (no edge case handling)
 
template curve::Grumpkin::Element pippenger< curve::Grumpkin > (PolynomialSpan< const curve::Grumpkin::ScalarField > scalars, std::span< const curve::Grumpkin::AffineElement > points, bool handle_edge_cases=true) noexcept
 
template curve::Grumpkin::Element pippenger_unsafe< curve::Grumpkin > (PolynomialSpan< const curve::Grumpkin::ScalarField > scalars, std::span< const curve::Grumpkin::AffineElement > points)
 
template curve::BN254::Element pippenger< curve::BN254 > (PolynomialSpan< const curve::BN254::ScalarField > scalars, std::span< const curve::BN254::AffineElement > points, bool handle_edge_cases=true)
 
template curve::BN254::Element pippenger_unsafe< curve::BN254 > (PolynomialSpan< const curve::BN254::ScalarField > scalars, std::span< const curve::BN254::AffineElement > points)
 

Function Documentation

◆ pippenger()

template<typename Curve >
Curve::Element bb::scalar_multiplication::legacy::pippenger ( PolynomialSpan< const typename Curve::ScalarField scalars,
std::span< const typename Curve::AffineElement points,
bool  handle_edge_cases 
)
noexcept

Safe MSM wrapper (defaults to handle_edge_cases=true)

Definition at line 601 of file scalar_multiplication.cpp.

◆ pippenger< curve::BN254 >()

template curve::BN254::Element bb::scalar_multiplication::legacy::pippenger< curve::BN254 > ( PolynomialSpan< const curve::BN254::ScalarField scalars,
std::span< const curve::BN254::AffineElement points,
bool  handle_edge_cases = true 
)

◆ pippenger< curve::Grumpkin >()

template curve::Grumpkin::Element bb::scalar_multiplication::legacy::pippenger< curve::Grumpkin > ( PolynomialSpan< const curve::Grumpkin::ScalarField scalars,
std::span< const curve::Grumpkin::AffineElement points,
bool  handle_edge_cases = true 
)
noexcept

◆ pippenger_unsafe()

template<typename Curve >
Curve::Element bb::scalar_multiplication::legacy::pippenger_unsafe ( PolynomialSpan< const typename Curve::ScalarField scalars,
std::span< const typename Curve::AffineElement points 
)
noexcept

Fast MSM wrapper for linearly independent points (no edge case handling)

Definition at line 609 of file scalar_multiplication.cpp.

◆ pippenger_unsafe< curve::BN254 >()

◆ pippenger_unsafe< curve::Grumpkin >()

◆ small_mul()

template<typename Curve >
Curve::Element bb::scalar_multiplication::legacy::small_mul ( const typename MSM< Curve >::MSMData &  msm_data)
noexcept

Definition at line 26 of file scalar_multiplication.cpp.