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, BatchMultiScalarMulSmallMemberDispatch)
 
 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 1724 of file scalar_multiplication.test.cpp.

◆ VariableWindowCurveTypes

Function Documentation

◆ TEST() [1/4]

TEST ( ScalarMultiplication  ,
SmallInputsExplicit   
)

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

◆ TEST() [2/4]

TEST ( ScalarMultiplicationArenaTest  ,
ArenaLayoutFitsAcrossDispatchSpace   
)

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

◆ TEST() [3/4]

TEST ( ScalarMultiplicationArenaTest  ,
LargeBn254RecursionVkShapeFitsComputedArena   
)

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

◆ TEST() [4/4]

TEST ( ScalarMultiplicationArenaTest  ,
MidBandArenaSizerCoversAllEffectiveNumBits   
)

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

◆ TYPED_TEST() [1/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchDriverSharedPathRagged   
)

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

◆ TYPED_TEST() [2/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMul   
)

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

◆ TYPED_TEST() [3/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulLargeDense   
)

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

◆ TYPED_TEST() [4/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulRagged   
)

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

◆ TYPED_TEST() [5/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulSmallMemberDispatch   
)

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

◆ TYPED_TEST() [6/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
BatchMultiScalarMulSparse   
)

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

◆ TYPED_TEST() [7/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
DedupLargeClusterCarryAndCaps   
)

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

◆ TYPED_TEST() [8/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
DuplicatePoints   
)

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

◆ TYPED_TEST() [9/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
EffectiveNumBitsBandSmallScalars   
)

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

◆ TYPED_TEST() [10/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ExternalGlvDoubledDirect   
)

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

◆ TYPED_TEST() [11/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
GlvExtremeMagnitudeScalars   
)

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

◆ TYPED_TEST() [12/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
HandleEdgeCasesInversePairs   
)

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

◆ TYPED_TEST() [13/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
HandleEdgeCasesPointAtInfinity   
)

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

◆ TYPED_TEST() [14/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
LargeNNonGLV   
)

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

◆ TYPED_TEST() [15/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MixedZeroScalars   
)

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

◆ TYPED_TEST() [16/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSM   
)

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

◆ TYPED_TEST() [17/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMAllZeroes   
)

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

◆ TYPED_TEST() [18/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMDedupCapAndCarry   
)

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

◆ TYPED_TEST() [19/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMDedupManySmallClustersCap   
)

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

◆ TYPED_TEST() [20/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMEmptyPolynomial   
)

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

◆ TYPED_TEST() [21/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
MSMSingleDigitMegaRun   
)

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

◆ TYPED_TEST() [22/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
OffsetSpan   
)

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

◆ TYPED_TEST() [23/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerFreeFunction   
)

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

◆ TYPED_TEST() [24/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalAllZeroScalars   
)

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

◆ TYPED_TEST() [25/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalDispatchThresholdPerThreadCount   
)

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

◆ TYPED_TEST() [26/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalExtremeScalars   
)

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

◆ TYPED_TEST() [27/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalGlvBoundary   
)

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

◆ TYPED_TEST() [28/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalMisalignedExternalArena   
)

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

◆ TYPED_TEST() [29/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalMixedZeroScalars   
)

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

◆ TYPED_TEST() [30/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalOffsetSpanDispatch   
)

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

◆ TYPED_TEST() [31/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalSingleThread   
)

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

◆ TYPED_TEST() [32/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerInternalSingleThreadAtDispatchThresholdPlusOne   
)

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

◆ TYPED_TEST() [33/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerLowMemory   
)

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

◆ TYPED_TEST() [34/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
PippengerUnsafeFreeFunction   
)

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

◆ TYPED_TEST() [35/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarMinusOne   
)

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

◆ TYPED_TEST() [36/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarOne   
)

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

◆ TYPED_TEST() [37/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterBatchMultiScalarMul   
)

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

◆ TYPED_TEST() [38/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterLargeNonGlvMSM   
)

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

◆ TYPED_TEST() [39/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
ScalarsUnchangedAfterMSM   
)

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

◆ TYPED_TEST() [40/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
SinglePoint   
)

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

◆ TYPED_TEST() [41/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
SizeThresholds   
)

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

◆ TYPED_TEST() [42/51]

TYPED_TEST ( ScalarMultiplicationTest  ,
TrivialMsmThreadedPerWorkerPaths   
)

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

◆ TYPED_TEST() [43/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
AllLarge   
)

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

◆ TYPED_TEST() [44/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
AllZero   
)

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

◆ TYPED_TEST() [45/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Below192   
)

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

◆ TYPED_TEST() [46/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Cliff   
)

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

◆ TYPED_TEST() [47/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
Decaying   
)

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

◆ TYPED_TEST() [48/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
ForceSplitBitwiseIdentity   
)

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

◆ TYPED_TEST() [49/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
HalfZero   
)

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

◆ TYPED_TEST() [50/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
MidDistribution   
)

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

◆ TYPED_TEST() [51/51]

TYPED_TEST ( VariableWindowSplitDispatchTest  ,
UniformRandom   
)

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

◆ TYPED_TEST_SUITE() [1/2]

TYPED_TEST_SUITE ( ScalarMultiplicationTest  ,
CurveTypes   
)

◆ TYPED_TEST_SUITE() [2/2]