|
struct | abs_impl |
| Default functor for the implementation of piranha::math::abs(). More...
|
|
struct | abs_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::abs() for piranha::mp_integer. More...
|
|
struct | abs_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::abs() for piranha::mp_rational. More...
|
|
struct | abs_impl< T, detail::abs_arith_enabler< T > > |
| Specialisation of the piranha::math::abs() functor for signed and unsigned integer types, and floating-point types. More...
|
|
struct | abs_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::abs() functor for piranha::real. More...
|
|
struct | add3_impl |
| Default functor for the implementation of piranha::math::add3(). More...
|
|
struct | add3_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::add3() for piranha::mp_integer. More...
|
|
struct | add3_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::add3() functor for integral types. More...
|
|
struct | binomial_impl |
| Default functor for the implementation of piranha::math::binomial(). More...
|
|
struct | binomial_impl< T, U, binomial_fp_arith_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::binomial() for floating-point and arithmetic arguments. More...
|
|
struct | binomial_impl< T, U, detail::real_binomial_enabler< T, U > > |
| Specialisation of the piranha::math::binomial() functor for piranha::real. More...
|
|
struct | binomial_impl< T, U, integer_binomial_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::binomial() for piranha::mp_integer. More...
|
|
struct | binomial_impl< T, U, math_rational_binomial_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::binomial() for piranha::mp_rational. More...
|
|
struct | cos_impl |
| Default functor for the implementation of piranha::math::cos(). More...
|
|
struct | cos_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::cos() for piranha::mp_integer. More...
|
|
struct | cos_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::cos() for piranha::mp_rational. More...
|
|
struct | cos_impl< Series, detail::series_cos_enabler< Series > > |
| Specialisation of the piranha::math::cos() functor for piranha::series. More...
|
|
struct | cos_impl< T, typename std::enable_if< std::is_floating_point< T >::value >::type > |
| Specialisation of the piranha::math::cos() functor for floating-point types. More...
|
|
struct | cos_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::cos() functor for integral types. More...
|
|
struct | cos_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::cos() functor for piranha::real. More...
|
|
struct | degree_impl |
| Default functor for the implementation of piranha::math::degree(). More...
|
|
struct | degree_impl< Series, ps_degree_enabler< Series > > |
| Specialisation of the piranha::math::degree() functor for instances of piranha::power_series. More...
|
|
struct | div3_impl |
| Default functor for the implementation of piranha::math::div3(). More...
|
|
struct | div3_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::div3() for piranha::mp_integer. More...
|
|
struct | div3_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::div3() functor for integral types. More...
|
|
class | evaluate_impl |
| Default functor for the implementation of piranha::math::evaluate(). More...
|
|
class | evaluate_impl< Series, T, math_series_evaluate_enabler< Series, T > > |
| Specialisation of the implementation of piranha::math::evaluate() for series types. More...
|
|
struct | gcd3_impl |
| Default functor for the implementation of piranha::math::gcd3(). More...
|
|
struct | gcd3_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::gcd3() for piranha::mp_integer. More...
|
|
struct | gcd3_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::gcd3() functor for integral types. More...
|
|
struct | gcd_impl |
| Default functor for the implementation of piranha::math::gcd(). More...
|
|
struct | gcd_impl< T, U, math_mp_integer_gcd_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::gcd() for piranha::mp_integer. More...
|
|
struct | gcd_impl< T, U, typename std::enable_if< std::is_integral< T >::value &&std::is_integral< U >::value >::type > |
| Implementation of piranha::math::gcd() for integral types. More...
|
|
struct | integrate_impl |
| Default functor for the implementation of piranha::math::integrate(). More...
|
|
struct | integrate_impl< Series, detail::series_integrate_enabler< Series > > |
| Specialisation of the piranha::math::integrate() functor for series types. More...
|
|
struct | invert_impl |
| Default functor for the implementation of piranha::math::invert(). More...
|
|
struct | invert_impl< Series, detail::series_invert_enabler< Series > > |
| Specialisation of the piranha::math::invert() functor for piranha::series. More...
|
|
struct | ipow_subs_impl |
| Default functor for the implementation of piranha::math::ipow_subs(). More...
|
|
struct | ipow_subs_impl< Series, T, ipow_subs_impl_ipow_subs_series_enabler< Series, T > > |
| Specialisation of the piranha::math::ipow_subs_impl functor for instances of piranha::ipow_substitutable_series. More...
|
|
struct | is_unitary_impl |
| Default functor for the implementation of piranha::math::is_unitary(). More...
|
|
struct | is_unitary_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::is_unitary() for piranha::mp_integer. More...
|
|
struct | is_unitary_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::is_unitary() for piranha::mp_rational. More...
|
|
struct | is_zero_impl |
| Default functor for the implementation of piranha::math::is_zero(). More...
|
|
struct | is_zero_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::is_zero() for piranha::mp_integer. More...
|
|
struct | is_zero_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::is_zero() for piranha::mp_rational. More...
|
|
struct | is_zero_impl< Series, typename std::enable_if< is_series< Series >::value >::type > |
| Specialisation of the piranha::math::is_zero() functor for piranha::series. More...
|
|
struct | is_zero_impl< T, detail::math_is_zero_std_complex_enabler< T > > |
| Specialisation of the piranha::math::is_zero() functor for C++ complex floating-point types. More...
|
|
struct | is_zero_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::is_zero() functor for piranha::real. More...
|
|
class | lambdified |
| Functor interface for piranha::math::evaluate(). More...
|
|
struct | ldegree_impl |
| Default functor for the implementation of piranha::math::ldegree(). More...
|
|
struct | ldegree_impl< Series, ps_degree_enabler< Series > > |
| Specialisation of the piranha::math::ldegree() functor for instances of piranha::power_series. More...
|
|
struct | mul3_impl |
| Default functor for the implementation of piranha::math::mul3(). More...
|
|
struct | mul3_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::mul3() for piranha::mp_integer. More...
|
|
struct | mul3_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::mul3() functor for integral types. More...
|
|
struct | multiply_accumulate_impl |
| Default functor for the implementation of piranha::math::multiply_accumulate(). More...
|
|
struct | multiply_accumulate_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::multiply_accumulate() for piranha::mp_integer. More...
|
|
struct | multiply_accumulate_impl< real > |
| Specialisation of the implementation of piranha::math::multiply_accumulate() for piranha::real. More...
|
|
struct | negate_impl |
| Default functor for the implementation of piranha::math::negate(). More...
|
|
struct | negate_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::negate() for piranha::mp_integer. More...
|
|
struct | negate_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::negate() for piranha::mp_rational. More...
|
|
struct | negate_impl< T, typename std::enable_if< is_series< T >::value >::type > |
| Specialisation of the piranha::math::negate() functor for piranha::series. More...
|
|
struct | negate_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::negate() functor for piranha::real. More...
|
|
struct | partial_impl |
| Default functor for the implementation of piranha::math::partial(). More...
|
|
struct | partial_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::partial() for piranha::mp_integer. More...
|
|
struct | partial_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::partial() for piranha::mp_rational. More...
|
|
struct | partial_impl< Series, detail::series_partial_enabler< Series > > |
| Specialisation of the piranha::math::partial() functor for series types. More...
|
|
struct | partial_impl< T, typename std::enable_if< std::is_arithmetic< T >::value >::type > |
| Specialisation of the piranha::math::partial() functor for arithmetic types. More...
|
|
struct | partial_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::partial() functor for piranha::real. More...
|
|
struct | pow_impl |
| Default functor for the implementation of piranha::math::pow(). More...
|
|
struct | pow_impl< Series, T, pow_series_enabler< Series, T > > |
| Specialisation of the piranha::math::pow() functor for piranha::series. More...
|
|
struct | pow_impl< T, U, detail::real_pow_enabler< T, U > > |
| Specialisation of the piranha::math::pow() functor for piranha::real. More...
|
|
struct | pow_impl< T, U, integer_pow_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::pow() for piranha::mp_integer and integral types. More...
|
|
struct | pow_impl< T, U, math_rational_pow_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::pow() for piranha::mp_rational. More...
|
|
struct | pow_impl< T, U, pow_fp_arith_enabler< T, U > > |
| Specialisation of the implementation of piranha::math::pow() for arithmetic and floating-point types. More...
|
|
struct | sin_impl |
| Default functor for the implementation of piranha::math::sin(). More...
|
|
struct | sin_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::sin() for piranha::mp_integer. More...
|
|
struct | sin_impl< mp_rational< SSize > > |
| Specialisation of the implementation of piranha::math::sin() for piranha::mp_rational. More...
|
|
struct | sin_impl< Series, detail::series_sin_enabler< Series > > |
| Specialisation of the piranha::math::sin() functor for piranha::series. More...
|
|
struct | sin_impl< T, typename std::enable_if< std::is_floating_point< T >::value >::type > |
| Specialisation of the piranha::math::sin() functor for floating-point types. More...
|
|
struct | sin_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::sin() functor for integral types. More...
|
|
struct | sin_impl< T, typename std::enable_if< std::is_same< T, real >::value >::type > |
| Specialisation of the piranha::math::sin() functor for piranha::real. More...
|
|
struct | sub3_impl |
| Default functor for the implementation of piranha::math::sub3(). More...
|
|
struct | sub3_impl< mp_integer< SSize > > |
| Specialisation of the implementation of piranha::math::sub3() for piranha::mp_integer. More...
|
|
struct | sub3_impl< T, typename std::enable_if< std::is_integral< T >::value >::type > |
| Specialisation of the piranha::math::sub3() functor for integral types. More...
|
|
struct | subs_impl |
| Default functor for the implementation of piranha::math::subs(). More...
|
|
struct | subs_impl< Series, T, detail::subs_impl_subs_series_enabler< Series, T > > |
| Specialisation of the piranha::math::subs_impl functor for instances of piranha::substitutable_series. More...
|
|
struct | t_degree_impl |
| Default functor for the implementation of piranha::math::t_degree(). More...
|
|
struct | t_degree_impl< Series, typename std::enable_if< std::is_base_of< detail::trigonometric_series_tag, Series >::value >::type > |
| Specialisation of the piranha::math::t_degree() functor for instances of piranha::trigonometric_series. More...
|
|
struct | t_ldegree_impl |
| Default functor for the implementation of piranha::math::t_ldegree(). More...
|
|
struct | t_ldegree_impl< Series, typename std::enable_if< std::is_base_of< detail::trigonometric_series_tag, Series >::value >::type > |
| Specialisation of the piranha::math::t_ldegree() functor for instances of piranha::trigonometric_series. More...
|
|
struct | t_lorder_impl |
| Default functor for the implementation of piranha::math::t_lorder(). More...
|
|
struct | t_lorder_impl< Series, typename std::enable_if< std::is_base_of< detail::trigonometric_series_tag, Series >::value >::type > |
| Specialisation of the piranha::math::t_lorder() functor for instances of piranha::trigonometric_series. More...
|
|
struct | t_order_impl |
| Default functor for the implementation of piranha::math::t_order(). More...
|
|
struct | t_order_impl< Series, typename std::enable_if< std::is_base_of< detail::trigonometric_series_tag, Series >::value >::type > |
| Specialisation of the piranha::math::t_order() functor for instances of piranha::trigonometric_series. More...
|
|
struct | t_subs_impl |
| Default functor for the implementation of piranha::math::t_subs(). More...
|
|
struct | t_subs_impl< Series, U, V, detail::t_subs_impl_t_subs_series_enabler< Series, U, V > > |
| Specialisation of the piranha::math::t_subs() functor for instances of piranha::t_substitutable_series. More...
|
|
struct | truncate_degree_impl |
| Implementation of the piranha::math::truncate_degree() functor. More...
|
|
struct | truncate_degree_impl< Series, T, ps_degree_enabler< Series > > |
| Specialisation of the piranha::math::truncate_degree() functor for instances of piranha::power_series. More...
|
|
|
template<typename T , typename U > |
math_binomial_type< T, U > | binomial (const T &x, const U &y) |
| Generalised binomial coefficient. More...
|
|
template<typename T > |
auto | invert (const T &x) -> decltype(invert_impl< T >()(x)) |
| Compute the inverse. More...
|
|
template<typename U , typename T > |
detail::math_lambdify_type< T, U > | lambdify (T &&x, const std::vector< std::string > &names, detail::math_lambdify_extra_map_type< T, U > extra_map={}) |
| Create a functor interface for piranha::math::evaluate(). More...
|
|
template<typename T , detail::math_is_zero_enabler< T > = 0> |
bool | is_zero (const T &x) |
| Zero test. More...
|
|
template<typename T , detail::math_is_unitary_enabler< T > = 0> |
bool | is_unitary (const T &x) |
| Unitary test. More...
|
|
template<typename T , detail::math_negate_enabler< T > = 0> |
void | negate (T &x) |
| In-place negation. More...
|
|
template<typename T , math_multiply_accumulate_enabler< T > = 0> |
void | multiply_accumulate (T &x, const T &y, const T &z) |
| Multiply-accumulate. More...
|
|
template<typename T > |
detail::math_cos_type< T > | cos (const T &x) |
| Cosine. More...
|
|
template<typename T > |
detail::math_sin_type< T > | sin (const T &x) |
| Sine. More...
|
|
template<typename T > |
detail::math_partial_type< T > | partial (const T &x, const std::string &str) |
| Partial derivative. More...
|
|
template<typename T > |
detail::math_integrate_type< T > | integrate (const T &x, const std::string &str) |
| Integration. More...
|
|
template<typename U , typename T > |
math_evaluate_t< T, U > | evaluate (const T &x, const symbol_fmap< U > &dict) |
| Evaluation. More...
|
|
template<typename U , typename T > |
detail::math_subs_type< T, U > | subs (const T &x, const symbol_fmap< U > &dict) |
| Substitution. More...
|
|
template<typename T , typename U , typename V > |
detail::math_t_subs_type< T, U, V > | t_subs (const T &x, const std::string &name, const U &c, const V &s) |
| Trigonometric substitution. More...
|
|
template<typename T > |
auto | abs (const T &x) -> decltype(abs_impl< T >()(x)) |
| Absolute value. More...
|
|
template<typename T > |
detail::pbracket_type< T > | pbracket (const T &f, const T &g, const std::vector< std::string > &p_list, const std::vector< std::string > &q_list) |
| Poisson bracket. More...
|
|
template<typename T , detail::is_canonical_enabler< T > = 0> |
bool | transformation_is_canonical (const std::vector< T > &new_p, const std::vector< T > &new_q, const std::vector< std::string > &p_list, const std::vector< std::string > &q_list) |
| Check if a transformation is canonical. More...
|
|
template<typename T , detail::is_canonical_enabler< T > = 0> |
bool | transformation_is_canonical (std::initializer_list< T > new_p, std::initializer_list< T > new_q, const std::vector< std::string > &p_list, const std::vector< std::string > &q_list) |
| Check if a transformation is canonical (alternative overload). More...
|
|
template<typename T > |
auto | degree (const T &x) -> decltype(degree_impl< T >()(x)) |
| Total degree. More...
|
|
template<typename T > |
auto | degree (const T &x, const symbol_fset &s) -> decltype(degree_impl< T >()(x, s)) |
| Partial degree. More...
|
|
template<typename T > |
auto | ldegree (const T &x) -> decltype(ldegree_impl< T >()(x)) |
| Total low degree. More...
|
|
template<typename T > |
auto | ldegree (const T &x, const symbol_fset &s) -> decltype(ldegree_impl< T >()(x, s)) |
| Partial low degree. More...
|
|
template<typename T > |
auto | t_degree (const T &x) -> decltype(t_degree_impl< T > |
| Total trigonometric degree. More...
|
|
template<typename T > |
auto | t_degree (const T &x, const symbol_fset &names) -> decltype(t_degree_impl< T > |
| Partial trigonometric degree. More...
|
|
template<typename T > |
auto | t_ldegree (const T &x) -> decltype(t_ldegree_impl< T > |
| Total trigonometric low degree. More...
|
|
template<typename T > |
auto | t_ldegree (const T &x, const symbol_fset &names) -> decltype(t_ldegree_impl< T > |
| Partial trigonometric low degree. More...
|
|
template<typename T > |
auto | t_order (const T &x) -> decltype(t_order_impl< T > |
| Total trigonometric order. More...
|
|
template<typename T > |
auto | t_order (const T &x, const symbol_fset &names) -> decltype(t_order_impl< T > |
| Partial trigonometric order. More...
|
|
template<typename T > |
auto | t_lorder (const T &x) -> decltype(t_lorder_impl< T > |
| Total trigonometric low order. More...
|
|
template<typename T > |
auto | t_lorder (const T &x, const symbol_fset &names) -> decltype(t_lorder_impl< T > |
| Partial trigonometric low order. More...
|
|
template<typename T , typename U , detail::truncate_degree_enabler< T, U > = 0> |
T | truncate_degree (const T &x, const U &max_degree) |
| Truncation based on the total degree. More...
|
|
template<typename T , typename U , detail::truncate_pdegree_enabler< T, U > = 0> |
T | truncate_degree (const T &x, const U &max_degree, const symbol_fset &names) |
| Truncation based on the partial degree. More...
|
|
template<typename T > |
auto | add3 (T &a, const T &b, const T &c) -> decltype(add3_impl< T >()(a, b, c)) |
| Ternary addition. More...
|
|
template<typename T > |
auto | sub3 (T &a, const T &b, const T &c) -> decltype(sub3_impl< T >()(a, b, c)) |
| Ternary subtraction. More...
|
|
template<typename T > |
auto | mul3 (T &a, const T &b, const T &c) -> decltype(mul3_impl< T >()(a, b, c)) |
| Ternary multiplication. More...
|
|
template<typename T > |
auto | div3 (T &a, const T &b, const T &c) -> decltype(div3_impl< T >()(a, b, c)) |
| Ternary division. More...
|
|
template<typename T , typename U > |
auto | gcd (const T &a, const U &b) -> decltype(gcd_impl< T, U >()(a, b)) |
| GCD. More...
|
|
template<typename T > |
auto | gcd3 (T &out, const T &a, const T &b) -> decltype(gcd3_impl< T >()(out, a, b)) |
| Ternary GCD. More...
|
|
template<std::size_t SSize> |
mp_integer< SSize > | factorial (const mp_integer< SSize > &n) |
| Factorial. More...
|
|
template<typename T , typename U > |
math_ipow_subs_t< T, U > | ipow_subs (const T &x, const std::string &name, const integer &n, const U &y) |
| Substitution of integral power. More...
|
|
template<typename T , typename U , typename Int > |
math_ipow_subs_int_t< T, U, Int > | ipow_subs (const T &x, const std::string &name, const Int &n, const U &y) |
| Substitution of integral power (convenience overload). More...
|
|
template<typename T , typename U > |
math_pow_t< T, U > | pow (const T &x, const U &y) |
| Exponentiation. More...
|
|
Math namespace.
Namespace for general-purpose mathematical functions.