Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::scalar_multiplication::MSM< Curve > Class Template Reference

#include <scalar_multiplication.hpp>

Public Types

using Element = typename Curve::Element
 
using ScalarField = typename Curve::ScalarField
 
using AffineElement = typename Curve::AffineElement
 

Static Public Member Functions

static AffineElement msm (std::span< const AffineElement > points, PolynomialSpan< const ScalarField > scalars, bool handle_edge_cases=false, bool dedup_hint=false) noexcept
 
static std::vector< AffineElementbatch_multi_scalar_mul (std::span< const AffineElement > points, std::span< PolynomialSpan< ScalarField > > scalars, bool handle_edge_cases=true, std::span< const uint8_t > dedup_hints={}) noexcept
 

Detailed Description

template<typename Curve>
class bb::scalar_multiplication::MSM< Curve >

Definition at line 446 of file scalar_multiplication.hpp.

Member Typedef Documentation

◆ AffineElement

template<typename Curve >
using bb::scalar_multiplication::MSM< Curve >::AffineElement = typename Curve::AffineElement

Definition at line 450 of file scalar_multiplication.hpp.

◆ Element

template<typename Curve >
using bb::scalar_multiplication::MSM< Curve >::Element = typename Curve::Element

Definition at line 448 of file scalar_multiplication.hpp.

◆ ScalarField

template<typename Curve >
using bb::scalar_multiplication::MSM< Curve >::ScalarField = typename Curve::ScalarField

Definition at line 449 of file scalar_multiplication.hpp.

Member Function Documentation

◆ batch_multi_scalar_mul()

template<typename Curve >
std::vector< typename Curve::AffineElement > bb::scalar_multiplication::MSM< Curve >::batch_multi_scalar_mul ( std::span< const AffineElement points,
std::span< PolynomialSpan< ScalarField > >  scalars,
bool  handle_edge_cases = true,
std::span< const uint8_t >  dedup_hints = {} 
)
staticnoexcept

Definition at line 679 of file scalar_multiplication.cpp.

◆ msm()

template<typename Curve >
Curve::AffineElement bb::scalar_multiplication::MSM< Curve >::msm ( std::span< const AffineElement points,
PolynomialSpan< const ScalarField scalars,
bool  handle_edge_cases = false,
bool  dedup_hint = false 
)
staticnoexcept

Definition at line 670 of file scalar_multiplication.cpp.


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