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, IsZeroOnModulusForm)
 
 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 (PrimeFieldTest, MsgpackRejectsNonCanonical)
 
 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/30]

TYPED_TEST ( PrimeFieldCubeRootTest  ,
CubeRootOfUnity   
)

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

◆ TYPED_TEST() [2/30]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtConsistency   
)

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

◆ TYPED_TEST() [3/30]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtOfOne   
)

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

◆ TYPED_TEST() [4/30]

TYPED_TEST ( PrimeFieldTest  ,
AdditionModular   
)

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

◆ TYPED_TEST() [5/30]

TYPED_TEST ( PrimeFieldTest  ,
BatchInvert   
)

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

◆ TYPED_TEST() [6/30]

TYPED_TEST ( PrimeFieldTest  ,
BoundaryArithmetic   
)

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

◆ TYPED_TEST() [7/30]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeEquality   
)

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

◆ TYPED_TEST() [8/30]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeSmallAddSubMul   
)

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

◆ TYPED_TEST() [9/30]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeUint256Conversion   
)

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

◆ TYPED_TEST() [10/30]

TYPED_TEST ( PrimeFieldTest  ,
CrossLimbMultiplication   
)

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

◆ TYPED_TEST() [11/30]

TYPED_TEST ( PrimeFieldTest  ,
IsZeroOnModulusForm   
)

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

◆ TYPED_TEST() [12/30]

TYPED_TEST ( PrimeFieldTest  ,
MontgomeryRoundtrip   
)

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

◆ TYPED_TEST() [13/30]

TYPED_TEST ( PrimeFieldTest  ,
Msgpack   
)

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

◆ TYPED_TEST() [14/30]

TYPED_TEST ( PrimeFieldTest  ,
MsgpackRejectsNonCanonical   
)

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

◆ TYPED_TEST() [15/30]

TYPED_TEST ( PrimeFieldTest  ,
MultiplicationModular   
)

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

◆ TYPED_TEST() [16/30]

TYPED_TEST ( PrimeFieldTest  ,
NearModulusMultiplication   
)

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

◆ TYPED_TEST() [17/30]

TYPED_TEST ( PrimeFieldTest  ,
PlusEqualsInt   
)

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

◆ TYPED_TEST() [18/30]

TYPED_TEST ( PrimeFieldTest  ,
PostfixIncrement   
)

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

◆ TYPED_TEST() [19/30]

TYPED_TEST ( PrimeFieldTest  ,
PowOneExponent   
)

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

◆ TYPED_TEST() [20/30]

TYPED_TEST ( PrimeFieldTest  ,
PowThree   
)

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

◆ TYPED_TEST() [21/30]

TYPED_TEST ( PrimeFieldTest  ,
PowTwo   
)

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

◆ TYPED_TEST() [22/30]

TYPED_TEST ( PrimeFieldTest  ,
PowZeroExponent   
)

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

◆ TYPED_TEST() [23/30]

TYPED_TEST ( PrimeFieldTest  ,
PrefixIncrement   
)

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

◆ TYPED_TEST() [24/30]

TYPED_TEST ( PrimeFieldTest  ,
SingleLimbArithmetic   
)

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

◆ TYPED_TEST() [25/30]

TYPED_TEST ( PrimeFieldTest  ,
SquaringModular   
)

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

◆ TYPED_TEST() [26/30]

TYPED_TEST ( PrimeFieldTest  ,
SubtractionModular   
)

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

◆ TYPED_TEST() [27/30]

TYPED_TEST ( PrimeFieldTest  ,
Uint256Roundtrip   
)

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

◆ TYPED_TEST() [28/30]

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 688 of file prime_field.test.cpp.

◆ TYPED_TEST() [29/30]

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 736 of file prime_field.test.cpp.

◆ TYPED_TEST() [30/30]

TYPED_TEST ( PrimeFieldTwoFiftySixTest  ,
AddYieldsLimbsBiggerThanModulus   
)

Definition at line 420 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   
)