Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
ScalarMultiplicationTest< Curve > Class Template Reference
Inheritance diagram for ScalarMultiplicationTest< Curve >:

Public Types

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

Public Member Functions

void test_get_scalar_slice ()
 
void test_consume_point_batch ()
 
void test_consume_point_batch_and_accumulate ()
 
void test_radix_sort_count_zero_entries ()
 
void test_pippenger_low_memory ()
 
void test_batch_multi_scalar_mul ()
 
void test_batch_multi_scalar_mul_sparse ()
 
void test_msm ()
 
void test_msm_all_zeroes ()
 
void test_msm_empty_polynomial ()
 
void test_scalars_unchanged_after_msm ()
 
void test_scalars_unchanged_after_batch_multi_scalar_mul ()
 
void test_scalar_one ()
 
void test_scalar_minus_one ()
 
void test_single_point ()
 
void test_size_thresholds ()
 
void test_duplicate_points ()
 
void test_mixed_zero_scalars ()
 
void test_pippenger_free_function ()
 
void test_pippenger_unsafe_free_function ()
 

Static Public Member Functions

static AffineElement naive_msm (std::span< ScalarField > input_scalars, std::span< const AffineElement > input_points)
 
static void SetUpTestSuite ()
 

Static Public Attributes

static constexpr size_t num_points = 201123
 
static std::vector< AffineElementgenerators {}
 
static std::vector< ScalarFieldscalars {}
 

Detailed Description

template<class Curve>
class ScalarMultiplicationTest< Curve >

Definition at line 19 of file scalar_multiplication.test.cpp.

Member Typedef Documentation

◆ AffineElement

template<class Curve >
using ScalarMultiplicationTest< Curve >::AffineElement = typename Curve::AffineElement

Definition at line 23 of file scalar_multiplication.test.cpp.

◆ Element

template<class Curve >
using ScalarMultiplicationTest< Curve >::Element = typename Curve::Element

Definition at line 22 of file scalar_multiplication.test.cpp.

◆ Group

template<class Curve >
using ScalarMultiplicationTest< Curve >::Group = typename Curve::Group

Definition at line 21 of file scalar_multiplication.test.cpp.

◆ ScalarField

template<class Curve >
using ScalarMultiplicationTest< Curve >::ScalarField = typename Curve::ScalarField

Definition at line 24 of file scalar_multiplication.test.cpp.

Member Function Documentation

◆ naive_msm()

template<class Curve >
static AffineElement ScalarMultiplicationTest< Curve >::naive_msm ( std::span< ScalarField input_scalars,
std::span< const AffineElement input_points 
)
inlinestatic

Definition at line 30 of file scalar_multiplication.test.cpp.

◆ SetUpTestSuite()

template<class Curve >
static void ScalarMultiplicationTest< Curve >::SetUpTestSuite ( )
inlinestatic

Definition at line 59 of file scalar_multiplication.test.cpp.

◆ test_batch_multi_scalar_mul()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_batch_multi_scalar_mul ( )
inline

Definition at line 236 of file scalar_multiplication.test.cpp.

◆ test_batch_multi_scalar_mul_sparse()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_batch_multi_scalar_mul_sparse ( )
inline

Definition at line 272 of file scalar_multiplication.test.cpp.

◆ test_consume_point_batch()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_consume_point_batch ( )
inline

Definition at line 118 of file scalar_multiplication.test.cpp.

◆ test_consume_point_batch_and_accumulate()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_consume_point_batch_and_accumulate ( )
inline

Definition at line 153 of file scalar_multiplication.test.cpp.

◆ test_duplicate_points()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_duplicate_points ( )
inline

Definition at line 471 of file scalar_multiplication.test.cpp.

◆ test_get_scalar_slice()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_get_scalar_slice ( )
inline

Definition at line 76 of file scalar_multiplication.test.cpp.

◆ test_mixed_zero_scalars()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_mixed_zero_scalars ( )
inline

Definition at line 495 of file scalar_multiplication.test.cpp.

◆ test_msm()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_msm ( )
inline

Definition at line 311 of file scalar_multiplication.test.cpp.

◆ test_msm_all_zeroes()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_msm_all_zeroes ( )
inline

Definition at line 325 of file scalar_multiplication.test.cpp.

◆ test_msm_empty_polynomial()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_msm_empty_polynomial ( )
inline

Definition at line 337 of file scalar_multiplication.test.cpp.

◆ test_pippenger_free_function()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_pippenger_free_function ( )
inline

Definition at line 518 of file scalar_multiplication.test.cpp.

◆ test_pippenger_low_memory()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_pippenger_low_memory ( )
inline

Definition at line 227 of file scalar_multiplication.test.cpp.

◆ test_pippenger_unsafe_free_function()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_pippenger_unsafe_free_function ( )
inline

Definition at line 535 of file scalar_multiplication.test.cpp.

◆ test_radix_sort_count_zero_entries()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_radix_sort_count_zero_entries ( )
inline

Definition at line 198 of file scalar_multiplication.test.cpp.

◆ test_scalar_minus_one()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_scalar_minus_one ( )
inline

Definition at line 419 of file scalar_multiplication.test.cpp.

◆ test_scalar_one()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_scalar_one ( )
inline

Definition at line 401 of file scalar_multiplication.test.cpp.

◆ test_scalars_unchanged_after_batch_multi_scalar_mul()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_scalars_unchanged_after_batch_multi_scalar_mul ( )
inline

Definition at line 368 of file scalar_multiplication.test.cpp.

◆ test_scalars_unchanged_after_msm()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_scalars_unchanged_after_msm ( )
inline

Definition at line 347 of file scalar_multiplication.test.cpp.

◆ test_single_point()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_single_point ( )
inline

Definition at line 437 of file scalar_multiplication.test.cpp.

◆ test_size_thresholds()

template<class Curve >
void ScalarMultiplicationTest< Curve >::test_size_thresholds ( )
inline

Definition at line 449 of file scalar_multiplication.test.cpp.

Member Data Documentation

◆ generators

template<class Curve >
std::vector<AffineElement> ScalarMultiplicationTest< Curve >::generators {}
inlinestatic

Definition at line 27 of file scalar_multiplication.test.cpp.

◆ num_points

template<class Curve >
constexpr size_t ScalarMultiplicationTest< Curve >::num_points = 201123
staticconstexpr

Definition at line 26 of file scalar_multiplication.test.cpp.

◆ scalars

template<class Curve >
std::vector<ScalarField> ScalarMultiplicationTest< Curve >::scalars {}
inlinestatic

Definition at line 28 of file scalar_multiplication.test.cpp.


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