|
| using | inner_type = int32_t |
| | underlying type for values
|
| |
| template<auto x> |
| using | inject_constant_t = val< static_cast< int32_t >(x)> |
| | injects a constant integer into zpz
|
| |
| using | zero = val< 0 > |
| | zero value
|
| |
| using | one = val< 1 > |
| | one value
|
| |
| template<typename v1 , typename v2 > |
| using | add_t = typename add< v1, v2 >::type |
| | addition operator
|
| |
| template<typename v1 , typename v2 > |
| using | sub_t = typename sub< v1, v2 >::type |
| | substraction operator
|
| |
| template<typename v1 , typename v2 > |
| using | mul_t = typename mul< v1, v2 >::type |
| | multiplication operator
|
| |
| template<typename v1 , typename v2 > |
| using | div_t = typename div< v1, v2 >::type |
| | division operator
|
| |
| template<typename v1 , typename v2 > |
| using | mod_t = typename remainder< v1, v2 >::type |
| | modulo operator
|
| |
| template<typename v1 , typename v2 > |
| using | gt_t = typename gt< v1, v2 >::type |
| | strictly greater operator (type)
|
| |
| template<typename v1 , typename v2 > |
| using | lt_t = typename lt< v1, v2 >::type |
| | strictly smaller operator (type)
|
| |
| template<typename v1 , typename v2 > |
| using | eq_t = typename eq< v1, v2 >::type |
| | equality operator (type)
|
| |
| template<typename v1 , typename v2 > |
| using | gcd_t = gcd_t< i32, v1, v2 > |
| | greatest common divisor
|
| |
| template<typename v1 > |
| using | pos_t = typename pos< v1 >::type |
| | positivity operator (type)
|
| |
|
| static constexpr bool | is_field = is_prime<p>::value |
| | true iff p is prime
|
| |
| static constexpr bool | is_euclidean_domain = true |
| | always true
|
| |
| template<typename v1 , typename v2 > |
| static constexpr bool | gt_v = gt_t<v1, v2>::value |
| | strictly greater operator (booleanvalue)
|
| |
| template<typename v1 , typename v2 > |
| static constexpr bool | lt_v = lt_t<v1, v2>::value |
| | strictly smaller operator (booleanvalue)
|
| |
| template<typename v1 , typename v2 > |
| static constexpr bool | eq_v = eq_t<v1, v2>::value |
| | equality operator (booleanvalue)
|
| |
| template<typename v > |
| static constexpr bool | pos_v = pos_t<v>::value |
| | positivity operator (boolean value)
|
| |
template<int32_t p>
struct aerobus::zpz< p >
congruence classes of integers modulo p (32 bits)
if p is prime, zpz
is a field
- Template Parameters
-
- Examples
- examples/modular_arithmetic.cpp, and examples/polynomials_over_finite_field.cpp.