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 |