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, ReducedLimbsAreCanonicalForShortValues)
 
 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/31]

TYPED_TEST ( PrimeFieldCubeRootTest  ,
CubeRootOfUnity   
)

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

◆ TYPED_TEST() [2/31]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtConsistency   
)

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

◆ TYPED_TEST() [3/31]

TYPED_TEST ( PrimeFieldSqrtTest  ,
SqrtOfOne   
)

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

◆ TYPED_TEST() [4/31]

TYPED_TEST ( PrimeFieldTest  ,
AdditionModular   
)

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

◆ TYPED_TEST() [5/31]

TYPED_TEST ( PrimeFieldTest  ,
BatchInvert   
)

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

◆ TYPED_TEST() [6/31]

TYPED_TEST ( PrimeFieldTest  ,
BoundaryArithmetic   
)

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

◆ TYPED_TEST() [7/31]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeEquality   
)

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

◆ TYPED_TEST() [8/31]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeSmallAddSubMul   
)

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

◆ TYPED_TEST() [9/31]

TYPED_TEST ( PrimeFieldTest  ,
CompileTimeUint256Conversion   
)

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

◆ TYPED_TEST() [10/31]

TYPED_TEST ( PrimeFieldTest  ,
CrossLimbMultiplication   
)

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

◆ TYPED_TEST() [11/31]

TYPED_TEST ( PrimeFieldTest  ,
IsZeroOnModulusForm   
)

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

◆ TYPED_TEST() [12/31]

TYPED_TEST ( PrimeFieldTest  ,
MontgomeryRoundtrip   
)

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

◆ TYPED_TEST() [13/31]

TYPED_TEST ( PrimeFieldTest  ,
Msgpack   
)

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

◆ TYPED_TEST() [14/31]

TYPED_TEST ( PrimeFieldTest  ,
MsgpackRejectsNonCanonical   
)

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

◆ TYPED_TEST() [15/31]

TYPED_TEST ( PrimeFieldTest  ,
MultiplicationModular   
)

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

◆ TYPED_TEST() [16/31]

TYPED_TEST ( PrimeFieldTest  ,
NearModulusMultiplication   
)

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

◆ TYPED_TEST() [17/31]

TYPED_TEST ( PrimeFieldTest  ,
PlusEqualsInt   
)

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

◆ TYPED_TEST() [18/31]

TYPED_TEST ( PrimeFieldTest  ,
PostfixIncrement   
)

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

◆ TYPED_TEST() [19/31]

TYPED_TEST ( PrimeFieldTest  ,
PowOneExponent   
)

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

◆ TYPED_TEST() [20/31]

TYPED_TEST ( PrimeFieldTest  ,
PowThree   
)

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

◆ TYPED_TEST() [21/31]

TYPED_TEST ( PrimeFieldTest  ,
PowTwo   
)

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

◆ TYPED_TEST() [22/31]

TYPED_TEST ( PrimeFieldTest  ,
PowZeroExponent   
)

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

◆ TYPED_TEST() [23/31]

TYPED_TEST ( PrimeFieldTest  ,
PrefixIncrement   
)

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

◆ TYPED_TEST() [24/31]

TYPED_TEST ( PrimeFieldTest  ,
ReducedLimbsAreCanonicalForShortValues   
)

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

◆ TYPED_TEST() [25/31]

TYPED_TEST ( PrimeFieldTest  ,
SingleLimbArithmetic   
)

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

◆ TYPED_TEST() [26/31]

TYPED_TEST ( PrimeFieldTest  ,
SquaringModular   
)

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

◆ TYPED_TEST() [27/31]

TYPED_TEST ( PrimeFieldTest  ,
SubtractionModular   
)

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

◆ TYPED_TEST() [28/31]

TYPED_TEST ( PrimeFieldTest  ,
Uint256Roundtrip   
)

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

◆ TYPED_TEST() [29/31]

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

◆ TYPED_TEST() [30/31]

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

◆ TYPED_TEST() [31/31]

TYPED_TEST ( PrimeFieldTwoFiftySixTest  ,
AddYieldsLimbsBiggerThanModulus   
)

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