Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::stdlib::field_conversion_tests Namespace Reference

Classes

class  stdlib_field_conversion
 

Typedefs

template<typename Builder >
using fr = field_t< Builder >
 
template<typename Builder >
using fq = bigfield< Builder, bb::Bn254FqParams >
 
template<typename Builder >
using bn254_element = element< Builder, fq< Builder >, fr< Builder >, curve::BN254::Group >
 
template<typename Builder >
using grumpkin_element = cycle_group< Builder >
 
using BuilderTypes = testing::Types< UltraCircuitBuilder, MegaCircuitBuilder >
 

Functions

 TYPED_TEST_SUITE (stdlib_field_conversion, BuilderTypes)
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionFr)
 Field conversion test for fr<Builder>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionGrumpkinFr)
 Field conversion test for fq<Builder>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionBN254AffineElement)
 Field conversion test for bn254_element<Builder>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionGrumpkinAffineElement)
 Field conversion test for grumpkin_element<Builder>
 
 TYPED_TEST (stdlib_field_conversion, DeserializePointAtInfinity)
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionArrayBn254Fr)
 Field conversion test for std::array<fr<Builder>, N>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionArrayGrumpkinFr)
 Field conversion test for std::array<fq<Builder>, N>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionUnivariateBn254Fr)
 Field conversion test for Univariate<fr<Builder>, N>
 
 TYPED_TEST (stdlib_field_conversion, FieldConversionUnivariateGrumpkinFr)
 Field conversion test for Univariate<fq<Builder>, N>
 
 TYPED_TEST (stdlib_field_conversion, GateCountScalarDeserialization)
 Measure gate counts for scalar (fr) deserialization.
 
 TYPED_TEST (stdlib_field_conversion, GateCountBigfieldDeserialization)
 Measure gate counts for bigfield deserialization.
 
 TYPED_TEST (stdlib_field_conversion, GateCountMultipleBigfieldDeserialization)
 Measure gate counts for multiple bigfield deserializations.
 
 TYPED_TEST (stdlib_field_conversion, GateCountBN254PointDeserialization)
 Measure gate counts for BN254 point deserialization.
 
 TYPED_TEST (stdlib_field_conversion, GateCountMultipleBN254PointDeserialization)
 Measure gate counts for multiple BN254 point deserializations.
 
 TYPED_TEST (stdlib_field_conversion, GateCountGrumpkinPointDeserialization)
 Measure gate counts for Grumpkin point deserialization.
 
 TYPED_TEST (stdlib_field_conversion, GateCountArrayDeserialization)
 Measure gate counts for array deserialization.
 
 TYPED_TEST (stdlib_field_conversion, GateCountUnivariateDeserialization)
 Measure gate counts for univariate deserialization.
 
 TYPED_TEST (stdlib_field_conversion, BigfieldDeserializationFails)
 Failure test for deserializing a pair of limbs as a bigfield, where one of the limbs exceeds the strict 2^136 upper bound.
 

Typedef Documentation

◆ bn254_element

◆ BuilderTypes

◆ fq

Definition at line 12 of file field_conversion.test.cpp.

◆ fr

template<typename Builder >
using bb::stdlib::field_conversion_tests::fr = typedef field_t<Builder>

Definition at line 11 of file field_conversion.test.cpp.

◆ grumpkin_element

Definition at line 14 of file field_conversion.test.cpp.

Function Documentation

◆ TYPED_TEST() [1/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
BigfieldDeserializationFails   
)

Failure test for deserializing a pair of limbs as a bigfield, where one of the limbs exceeds the strict 2^136 upper bound.

Definition at line 449 of file field_conversion.test.cpp.

◆ TYPED_TEST() [2/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
DeserializePointAtInfinity   
)

Definition at line 223 of file field_conversion.test.cpp.

◆ TYPED_TEST() [3/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionArrayBn254Fr   
)

Field conversion test for std::array<fr<Builder>, N>

Definition at line 253 of file field_conversion.test.cpp.

◆ TYPED_TEST() [4/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionArrayGrumpkinFr   
)

Field conversion test for std::array<fq<Builder>, N>

Definition at line 277 of file field_conversion.test.cpp.

◆ TYPED_TEST() [5/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionBN254AffineElement   
)

Field conversion test for bn254_element<Builder>

Definition at line 122 of file field_conversion.test.cpp.

◆ TYPED_TEST() [6/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionFr   
)

Field conversion test for fr<Builder>

Definition at line 86 of file field_conversion.test.cpp.

◆ TYPED_TEST() [7/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionGrumpkinAffineElement   
)

Field conversion test for grumpkin_element<Builder>

Definition at line 182 of file field_conversion.test.cpp.

◆ TYPED_TEST() [8/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionGrumpkinFr   
)

Field conversion test for fq<Builder>

Definition at line 107 of file field_conversion.test.cpp.

◆ TYPED_TEST() [9/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionUnivariateBn254Fr   
)

Field conversion test for Univariate<fr<Builder>, N>

Definition at line 303 of file field_conversion.test.cpp.

◆ TYPED_TEST() [10/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
FieldConversionUnivariateGrumpkinFr   
)

Field conversion test for Univariate<fq<Builder>, N>

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

◆ TYPED_TEST() [11/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountArrayDeserialization   
)

Measure gate counts for array deserialization.

Arrays of scalars add no gates

Definition at line 413 of file field_conversion.test.cpp.

◆ TYPED_TEST() [12/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountBigfieldDeserialization   
)

Measure gate counts for bigfield deserialization.

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

◆ TYPED_TEST() [13/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountBN254PointDeserialization   
)

Measure gate counts for BN254 point deserialization.

Includes bigfield reconstruction + point-at-infinity check + on-curve validation

Definition at line 377 of file field_conversion.test.cpp.

◆ TYPED_TEST() [14/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountGrumpkinPointDeserialization   
)

Measure gate counts for Grumpkin point deserialization.

Includes point-at-infinity check + on-curve validation

Definition at line 403 of file field_conversion.test.cpp.

◆ TYPED_TEST() [15/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountMultipleBigfieldDeserialization   
)

Measure gate counts for multiple bigfield deserializations.

Range constraints are batched, making subsequent bigfields much cheaper

Definition at line 368 of file field_conversion.test.cpp.

◆ TYPED_TEST() [16/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountMultipleBN254PointDeserialization   
)

Measure gate counts for multiple BN254 point deserializations.

Definition at line 390 of file field_conversion.test.cpp.

◆ TYPED_TEST() [17/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountScalarDeserialization   
)

Measure gate counts for scalar (fr) deserialization.

Must be zero gates, as it's the "native" field type of our circuits.

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

◆ TYPED_TEST() [18/18]

bb::stdlib::field_conversion_tests::TYPED_TEST ( stdlib_field_conversion  ,
GateCountUnivariateDeserialization   
)

Measure gate counts for univariate deserialization.

Same as array - no gates added

Definition at line 431 of file field_conversion.test.cpp.

◆ TYPED_TEST_SUITE()

bb::stdlib::field_conversion_tests::TYPED_TEST_SUITE ( stdlib_field_conversion  ,
BuilderTypes   
)