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

Go to the source code of this file.

Classes

struct  extract_builder< BigField< Builder, Params > >
 
struct  extract_fq_params< BigField< Builder, Params > >
 
class  stdlib_bigfield_edge_cases< BigField >
 

Macros

#define INVARIANT_BINARY_OP_TEST(op_name, op_symbol, skip_zero)
 

Typedefs

template<typename BigField >
using builder_t = typename extract_builder< BigField >::type
 
template<typename BigField >
using params_t = typename extract_fq_params< BigField >::type
 
using CircuitTypes = testing::Types< typename bb::stdlib::bn254< UltraCircuitBuilder >::BaseField, typename bb::stdlib::secp256k1< UltraCircuitBuilder >::fq_ct, typename bb::stdlib::secp256k1< UltraCircuitBuilder >::bigfr_ct, typename bb::stdlib::secp256r1< UltraCircuitBuilder >::fq_ct, typename bb::stdlib::secp256r1< UltraCircuitBuilder >::bigfr_ct >
 

Enumerations

enum struct  InputType { WITNESS , CONSTANT , WITNESS , CONSTANT }
 

Functions

constexpr InputType operator! (InputType type)
 
 TYPED_TEST_SUITE (stdlib_bigfield_edge_cases, CircuitTypes)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, larger_than_bigfield_allowed)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, reduction_check_works)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, reduction_works_on_limb_overflow)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, max_value_tracking_during_addition)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_addition)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_subtraction)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_multiplication)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_division)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_squaring)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, invariants_during_negation)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, assert_is_in_field)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, assert_is_in_field_fails)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, assert_less_than)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, assert_less_than_fails)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, reduce_mod_target_modulus)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, assert_equal_edge_case)
 
 TYPED_TEST (stdlib_bigfield_edge_cases, divide_by_zero_fails)
 

Macro Definition Documentation

◆ INVARIANT_BINARY_OP_TEST

#define INVARIANT_BINARY_OP_TEST (   op_name,
  op_symbol,
  skip_zero 
)
Value:
static void test_invariants_during_##op_name() \
{ \
test_invariants_during_binary_operation([](const fq_ct& a, const fq_ct& b) { return a op_symbol b; }, \
[](const fq_native& a, const fq_native& b) { return a op_symbol b; }, \
#op_name, \
skip_zero); \
}
FF a
FF b
bn254::BaseField fq_ct

Definition at line 359 of file bigfield_edge_cases.test.cpp.

Typedef Documentation

◆ builder_t

template<typename BigField >
using builder_t = typename extract_builder<BigField>::type

Definition at line 58 of file bigfield_edge_cases.test.cpp.

◆ CircuitTypes

◆ params_t

template<typename BigField >
using params_t = typename extract_fq_params<BigField>::type

Definition at line 59 of file bigfield_edge_cases.test.cpp.

Enumeration Type Documentation

◆ InputType

enum struct InputType
strong
Enumerator
WITNESS 
CONSTANT 
WITNESS 
CONSTANT 

Definition at line 34 of file bigfield_edge_cases.test.cpp.

Function Documentation

◆ operator!()

constexpr InputType operator! ( InputType  type)
constexpr

Definition at line 39 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [1/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
assert_equal_edge_case   
)

Definition at line 683 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [2/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
assert_is_in_field   
)

Definition at line 663 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [3/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
assert_is_in_field_fails   
)

Definition at line 667 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [4/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
assert_less_than   
)

Definition at line 671 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [5/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
assert_less_than_fails   
)

Definition at line 675 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [6/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
divide_by_zero_fails   
)

Definition at line 688 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [7/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_addition   
)

Definition at line 637 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [8/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_division   
)

Definition at line 649 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [9/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_multiplication   
)

Definition at line 645 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [10/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_negation   
)

Definition at line 657 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [11/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_squaring   
)

Definition at line 653 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [12/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
invariants_during_subtraction   
)

Definition at line 641 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [13/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
larger_than_bigfield_allowed   
)

Definition at line 619 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [14/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
max_value_tracking_during_addition   
)

Definition at line 631 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [15/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
reduce_mod_target_modulus   
)

Definition at line 679 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST() [16/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
reduction_check_works   
)

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

◆ TYPED_TEST() [17/17]

TYPED_TEST ( stdlib_bigfield_edge_cases  ,
reduction_works_on_limb_overflow   
)

Definition at line 627 of file bigfield_edge_cases.test.cpp.

◆ TYPED_TEST_SUITE()

TYPED_TEST_SUITE ( stdlib_bigfield_edge_cases  ,
CircuitTypes   
)