Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
mpfi.hpp File Reference
#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>
Include dependency graph for mpfi.hpp:

Classes

struct  boost::multiprecision::backends::mpfi_float_backend< digits10 >
 
struct  boost::multiprecision::number_category< backends::mpfi_float_backend< digits10 > >
 
struct  boost::multiprecision::interval_error
 
struct  boost::multiprecision::backends::detail::mpfi_float_imp< digits10 >
 
struct  boost::multiprecision::backends::detail::mpfi_float_imp< digits10 >
 
struct  boost::multiprecision::backends::mpfi_float_backend< digits10 >
 
struct  boost::multiprecision::backends::mpfi_float_backend< 0 >
 
struct  boost::multiprecision::number_category< detail::canonical< mpfi_t, backends::mpfi_float_backend< 0 > >::type >
 
struct  boost::multiprecision::is_interval_number< backends::mpfi_float_backend< Digits10 > >
 
struct  boost::multiprecision::component_type< number< mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
struct  boost::math::constants::detail::constant_pi< T >
 
struct  boost::math::constants::detail::constant_ln_two< T >
 
struct  boost::math::constants::detail::constant_euler< T >
 
struct  boost::math::constants::detail::constant_catalan< T >
 
struct  boost::math::constants::detail::mpfi_initializer< T >
 
struct  boost::math::constants::detail::mpfi_initializer< T >::init
 
struct  boost::math::constants::detail::constant_pi< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
struct  boost::math::constants::detail::constant_ln_two< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
struct  boost::math::constants::detail::constant_euler< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
struct  boost::math::constants::detail::constant_catalan< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
class  std::numeric_limits< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >
 
class  std::numeric_limits< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< 0 >, ExpressionTemplates > >
 

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 > ()