| Aerobus v1.2
    | 
64 bits signed integers, seen as a algebraic ring with related operations More...
#include <aerobus.h>
| Classes | |
| struct | val | 
| values in i64  More... | |
| Public Types | |
| using | inner_type = int64_t | 
| type of represented values | |
| template<auto x> | |
| using | inject_constant_t = val< static_cast< int64_t >(x)> | 
| injects constant as an i64 value | |
| template<typename v > | |
| using | inject_ring_t = v | 
| injects a value used for internal consistency and quotient rings implementations for example i64::inject_ring_t<i64::val<1>> -> i64::val<1> | |
| using | zero = val< 0 > | 
| constant zero | |
| using | one = val< 1 > | 
| constant one | |
| 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 integer division | |
| template<typename v1 , typename v2 > | |
| using | mod_t = typename remainder< v1, v2 >::type | 
| modulus operator | |
| template<typename v1 , typename v2 > | |
| using | gt_t = typename gt< v1, v2 >::type | 
| strictly greater operator yields v1 > v2 as std::true_type or std::false_type | |
| template<typename v1 , typename v2 > | |
| using | lt_t = typename lt< v1, v2 >::type | 
| strict less operator yields v1 < v2 as std::true_type or std::false_type | |
| template<typename v1 , typename v2 > | |
| using | eq_t = typename eq< v1, v2 >::type | 
| equality operator yields v1 == v2 as std::true_type or std::false_type | |
| template<typename v1 , typename v2 > | |
| using | gcd_t = gcd_t< i64, v1, v2 > | 
| greatest common divisor yields GCD(v1, v2) as instanciation of i64::val | |
| template<typename v > | |
| using | pos_t = typename pos< v >::type | 
| is v posititive 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 | gt_v = gt_t<v1, v2>::value | 
| strictly greater operator yields v1 > v2 as boolean value | |
| template<typename v1 , typename v2 > | |
| static constexpr bool | lt_v = lt_t<v1, v2>::value | 
| strictly smaller operator yields v1 < v2 as boolean value | |
| template<typename v1 , typename v2 > | |
| static constexpr bool | eq_v = eq_t<v1, v2>::value | 
| equality operator yields v1 == v2 as boolean value | |
| template<typename v > | |
| static constexpr bool | pos_v = pos_t<v>::value | 
| positivity yields v > 0 as boolean value | |
64 bits signed integers, seen as a algebraic ring with related operations
| using aerobus::i64::add_t = typename add<v1, v2>::type | 
addition operator
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::div_t = typename div<v1, v2>::type | 
division operator integer division
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::eq_t = typename eq<v1, v2>::type | 
equality operator yields v1 == v2 as std::true_type or std::false_type
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::gcd_t = gcd_t<i64, v1, v2> | 
greatest common divisor yields GCD(v1, v2) as instanciation of i64::val
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::gt_t = typename gt<v1, v2>::type | 
strictly greater operator yields v1 > v2 as std::true_type or std::false_type
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::inject_constant_t = val<static_cast<int64_t>(x)> | 
injects constant as an i64 value
| x | 
| using aerobus::i64::inject_ring_t = v | 
injects a value used for internal consistency and quotient rings implementations for example i64::inject_ring_t<i64::val<1>> -> i64::val<1>
| v | a value in i64 | 
| using aerobus::i64::inner_type = int64_t | 
type of represented values
| using aerobus::i64::lt_t = typename lt<v1, v2>::type | 
strict less operator yields v1 < v2 as std::true_type or std::false_type
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::mod_t = typename remainder<v1, v2>::type | 
modulus operator
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::mul_t = typename mul<v1, v2>::type | 
multiplication operator
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::one = val<1> | 
constant one
| using aerobus::i64::pos_t = typename pos<v>::type | 
is v posititive yields v > 0 as std::true_type or std::false_type
| v1 | : an element of aerobus::i64::val | 
| using aerobus::i64::sub_t = typename sub<v1, v2>::type | 
substraction operator
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| using aerobus::i64::zero = val<0> | 
constant zero
| 
 | staticconstexpr | 
equality operator yields v1 == v2 as boolean value
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| 
 | staticconstexpr | 
strictly greater operator yields v1 > v2 as boolean value
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| 
 | staticconstexpr | 
integers are an euclidean domain
| 
 | staticconstexpr | 
integers are not a field
| 
 | staticconstexpr | 
strictly smaller operator yields v1 < v2 as boolean value
| v1 | : an element of aerobus::i64::val | 
| v2 | : an element of aerobus::i64::val | 
| 
 | staticconstexpr | 
positivity yields v > 0 as boolean value
| v | : an element of aerobus::i64::val |