Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
scalar_multiplication.test.cpp File Reference

Tests of our implementation of Pippenger's multi-scalar multiplication algorithm. More...

Go to the source code of this file.

Classes

class  ScalarMultiplicationTests< Curve >
 

Typedefs

using Curves = ::testing::Types< curve::BN254, curve::Grumpkin >
 

Functions

 TYPED_TEST_SUITE (ScalarMultiplicationTests, Curves)
 
 TYPED_TEST (ScalarMultiplicationTests, AddAffinePoints)
 
 TYPED_TEST (ScalarMultiplicationTests, EndomorphismSplit)
 
 TYPED_TEST (ScalarMultiplicationTests, RadixSort)
 
 TYPED_TEST (ScalarMultiplicationTests, OversizedInputs)
 
 TYPED_TEST (ScalarMultiplicationTests, UndersizedInputs)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerSmall)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerEdgeCaseDbl)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerShortInputs)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerUnsafe)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerUnsafeShortInputs)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerOne)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerZeroPoints)
 
 TYPED_TEST (ScalarMultiplicationTests, PippengerMulByZero)
 

Detailed Description

Tests of our implementation of Pippenger's multi-scalar multiplication algorithm.

This file is here with the SRS code, rather than being next to the Pippenger implementation, to avoid a cyclic dependency between our srs and ecc modules. Namely, srs depends on ecc via the FileCrs constructor that constructs a Pippenger point table. It may make sense to create a function in the ecc module that initializes a CRS, but for now a low-impact solution (to a newly-encountered linker error) is to move this test file, as it was the sole reason for for ecc to depend on srs.

Definition in file scalar_multiplication.test.cpp.

Typedef Documentation

◆ Curves

using Curves = ::testing::Types<curve::BN254, curve::Grumpkin>

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

Function Documentation

◆ TYPED_TEST() [1/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
AddAffinePoints   
)

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

◆ TYPED_TEST() [2/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
EndomorphismSplit   
)

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

◆ TYPED_TEST() [3/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
OversizedInputs   
)

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

◆ TYPED_TEST() [4/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerEdgeCaseDbl   
)

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

◆ TYPED_TEST() [5/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerMulByZero   
)

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

◆ TYPED_TEST() [6/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerOne   
)

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

◆ TYPED_TEST() [7/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerShortInputs   
)

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

◆ TYPED_TEST() [8/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerSmall   
)

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

◆ TYPED_TEST() [9/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerUnsafe   
)

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

◆ TYPED_TEST() [10/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerUnsafeShortInputs   
)

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

◆ TYPED_TEST() [11/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
PippengerZeroPoints   
)

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

◆ TYPED_TEST() [12/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
RadixSort   
)

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

◆ TYPED_TEST() [13/13]

TYPED_TEST ( ScalarMultiplicationTests  ,
UndersizedInputs   
)

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

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( ScalarMultiplicationTests  ,
Curves   
)