#include <boost/multiprecision/number.hpp>
#include <boost/math/special_functions/fpclassify.hpp>
#include <boost/cstdint.hpp>
#include <boost/multiprecision/detail/big_lanczos.hpp>
#include <boost/multiprecision/detail/digits.hpp>
#include <boost/multiprecision/mpfr.hpp>
#include <boost/math/constants/constants.hpp>
#include <mpfi.h>
#include <cmath>
#include <algorithm>
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::multiprecision | |
boost::multiprecision::backends | |
boost::multiprecision::backends::detail | |
boost::math | |
boost::math::tools | |
boost::math::constants | |
boost::math::constants::detail | |
Typedefs | |
typedef number < mpfi_float_backend< 50 > > | boost::multiprecision::mpfi_float_50 |
typedef number < mpfi_float_backend< 100 > > | boost::multiprecision::mpfi_float_100 |
typedef number < mpfi_float_backend< 500 > > | boost::multiprecision::mpfi_float_500 |
typedef number < mpfi_float_backend< 1000 > > | boost::multiprecision::mpfi_float_1000 |
typedef number < mpfi_float_backend< 0 > > | boost::multiprecision::mpfi_float |
Functions | |
int | boost::multiprecision::backends::detail::mpfi_sgn (mpfi_srcptr p) |
template<unsigned digits10, class T > | |
enable_if< is_arithmetic< T > , bool >::type | boost::multiprecision::backends::eval_eq (const mpfi_float_backend< digits10 > &a, const T &b) BOOST_NOEXCEPT |
template<unsigned digits10, class T > | |
enable_if< is_arithmetic< T > , bool >::type | boost::multiprecision::backends::eval_lt (const mpfi_float_backend< digits10 > &a, const T &b) BOOST_NOEXCEPT |
template<unsigned digits10, class T > | |
enable_if< is_arithmetic< T > , bool >::type | boost::multiprecision::backends::eval_gt (const mpfi_float_backend< digits10 > &a, const T &b) BOOST_NOEXCEPT |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &result, const mpfi_float_backend< D2 > &o) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &result, const mpfi_float_backend< D2 > &o) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &result, const mpfi_float_backend< D2 > &o) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &result, const mpfi_float_backend< D2 > &o) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< digits10 > &result, unsigned long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< digits10 > &result, unsigned long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< digits10 > &result, unsigned long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< digits10 > &result, unsigned long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< digits10 > &result, long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< digits10 > &result, long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< digits10 > &result, long i) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< digits10 > &result, long i) |
template<unsigned D1, unsigned D2, unsigned D3> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, const mpfi_float_backend< D3 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, unsigned long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &a, unsigned long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_add (mpfi_float_backend< D1 > &a, long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2, unsigned D3> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, const mpfi_float_backend< D3 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, unsigned long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &a, unsigned long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_subtract (mpfi_float_backend< D1 > &a, long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2, unsigned D3> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, const mpfi_float_backend< D3 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, unsigned long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &a, unsigned long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_multiply (mpfi_float_backend< D1 > &a, long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2, unsigned D3> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, const mpfi_float_backend< D3 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, unsigned long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &a, const mpfi_float_backend< D2 > &x, long y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &a, unsigned long x, const mpfi_float_backend< D2 > &y) |
template<unsigned D1, unsigned D2> | |
void | boost::multiprecision::backends::eval_divide (mpfi_float_backend< D1 > &a, long x, const mpfi_float_backend< D2 > &y) |
template<unsigned digits10> | |
bool | boost::multiprecision::backends::eval_is_zero (const mpfi_float_backend< digits10 > &val) BOOST_NOEXCEPT |
template<unsigned digits10> | |
int | boost::multiprecision::backends::eval_get_sign (const mpfi_float_backend< digits10 > &val) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_convert_to (unsigned long *result, const mpfi_float_backend< digits10 > &val) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_convert_to (long *result, const mpfi_float_backend< digits10 > &val) |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_convert_to (double *result, const mpfi_float_backend< digits10 > &val) BOOST_NOEXCEPT |
template<unsigned digits10> | |
void | boost::multiprecision::backends::eval_convert_to (long double *result, const mpfi_float_backend< digits10 > &val) BOOST_NOEXCEPT |
template<unsigned D1, unsigned D2, mpfr_allocation_type AllocationType> | |
void | boost::multiprecision::backends::assign_components (mpfi_float_backend< D1 > &result, const mpfr_float_backend< D2, AllocationType > &a, const mpfr_float_backend< D2, AllocationType > &b) |
template<unsigned Digits10, class V > | |
enable_if_c< is_convertible< V, number< mpfr_float_backend < Digits10, allocate_dynamic > , et_on > >::value >::type | boost::multiprecision::backends::assign_components (mpfi_float_backend< Digits10 > &result, const V &a, const V &b) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_sqrt (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_abs (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_fabs (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_ceil (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_floor (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_ldexp (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val, long e) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_frexp (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val, int *e) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_frexp (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &val, long *e) |
template<unsigned Digits10> | |
int | boost::multiprecision::backends::eval_fpclassify (const mpfi_float_backend< Digits10 > &val) BOOST_NOEXCEPT |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_pow (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &b, const mpfi_float_backend< Digits10 > &e) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_exp (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_log (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_log10 (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_sin (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_cos (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_tan (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_asin (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_acos (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_atan (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_atan2 (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg1, const mpfi_float_backend< Digits10 > &arg2) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_sinh (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_cosh (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10> | |
void | boost::multiprecision::backends::eval_tanh (mpfi_float_backend< Digits10 > &result, const mpfi_float_backend< Digits10 > &arg) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfr_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::lower (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &val) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfr_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::upper (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &val) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfr_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::median (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &val) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfr_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::width (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &val) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfi_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::intersect (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
number< mpfi_float_backend < Digits10 > , ExpressionTemplates > | boost::multiprecision::hull (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::overlap (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates1, expression_template_option ExpressionTemplates2> | |
bool | boost::multiprecision::in (const number< mpfr_float_backend< Digits10 >, ExpressionTemplates1 > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates2 > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::zero_in (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::subset (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::proper_subset (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a, const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &b) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::empty (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a) |
template<unsigned Digits10, expression_template_option ExpressionTemplates> | |
bool | boost::multiprecision::singleton (const number< mpfi_float_backend< Digits10 >, ExpressionTemplates > &a) |
template<> | |
int | boost::math::tools::digits< boost::multiprecision::mpfi_float > () |