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

Go to the source code of this file.

Classes

class  ScalarMultiplicationTest< Curve >
 
class  ScalarMultiplicationTest< Curve >::ConcurrencyScope
 RAII helper to scope a bb::set_parallel_for_concurrency change to one test. More...
 
class  VariableWindowSplitDispatchTest< Curve >
 

Typedefs

using CurveTypes = ::testing::Types< bb::curve::BN254, bb::curve::Grumpkin >
 
using VariableWindowCurveTypes = ::testing::Types< bb::curve::BN254, bb::curve::Grumpkin >
 

Functions

 TYPED_TEST_SUITE (ScalarMultiplicationTest, CurveTypes)
 
 TEST (ScalarMultiplicationArenaTest, LargeBn254RecursionVkShapeFitsComputedArena)
 
 TEST (ScalarMultiplicationArenaTest, ArenaLayoutFitsAcrossDispatchSpace)
 
 TEST (ScalarMultiplicationArenaTest, MidBandArenaSizerCoversAllEffectiveNumBits)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerLowMemory)
 
 TYPED_TEST (ScalarMultiplicationTest, BatchMultiScalarMul)
 
 TYPED_TEST (ScalarMultiplicationTest, BatchMultiScalarMulSparse)
 
 TYPED_TEST (ScalarMultiplicationTest, BatchMultiScalarMulLargeDense)
 
 TYPED_TEST (ScalarMultiplicationTest, BatchMultiScalarMulRagged)
 
 TYPED_TEST (ScalarMultiplicationTest, MSM)
 
 TYPED_TEST (ScalarMultiplicationTest, MSMAllZeroes)
 
 TYPED_TEST (ScalarMultiplicationTest, MSMEmptyPolynomial)
 
 TYPED_TEST (ScalarMultiplicationTest, ScalarsUnchangedAfterMSM)
 
 TYPED_TEST (ScalarMultiplicationTest, ScalarsUnchangedAfterBatchMultiScalarMul)
 
 TYPED_TEST (ScalarMultiplicationTest, ScalarsUnchangedAfterLargeNonGlvMSM)
 
 TYPED_TEST (ScalarMultiplicationTest, ScalarOne)
 
 TYPED_TEST (ScalarMultiplicationTest, ScalarMinusOne)
 
 TYPED_TEST (ScalarMultiplicationTest, SinglePoint)
 
 TYPED_TEST (ScalarMultiplicationTest, SizeThresholds)
 
 TYPED_TEST (ScalarMultiplicationTest, DuplicatePoints)
 
 TYPED_TEST (ScalarMultiplicationTest, MixedZeroScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerFreeFunction)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerUnsafeFreeFunction)
 
 TYPED_TEST (ScalarMultiplicationTest, OffsetSpan)
 
 TYPED_TEST (ScalarMultiplicationTest, LargeNNonGLV)
 
 TYPED_TEST (ScalarMultiplicationTest, MSMSingleDigitMegaRun)
 
 TYPED_TEST (ScalarMultiplicationTest, MSMDedupCapAndCarry)
 
 TYPED_TEST (ScalarMultiplicationTest, MSMDedupManySmallClustersCap)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalSingleThread)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalSingleThreadAtDispatchThresholdPlusOne)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalDispatchThresholdPerThreadCount)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalOffsetSpanDispatch)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalAllZeroScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalMixedZeroScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalExtremeScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, TrivialMsmThreadedPerWorkerPaths)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalGlvBoundary)
 
 TYPED_TEST (ScalarMultiplicationTest, PippengerInternalMisalignedExternalArena)
 
 TYPED_TEST (ScalarMultiplicationTest, HandleEdgeCasesPointAtInfinity)
 
 TYPED_TEST (ScalarMultiplicationTest, HandleEdgeCasesInversePairs)
 
 TYPED_TEST (ScalarMultiplicationTest, ExternalGlvDoubledDirect)
 
 TYPED_TEST (ScalarMultiplicationTest, GlvExtremeMagnitudeScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, EffectiveNumBitsBandSmallScalars)
 
 TYPED_TEST (ScalarMultiplicationTest, DedupLargeClusterCarryAndCaps)
 
 TYPED_TEST (ScalarMultiplicationTest, BatchDriverSharedPathRagged)
 
 TYPED_TEST_SUITE (VariableWindowSplitDispatchTest, VariableWindowCurveTypes)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, Cliff)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, Decaying)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, UniformRandom)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, AllZero)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, HalfZero)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, AllLarge)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, MidDistribution)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, Below192)
 
 TYPED_TEST (VariableWindowSplitDispatchTest, ForceSplitBitwiseIdentity)
 
 TEST (ScalarMultiplication, SmallInputsExplicit)
 

Typedef Documentation

◆ CurveTypes

using CurveTypes = ::testing::Types<bb::curve::BN254, bb::curve::Grumpkin>

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

◆ VariableWindowCurveTypes

Function Documentation

◆ TEST() [1/4]

TEST ( ScalarMultiplication  ,
SmallInputsExplicit   
)

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

◆ TEST() [2/4]

TEST ( ScalarMultiplicationArenaTest  ,
ArenaLayoutFitsAcrossDispatchSpace   
)

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

◆ TEST() [3/4]

TEST ( ScalarMultiplicationArenaTest  ,
LargeBn254RecursionVkShapeFitsComputedArena   
)

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

◆ TEST() [4/4]

TEST ( ScalarMultiplicationArenaTest  ,
MidBandArenaSizerCoversAllEffectiveNumBits   
)

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

◆ TYPED_TEST() [1/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchDriverSharedPathRagged   
)

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

◆ TYPED_TEST() [2/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMul   
)

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

◆ TYPED_TEST() [3/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulLargeDense   
)

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

◆ TYPED_TEST() [4/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulRagged   
)

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

◆ TYPED_TEST() [5/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulSparse   
)

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

◆ TYPED_TEST() [6/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
DedupLargeClusterCarryAndCaps   
)

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

◆ TYPED_TEST() [7/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
DuplicatePoints   
)

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

◆ TYPED_TEST() [8/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
EffectiveNumBitsBandSmallScalars   
)

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

◆ TYPED_TEST() [9/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ExternalGlvDoubledDirect   
)

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

◆ TYPED_TEST() [10/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
GlvExtremeMagnitudeScalars   
)

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

◆ TYPED_TEST() [11/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
HandleEdgeCasesInversePairs   
)

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

◆ TYPED_TEST() [12/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
HandleEdgeCasesPointAtInfinity   
)

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

◆ TYPED_TEST() [13/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
LargeNNonGLV   
)

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

◆ TYPED_TEST() [14/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MixedZeroScalars   
)

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

◆ TYPED_TEST() [15/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSM   
)

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

◆ TYPED_TEST() [16/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMAllZeroes   
)

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

◆ TYPED_TEST() [17/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMDedupCapAndCarry   
)

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

◆ TYPED_TEST() [18/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMDedupManySmallClustersCap   
)

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

◆ TYPED_TEST() [19/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMEmptyPolynomial   
)

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

◆ TYPED_TEST() [20/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMSingleDigitMegaRun   
)

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

◆ TYPED_TEST() [21/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
OffsetSpan   
)

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

◆ TYPED_TEST() [22/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerFreeFunction   
)

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

◆ TYPED_TEST() [23/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalAllZeroScalars   
)

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

◆ TYPED_TEST() [24/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalDispatchThresholdPerThreadCount   
)

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

◆ TYPED_TEST() [25/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalExtremeScalars   
)

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

◆ TYPED_TEST() [26/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalGlvBoundary   
)

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

◆ TYPED_TEST() [27/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalMisalignedExternalArena   
)

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

◆ TYPED_TEST() [28/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalMixedZeroScalars   
)

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

◆ TYPED_TEST() [29/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalOffsetSpanDispatch   
)

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

◆ TYPED_TEST() [30/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalSingleThread   
)

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

◆ TYPED_TEST() [31/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalSingleThreadAtDispatchThresholdPlusOne   
)

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

◆ TYPED_TEST() [32/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerLowMemory   
)

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

◆ TYPED_TEST() [33/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerUnsafeFreeFunction   
)

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

◆ TYPED_TEST() [34/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarMinusOne   
)

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

◆ TYPED_TEST() [35/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarOne   
)

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

◆ TYPED_TEST() [36/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterBatchMultiScalarMul   
)

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

◆ TYPED_TEST() [37/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterLargeNonGlvMSM   
)

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

◆ TYPED_TEST() [38/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterMSM   
)

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

◆ TYPED_TEST() [39/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
SinglePoint   
)

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

◆ TYPED_TEST() [40/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
SizeThresholds   
)

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

◆ TYPED_TEST() [41/50]

TYPED_TEST ( ScalarMultiplicationTest  ,
TrivialMsmThreadedPerWorkerPaths   
)

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

◆ TYPED_TEST() [42/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
AllLarge   
)

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

◆ TYPED_TEST() [43/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
AllZero   
)

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

◆ TYPED_TEST() [44/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Below192   
)

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

◆ TYPED_TEST() [45/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Cliff   
)

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

◆ TYPED_TEST() [46/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Decaying   
)

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

◆ TYPED_TEST() [47/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
ForceSplitBitwiseIdentity   
)

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

◆ TYPED_TEST() [48/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
HalfZero   
)

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

◆ TYPED_TEST() [49/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
MidDistribution   
)

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

◆ TYPED_TEST() [50/50]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
UniformRandom   
)

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

◆ TYPED_TEST_SUITE() [1/2]

TYPED_TEST_SUITE ( ScalarMultiplicationTest  ,
CurveTypes   
)

◆ TYPED_TEST_SUITE() [2/2]