|
template<size_t i, typename... Ts> |
using | aerobus::internal::type_at_t = typename type_at< i, Ts... >::type |
|
template<std::size_t N> |
using | aerobus::internal::make_index_sequence_reverse = decltype(index_sequence_reverse(std::make_index_sequence< N >{})) |
|
template<typename T , typename A , typename B > |
using | aerobus::gcd_t = typename internal::gcd< T >::template type< A, B > |
| computes the greatest common divisor or A and B
|
|
template<typename... vals> |
using | aerobus::vadd_t = typename internal::vadd< vals... >::type |
| adds multiple values (v1 + v2 + ... + vn) vals must have same "enclosing_type" and "enclosing_type" must have an add_t binary operator
|
|
template<typename... vals> |
using | aerobus::vmul_t = typename internal::vmul< vals... >::type |
| multiplies multiple values (v1 + v2 + ... + vn) vals must have same "enclosing_type" and "enclosing_type" must have an mul_t binary operator
|
|
template<typename val > |
using | aerobus::abs_t = std::conditional_t< val::enclosing_type::template pos_v< val >, val, typename val::enclosing_type::template sub_t< typename val::enclosing_type::zero, val > > |
| computes absolute value of 'val' val must be a 'value' in a Ring satisfying 'IsEuclideanDomain' concept
|
|
template<typename Ring > |
using | aerobus::FractionField = typename internal::FractionFieldImpl< Ring >::type |
| Fraction field of an euclidean domain, such as Q for Z.
|
|
template<typename X , typename Y > |
using | aerobus::add_t = typename X::enclosing_type::template add_t< X, Y > |
| generic addition
|
|
template<typename X , typename Y > |
using | aerobus::sub_t = typename X::enclosing_type::template sub_t< X, Y > |
| generic subtraction
|
|
template<typename X , typename Y > |
using | aerobus::mul_t = typename X::enclosing_type::template mul_t< X, Y > |
| generic multiplication
|
|
template<typename X , typename Y > |
using | aerobus::div_t = typename X::enclosing_type::template div_t< X, Y > |
| generic division
|
|
using | aerobus::q32 = FractionField< i32 > |
| 32 bits rationals rationals with 32 bits numerator and denominator
|
|
using | aerobus::fpq32 = FractionField< polynomial< q32 > > |
| rational fractions with 32 bits rational coefficients rational fractions with rationals coefficients (32 bits numerator and denominator)
|
|
using | aerobus::q64 = FractionField< i64 > |
| 64 bits rationals rationals with 64 bits numerator and denominator
|
|
using | aerobus::pi64 = polynomial< i64 > |
| polynomial with 64 bits integers coefficients
|
|
using | aerobus::pq64 = polynomial< q64 > |
| polynomial with 64 bits rationals coefficients
|
|
using | aerobus::fpq64 = FractionField< polynomial< q64 > > |
| polynomial with 64 bits rational coefficients
|
|
template<typename Ring , typename v1 , typename v2 > |
using | aerobus::makefraction_t = typename FractionField< Ring >::template val< v1, v2 > |
| helper type : the rational V1/V2 in the field of fractions of Ring
|
|
template<typename v > |
using | aerobus::embed_int_poly_in_fractions_t = typename Embed< polynomial< typename v::ring_type >, polynomial< FractionField< typename v::ring_type > > >::template type< v > |
| embed a polynomial with integers coefficients into rational coefficients polynomials
|
|
template<int64_t p, int64_t q> |
using | aerobus::make_q64_t = typename q64::template simplify_t< typename q64::val< i64::inject_constant_t< p >, i64::inject_constant_t< q > > > |
| helper type : make a fraction from numerator and denominator
|
|
template<int32_t p, int32_t q> |
using | aerobus::make_q32_t = typename q32::template simplify_t< typename q32::val< i32::inject_constant_t< p >, i32::inject_constant_t< q > > > |
| helper type : make a fraction from numerator and denominator
|
|
template<typename Ring , typename v1 , typename v2 > |
using | aerobus::addfractions_t = typename FractionField< Ring >::template add_t< v1, v2 > |
| helper type : adds two fractions
|
|
template<typename Ring , typename v1 , typename v2 > |
using | aerobus::mulfractions_t = typename FractionField< Ring >::template mul_t< v1, v2 > |
| helper type : multiplies two fractions
|
|
template<typename Ring , auto... xs> |
using | aerobus::make_int_polynomial_t = typename polynomial< Ring >::template val< typename Ring::template inject_constant_t< xs >... > |
| make a polynomial with coefficients in Ring
|
|
template<typename Ring , auto... xs> |
using | aerobus::make_frac_polynomial_t = typename polynomial< FractionField< Ring > >::template val< typename FractionField< Ring >::template inject_constant_t< xs >... > |
| make a polynomial with coefficients in FractionField<Ring>
|
|
template<typename T , size_t i> |
using | aerobus::factorial_t = typename internal::factorial< T, i >::type |
| computes factorial(i), as type
|
|
template<typename T , size_t k, size_t n> |
using | aerobus::combination_t = typename internal::combination< T, k, n >::type |
| computes binomial coefficient (k among n) as type
|
|
template<typename T , size_t n> |
using | aerobus::bernoulli_t = typename internal::bernoulli< T, n >::type |
| nth bernoulli number as type in T
|
|
template<typename T , size_t n> |
using | aerobus::bell_t = typename internal::bell_helper< T, n >::type |
| Bell numbers.
|
|
template<typename T , int k> |
using | aerobus::alternate_t = typename internal::alternate< T, k >::type |
| (-1)^k as type in T
|
|
template<typename T , int n, int k> |
using | aerobus::stirling_1_signed_t = typename internal::stirling_1_helper< T, n, k >::type |
| Stirling number of first king (signed) – as types.
|
|
template<typename T , int n, int k> |
using | aerobus::stirling_1_unsigned_t = abs_t< typename internal::stirling_1_helper< T, n, k >::type > |
| Stirling number of first king (unsigned) – as types.
|
|
template<typename T , int n, int k> |
using | aerobus::stirling_2_t = typename internal::stirling_2_helper< T, n, k >::type |
| Stirling number of second king – as types.
|
|
template<typename T , typename p , size_t n> |
using | aerobus::pow_t = typename internal::pow< T, p, n >::type |
| p^n (as 'val' type in T)
|
|
template<typename T , template< typename, size_t index > typename coeff_at, size_t deg> |
using | aerobus::taylor = typename internal::make_taylor_impl< T, coeff_at, internal::make_index_sequence_reverse< deg+1 > >::type |
|
template<typename Integers , size_t deg> |
using | aerobus::exp = taylor< Integers, internal::exp_coeff, deg > |
| \(e^x\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::expm1 = typename polynomial< FractionField< Integers > >::template sub_t< exp< Integers, deg >, typename polynomial< FractionField< Integers > >::one > |
| \(e^x - 1\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::lnp1 = taylor< Integers, internal::lnp1_coeff, deg > |
| \(\ln(1+x)\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::atan = taylor< Integers, internal::atan_coeff, deg > |
| \(\arctan(x)\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::sin = taylor< Integers, internal::sin_coeff, deg > |
| \(\sin(x)\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::sinh = taylor< Integers, internal::sh_coeff, deg > |
| \(\sinh(x)\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::cosh = taylor< Integers, internal::cosh_coeff, deg > |
| \(\cosh(x)\) hyperbolic cosine
|
|
template<typename Integers , size_t deg> |
using | aerobus::cos = taylor< Integers, internal::cos_coeff, deg > |
| \(\cos(x)\) cosinus
|
|
template<typename Integers , size_t deg> |
using | aerobus::geometric_sum = taylor< Integers, internal::geom_coeff, deg > |
| \(\frac{1}{1-x}\) zero development of \(\frac{1}{1-x}\)
|
|
template<typename Integers , size_t deg> |
using | aerobus::asin = taylor< Integers, internal::asin_coeff, deg > |
| \(\arcsin(x)\) arc sinus
|
|
template<typename Integers , size_t deg> |
using | aerobus::asinh = taylor< Integers, internal::asinh_coeff, deg > |
| \(\mathrm{arcsinh}(x)\) arc hyperbolic sinus
|
|
template<typename Integers , size_t deg> |
using | aerobus::atanh = taylor< Integers, internal::atanh_coeff, deg > |
| \(\mathrm{arctanh}(x)\) arc hyperbolic tangent
|
|
template<typename Integers , size_t deg> |
using | aerobus::tan = taylor< Integers, internal::tan_coeff, deg > |
| \(\tan(x)\) tangent
|
|
template<typename Integers , size_t deg> |
using | aerobus::tanh = taylor< Integers, internal::tanh_coeff, deg > |
| \(\tanh(x)\) hyperbolic tangent
|
|
using | aerobus::PI_fraction = ContinuedFraction< 3, 7, 15, 1, 292, 1, 1, 1, 2, 1, 3, 1, 14, 2, 1, 1, 2, 2, 2, 2, 1 > |
|
using | aerobus::E_fraction = ContinuedFraction< 2, 1, 2, 1, 1, 4, 1, 1, 6, 1, 1, 8, 1, 1, 10, 1, 1, 12, 1, 1, 14, 1, 1 > |
| approximation of \(e\)
|
|
using | aerobus::SQRT2_fraction = ContinuedFraction< 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 > |
| approximation of \(\sqrt{2}\)
|
|
using | aerobus::SQRT3_fraction = ContinuedFraction< 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2 > |
| approximation of
|
|