|
Aerobus v1.2
|
32 bits signed integers, seen as a algebraic ring with related operations More...
#include <aerobus.h>
Classes | |
| struct | val |
| values in i32, again represented as types More... | |
Public Types | |
| using | inner_type = int32_t |
| using | zero = val< 0 > |
| constant zero | |
| using | one = val< 1 > |
| constant one | |
| template<auto x> | |
| using | inject_constant_t = val< static_cast< int32_t >(x)> |
| inject a native constant | |
| template<typename v > | |
| using | inject_ring_t = v |
| template<typename v1 , typename v2 > | |
| using | add_t = typename add< v1, v2 >::type |
| addition operator yields v1 + v2 | |
| template<typename v1 , typename v2 > | |
| using | sub_t = typename sub< v1, v2 >::type |
| substraction operator yields v1 - v2 | |
| template<typename v1 , typename v2 > | |
| using | mul_t = typename mul< v1, v2 >::type |
| multiplication operator yields v1 * v2 | |
| template<typename v1 , typename v2 > | |
| using | div_t = typename div< v1, v2 >::type |
| division operator yields v1 / v2 | |
| template<typename v1 , typename v2 > | |
| using | mod_t = typename remainder< v1, v2 >::type |
| modulus operator yields v1 % v2 | |
| template<typename v1 , typename v2 > | |
| using | gt_t = typename gt< v1, v2 >::type |
| strictly greater operator (v1 > v2) yields v1 > v2 | |
| template<typename v1 , typename v2 > | |
| using | lt_t = typename lt< v1, v2 >::type |
| strict less operator (v1 < v2) yields v1 < v2 | |
| template<typename v1 , typename v2 > | |
| using | eq_t = typename eq< v1, v2 >::type |
| equality operator (type) yields v1 == v2 as std::integral_constant<bool> | |
| template<typename v1 , typename v2 > | |
| using | gcd_t = gcd_t< i32, v1, v2 > |
| greatest common divisor yields GCD(v1, v2) | |
| template<typename v > | |
| using | pos_t = typename pos< v >::type |
| positivity operator yields v > 0 as std::true_type or std::false_type | |
Static Public Attributes | |
| static constexpr bool | is_field = false |
| integers are not a field | |
| static constexpr bool | is_euclidean_domain = true |
| integers are an euclidean domain | |
| template<typename v1 , typename v2 > | |
| static constexpr bool | eq_v = eq_t<v1, v2>::value |
| equality operator (boolean value) | |
| template<typename v > | |
| static constexpr bool | pos_v = pos_t<v>::value |
| positivity (boolean value) yields v > 0 as boolean value | |
32 bits signed integers, seen as a algebraic ring with related operations
| using aerobus::i32::add_t = typename add<v1, v2>::type |
| using aerobus::i32::div_t = typename div<v1, v2>::type |
| using aerobus::i32::eq_t = typename eq<v1, v2>::type |
| using aerobus::i32::gcd_t = gcd_t<i32, v1, v2> |
| using aerobus::i32::gt_t = typename gt<v1, v2>::type |
| using aerobus::i32::inject_constant_t = val<static_cast<int32_t>(x)> |
inject a native constant
| x |
| using aerobus::i32::inject_ring_t = v |
| using aerobus::i32::inner_type = int32_t |
| using aerobus::i32::lt_t = typename lt<v1, v2>::type |
| using aerobus::i32::mod_t = typename remainder<v1, v2>::type |
| using aerobus::i32::mul_t = typename mul<v1, v2>::type |
| using aerobus::i32::one = val<1> |
constant one
| using aerobus::i32::pos_t = typename pos<v>::type |
positivity operator yields v > 0 as std::true_type or std::false_type
| v | a value in i32 |
| using aerobus::i32::sub_t = typename sub<v1, v2>::type |
| using aerobus::i32::zero = val<0> |
constant zero
|
staticconstexpr |
equality operator (boolean value)
| v1 | |
| v2 |
|
staticconstexpr |
integers are an euclidean domain
|
staticconstexpr |
integers are not a field
|
staticconstexpr |
positivity (boolean value) yields v > 0 as boolean value
| v | a value in i32 |