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

Go to the source code of this file.

Classes

class  PrimeFieldTest< F >
 
class  PrimeFieldSqrtTest< typename >
 
class  PrimeFieldCubeRootTest< typename >
 
class  PrimeFieldTwoFiftySixTest< typename >
 
class  PrimeFieldTwoFiftyFourTest< typename >
 

Typedefs

using PrimeFieldTypes = ::testing::Types< bb::fq, bb::fr, secp256k1::fq, secp256k1::fr, secp256r1::fq, secp256r1::fr >
 
using SqrtFieldTypes = ::testing::Types< bb::fq, bb::fr, secp256k1::fq, secp256r1::fq >
 
using CubeRootFieldTypes = ::testing::Types< bb::fq, bb::fr, secp256k1::fq, secp256k1::fr >
 
using TwoFiftySixBitFieldTypes = ::testing::Types< secp256k1::fq, secp256k1::fr >
 
using TwoFiftyFourBitFieldTypes = ::testing::Types< bb::fq, bb::fr >
 

Functions

 TYPED_TEST_SUITE (PrimeFieldTest, PrimeFieldTypes)
 
 TYPED_TEST_SUITE (PrimeFieldSqrtTest, SqrtFieldTypes)
 
 TYPED_TEST_SUITE (PrimeFieldCubeRootTest, CubeRootFieldTypes)
 
 TYPED_TEST_SUITE (PrimeFieldTwoFiftySixTest, TwoFiftySixBitFieldTypes)
 
 TYPED_TEST_SUITE (PrimeFieldTwoFiftyFourTest, TwoFiftyFourBitFieldTypes)
 
 TYPED_TEST (PrimeFieldTest, CompileTimeEquality)
 
 TYPED_TEST (PrimeFieldTest, CompileTimeSmallAddSubMul)
 
 TYPED_TEST (PrimeFieldTest, CompileTimeUint256Conversion)
 
 TYPED_TEST (PrimeFieldTest, AdditionModular)
 
 TYPED_TEST (PrimeFieldTest, SubtractionModular)
 
 TYPED_TEST (PrimeFieldTest, MultiplicationModular)
 
 TYPED_TEST (PrimeFieldTest, SquaringModular)
 
 TYPED_TEST (PrimeFieldTest, Uint256Roundtrip)
 
 TYPED_TEST (PrimeFieldTest, MontgomeryRoundtrip)
 
 TYPED_TEST (PrimeFieldSqrtTest, SqrtOfOne)
 
 TYPED_TEST (PrimeFieldSqrtTest, SqrtConsistency)
 
 TYPED_TEST (PrimeFieldCubeRootTest, CubeRootOfUnity)
 
 TYPED_TEST (PrimeFieldTest, PowZeroExponent)
 
 TYPED_TEST (PrimeFieldTest, PowOneExponent)
 
 TYPED_TEST (PrimeFieldTest, PowTwo)
 
 TYPED_TEST (PrimeFieldTest, PowThree)
 
 TYPED_TEST (PrimeFieldTest, BatchInvert)
 
 TYPED_TEST (PrimeFieldTest, PlusEqualsInt)
 
 TYPED_TEST (PrimeFieldTest, PrefixIncrement)
 
 TYPED_TEST (PrimeFieldTest, PostfixIncrement)
 
 TYPED_TEST (PrimeFieldTwoFiftySixTest, AddYieldsLimbsBiggerThanModulus)
 
 TYPED_TEST (PrimeFieldTest, SingleLimbArithmetic)
 
 TYPED_TEST (PrimeFieldTest, CrossLimbMultiplication)
 
 TYPED_TEST (PrimeFieldTest, NearModulusMultiplication)
 
 TYPED_TEST (PrimeFieldTest, BoundaryArithmetic)
 
 TYPED_TEST (PrimeFieldTest, Msgpack)
 
 TYPED_TEST (PrimeFieldTwoFiftyFourTest, FromMontgomeryFormNoReductionNeeded)
 
 TYPED_TEST (PrimeFieldTwoFiftyFourTest, ToMontgomeryFormNoReductionNeeded)
 

Typedef Documentation

◆ CubeRootFieldTypes

Definition at line 77 of file prime_field.test.cpp.

◆ PrimeFieldTypes

Definition at line 71 of file prime_field.test.cpp.

◆ SqrtFieldTypes

using SqrtFieldTypes = ::testing::Types<bb::fq, bb::fr, secp256k1::fq, secp256r1::fq>

Definition at line 74 of file prime_field.test.cpp.

◆ TwoFiftyFourBitFieldTypes

using TwoFiftyFourBitFieldTypes = ::testing::Types<bb::fq, bb::fr>

Definition at line 83 of file prime_field.test.cpp.

◆ TwoFiftySixBitFieldTypes

Definition at line 80 of file prime_field.test.cpp.

Function Documentation

◆ TYPED_TEST() [1/28]

TYPED_TEST ( PrimeFieldCubeRootTest  ,
CubeRootOfUnity   
)

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

◆ TYPED_TEST() [2/28]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtConsistency   
)

Definition at line 259 of file prime_field.test.cpp.

◆ TYPED_TEST() [3/28]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtOfOne   
)

Definition at line 248 of file prime_field.test.cpp.

◆ TYPED_TEST() [4/28]

TYPED_TEST ( PrimeFieldTest  ,
AdditionModular   
)

Definition at line 154 of file prime_field.test.cpp.

◆ TYPED_TEST() [5/28]

TYPED_TEST ( PrimeFieldTest  ,
BatchInvert   
)

Definition at line 332 of file prime_field.test.cpp.

◆ TYPED_TEST() [6/28]

TYPED_TEST ( PrimeFieldTest  ,
BoundaryArithmetic   
)

Definition at line 549 of file prime_field.test.cpp.

◆ TYPED_TEST() [7/28]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeEquality   
)

Definition at line 102 of file prime_field.test.cpp.

◆ TYPED_TEST() [8/28]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeSmallAddSubMul   
)

Definition at line 120 of file prime_field.test.cpp.

◆ TYPED_TEST() [9/28]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeUint256Conversion   
)

Definition at line 140 of file prime_field.test.cpp.

◆ TYPED_TEST() [10/28]

TYPED_TEST ( PrimeFieldTest  ,
CrossLimbMultiplication   
)

Definition at line 483 of file prime_field.test.cpp.

◆ TYPED_TEST() [11/28]

TYPED_TEST ( PrimeFieldTest  ,
MontgomeryRoundtrip   
)

Definition at line 235 of file prime_field.test.cpp.

◆ TYPED_TEST() [12/28]

TYPED_TEST ( PrimeFieldTest  ,
Msgpack   
)

Definition at line 609 of file prime_field.test.cpp.

◆ TYPED_TEST() [13/28]

TYPED_TEST ( PrimeFieldTest  ,
MultiplicationModular   
)

Definition at line 188 of file prime_field.test.cpp.

◆ TYPED_TEST() [14/28]

TYPED_TEST ( PrimeFieldTest  ,
NearModulusMultiplication   
)

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

◆ TYPED_TEST() [15/28]

TYPED_TEST ( PrimeFieldTest  ,
PlusEqualsInt   
)

Definition at line 358 of file prime_field.test.cpp.

◆ TYPED_TEST() [16/28]

TYPED_TEST ( PrimeFieldTest  ,
PostfixIncrement   
)

Definition at line 387 of file prime_field.test.cpp.

◆ TYPED_TEST() [17/28]

TYPED_TEST ( PrimeFieldTest  ,
PowOneExponent   
)

Definition at line 304 of file prime_field.test.cpp.

◆ TYPED_TEST() [18/28]

TYPED_TEST ( PrimeFieldTest  ,
PowThree   
)

Definition at line 320 of file prime_field.test.cpp.

◆ TYPED_TEST() [19/28]

TYPED_TEST ( PrimeFieldTest  ,
PowTwo   
)

Definition at line 312 of file prime_field.test.cpp.

◆ TYPED_TEST() [20/28]

TYPED_TEST ( PrimeFieldTest  ,
PowZeroExponent   
)

Definition at line 295 of file prime_field.test.cpp.

◆ TYPED_TEST() [21/28]

TYPED_TEST ( PrimeFieldTest  ,
PrefixIncrement   
)

Definition at line 374 of file prime_field.test.cpp.

◆ TYPED_TEST() [22/28]

TYPED_TEST ( PrimeFieldTest  ,
SingleLimbArithmetic   
)

Definition at line 441 of file prime_field.test.cpp.

◆ TYPED_TEST() [23/28]

TYPED_TEST ( PrimeFieldTest  ,
SquaringModular   
)

Definition at line 205 of file prime_field.test.cpp.

◆ TYPED_TEST() [24/28]

TYPED_TEST ( PrimeFieldTest  ,
SubtractionModular   
)

Definition at line 171 of file prime_field.test.cpp.

◆ TYPED_TEST() [25/28]

TYPED_TEST ( PrimeFieldTest  ,
Uint256Roundtrip   
)

Definition at line 220 of file prime_field.test.cpp.

◆ TYPED_TEST() [26/28]

TYPED_TEST ( PrimeFieldTwoFiftyFourTest  ,
FromMontgomeryFormNoReductionNeeded   
)

Test that from_montgomery_form produces results in the valid range, [0, 2p - 1], WITHOUT needing further reduction.

Definition at line 625 of file prime_field.test.cpp.

◆ TYPED_TEST() [27/28]

TYPED_TEST ( PrimeFieldTwoFiftyFourTest  ,
ToMontgomeryFormNoReductionNeeded   
)

Test that to_montgomery_form produces results in the valid range, [0, 2p - 1], WITHOUT needing further reduction.

Definition at line 673 of file prime_field.test.cpp.

◆ TYPED_TEST() [28/28]

TYPED_TEST ( PrimeFieldTwoFiftySixTest  ,
AddYieldsLimbsBiggerThanModulus   
)

Definition at line 406 of file prime_field.test.cpp.

◆ TYPED_TEST_SUITE() [1/5]

TYPED_TEST_SUITE ( PrimeFieldCubeRootTest  ,
CubeRootFieldTypes   
)

◆ TYPED_TEST_SUITE() [2/5]

TYPED_TEST_SUITE ( PrimeFieldSqrtTest  ,
SqrtFieldTypes   
)

◆ TYPED_TEST_SUITE() [3/5]

TYPED_TEST_SUITE ( PrimeFieldTest  ,
PrimeFieldTypes   
)

◆ TYPED_TEST_SUITE() [4/5]

◆ TYPED_TEST_SUITE() [5/5]

TYPED_TEST_SUITE ( PrimeFieldTwoFiftySixTest  ,
TwoFiftySixBitFieldTypes   
)