#include <boost/multiprecision/number.hpp>#include <boost/multiprecision/detail/integer_ops.hpp>#include <boost/multiprecision/detail/big_lanczos.hpp>#include <boost/multiprecision/detail/digits.hpp>#include <boost/math/special_functions/fpclassify.hpp>#include <boost/cstdint.hpp>#include <gmp.h>#include <cmath>#include <limits>#include <climits>

Namespaces | |
| boost | |
| Duration formatting facet for input.  | |
| boost::multiprecision | |
| boost::multiprecision::backends | |
| boost::multiprecision::backends::detail | |
Typedefs | |
| typedef number< gmp_float< 50 > > | boost::multiprecision::mpf_float_50 | 
| typedef number< gmp_float< 100 > > | boost::multiprecision::mpf_float_100 | 
| typedef number< gmp_float< 500 > > | boost::multiprecision::mpf_float_500 | 
| typedef number< gmp_float< 1000 > > | boost::multiprecision::mpf_float_1000 | 
| typedef number< gmp_float< 0 > > | boost::multiprecision::mpf_float | 
| typedef number< gmp_int > | boost::multiprecision::mpz_int | 
| typedef number< gmp_rational > | boost::multiprecision::mpq_rational | 
Functions | |
| template<unsigned digits10, class T > | |
| enable_if_c< is_arithmetic< T > ::value, bool >::type  | boost::multiprecision::backends::eval_eq (const gmp_float< digits10 > &a, const T &b) BOOST_NOEXCEPT | 
| template<unsigned digits10, class T > | |
| enable_if_c< is_arithmetic< T > ::value, bool >::type  | boost::multiprecision::backends::eval_lt (const gmp_float< digits10 > &a, const T &b) BOOST_NOEXCEPT | 
| template<unsigned digits10, class T > | |
| enable_if_c< is_arithmetic< T > ::value, bool >::type  | boost::multiprecision::backends::eval_gt (const gmp_float< digits10 > &a, const T &b) BOOST_NOEXCEPT | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &result, const gmp_float< D2 > &o) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &result, const gmp_float< D2 > &o) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &result, const gmp_float< D2 > &o) | 
| template<unsigned digits10> | |
| bool | boost::multiprecision::backends::eval_is_zero (const gmp_float< digits10 > &val) BOOST_NOEXCEPT | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &result, const gmp_float< D2 > &o) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< digits10 > &result, unsigned long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< digits10 > &result, unsigned long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< digits10 > &result, unsigned long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< digits10 > &result, unsigned long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< digits10 > &result, long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< digits10 > &result, long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< digits10 > &result, long i) | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< digits10 > &result, long i) | 
| template<unsigned D1, unsigned D2, unsigned D3> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &a, const gmp_float< D2 > &x, const gmp_float< D3 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &a, const gmp_float< D2 > &x, unsigned long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &a, const gmp_float< D2 > &x, long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &a, unsigned long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_add (gmp_float< D1 > &a, long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2, unsigned D3> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &a, const gmp_float< D2 > &x, const gmp_float< D3 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &a, const gmp_float< D2 > &x, unsigned long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &a, const gmp_float< D2 > &x, long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &a, unsigned long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_subtract (gmp_float< D1 > &a, long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2, unsigned D3> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &a, const gmp_float< D2 > &x, const gmp_float< D3 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &a, const gmp_float< D2 > &x, unsigned long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &a, const gmp_float< D2 > &x, long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &a, unsigned long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_multiply (gmp_float< D1 > &a, long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2, unsigned D3> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &a, const gmp_float< D2 > &x, const gmp_float< D3 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &a, const gmp_float< D2 > &x, unsigned long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &a, const gmp_float< D2 > &x, long y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &a, unsigned long x, const gmp_float< D2 > &y) | 
| template<unsigned D1, unsigned D2> | |
| void | boost::multiprecision::backends::eval_divide (gmp_float< D1 > &a, long x, const gmp_float< D2 > &y) | 
| template<unsigned digits10> | |
| int | boost::multiprecision::backends::eval_get_sign (const gmp_float< digits10 > &val) BOOST_NOEXCEPT | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_convert_to (unsigned long *result, const gmp_float< digits10 > &val) BOOST_NOEXCEPT | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_convert_to (long *result, const gmp_float< digits10 > &val) BOOST_NOEXCEPT | 
| template<unsigned digits10> | |
| void | boost::multiprecision::backends::eval_convert_to (double *result, const gmp_float< digits10 > &val) BOOST_NOEXCEPT | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_sqrt (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_abs (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_fabs (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_ceil (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_floor (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_trunc (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_ldexp (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val, long e) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_frexp (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val, int *e) | 
| template<unsigned Digits10> | |
| void | boost::multiprecision::backends::eval_frexp (gmp_float< Digits10 > &result, const gmp_float< Digits10 > &val, long *e) | 
| template<class T > | |
| enable_if< is_arithmetic< T > , bool >::type  | boost::multiprecision::backends::eval_eq (const gmp_int &a, const T &b) | 
| template<class T > | |
| enable_if< is_arithmetic< T > , bool >::type  | boost::multiprecision::backends::eval_lt (const gmp_int &a, const T &b) | 
| template<class T > | |
| enable_if< is_arithmetic< T > , bool >::type  | boost::multiprecision::backends::eval_gt (const gmp_int &a, const T &b) | 
| bool | boost::multiprecision::backends::eval_is_zero (const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_multiply_add (gmp_int &t, const gmp_int &a, const gmp_int &b) | 
| void | boost::multiprecision::backends::eval_multiply_subtract (gmp_int &t, const gmp_int &a, const gmp_int &b) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, unsigned long i) | 
| void | boost::multiprecision::backends::eval_multiply_add (gmp_int &t, const gmp_int &a, unsigned long i) | 
| void | boost::multiprecision::backends::eval_multiply_subtract (gmp_int &t, const gmp_int &a, unsigned long i) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, unsigned long i) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, unsigned long i) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, unsigned long i) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, unsigned long i) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, long i) | 
| void | boost::multiprecision::backends::eval_multiply_add (gmp_int &t, const gmp_int &a, long i) | 
| void | boost::multiprecision::backends::eval_multiply_subtract (gmp_int &t, const gmp_int &a, long i) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, long i) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, long i) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, long i) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, long i) | 
| template<class UI > | |
| void | boost::multiprecision::backends::eval_left_shift (gmp_int &t, UI i) | 
| template<class UI > | |
| void | boost::multiprecision::backends::eval_right_shift (gmp_int &t, UI i) | 
| template<class UI > | |
| void | boost::multiprecision::backends::eval_left_shift (gmp_int &t, const gmp_int &v, UI i) | 
| template<class UI > | |
| void | boost::multiprecision::backends::eval_right_shift (gmp_int &t, const gmp_int &v, UI i) | 
| void | boost::multiprecision::backends::eval_bitwise_and (gmp_int &result, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_bitwise_or (gmp_int &result, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_bitwise_xor (gmp_int &result, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, const gmp_int &p, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, const gmp_int &p, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, const gmp_int &p, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, const gmp_int &p, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, const gmp_int &p, const gmp_int &o) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, const gmp_int &p, unsigned long i) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, const gmp_int &p, unsigned long i) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, const gmp_int &p, unsigned long i) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, const gmp_int &p, unsigned long i) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, const gmp_int &p, unsigned long i) | 
| void | boost::multiprecision::backends::eval_add (gmp_int &t, const gmp_int &p, long i) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_int &t, const gmp_int &p, long i) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_int &t, const gmp_int &p, long i) | 
| void | boost::multiprecision::backends::eval_modulus (gmp_int &t, const gmp_int &p, long i) | 
| void | boost::multiprecision::backends::eval_divide (gmp_int &t, const gmp_int &p, long i) | 
| void | boost::multiprecision::backends::eval_bitwise_and (gmp_int &result, const gmp_int &u, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_bitwise_or (gmp_int &result, const gmp_int &u, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_bitwise_xor (gmp_int &result, const gmp_int &u, const gmp_int &v) | 
| void | boost::multiprecision::backends::eval_complement (gmp_int &result, const gmp_int &u) | 
| int | boost::multiprecision::backends::eval_get_sign (const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_convert_to (unsigned long *result, const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_convert_to (long *result, const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_convert_to (double *result, const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_abs (gmp_int &result, const gmp_int &val) | 
| void | boost::multiprecision::backends::eval_gcd (gmp_int &result, const gmp_int &a, const gmp_int &b) | 
| void | boost::multiprecision::backends::eval_lcm (gmp_int &result, const gmp_int &a, const gmp_int &b) | 
| template<class I > | |
| enable_if_c<(is_unsigned< I > ::value &&(sizeof(I)<=sizeof(unsigned long)))>::type  | boost::multiprecision::backends::eval_gcd (gmp_int &result, const gmp_int &a, const I b) | 
| template<class I > | |
| enable_if_c<(is_unsigned< I > ::value &&(sizeof(I)<=sizeof(unsigned long)))>::type  | boost::multiprecision::backends::eval_lcm (gmp_int &result, const gmp_int &a, const I b) | 
| template<class I > | |
| enable_if_c<(is_signed< I > ::value &&(sizeof(I)<=sizeof(long)))> ::type  | boost::multiprecision::backends::eval_gcd (gmp_int &result, const gmp_int &a, const I b) | 
| template<class I > | |
| enable_if_c< is_signed< I > ::value &&((sizeof(I)<=sizeof(long)))> ::type  | boost::multiprecision::backends::eval_lcm (gmp_int &result, const gmp_int &a, const I b) | 
| void | boost::multiprecision::backends::eval_integer_sqrt (gmp_int &s, gmp_int &r, const gmp_int &x) | 
| unsigned | boost::multiprecision::backends::eval_lsb (const gmp_int &val) | 
| unsigned | boost::multiprecision::backends::eval_msb (const gmp_int &val) | 
| bool | boost::multiprecision::backends::eval_bit_test (const gmp_int &val, unsigned index) | 
| void | boost::multiprecision::backends::eval_bit_set (gmp_int &val, unsigned index) | 
| void | boost::multiprecision::backends::eval_bit_unset (gmp_int &val, unsigned index) | 
| void | boost::multiprecision::backends::eval_bit_flip (gmp_int &val, unsigned index) | 
| void | boost::multiprecision::backends::eval_qr (const gmp_int &x, const gmp_int &y, gmp_int &q, gmp_int &r) | 
| template<class Integer > | |
| enable_if< is_unsigned < Integer >, Integer >::type  | boost::multiprecision::backends::eval_integer_modulus (const gmp_int &x, Integer val) | 
| template<class Integer > | |
| enable_if< is_signed< Integer > , Integer >::type  | boost::multiprecision::backends::eval_integer_modulus (const gmp_int &x, Integer val) | 
| void | boost::multiprecision::backends::eval_powm (gmp_int &result, const gmp_int &base, const gmp_int &p, const gmp_int &m) | 
| boost::multiprecision::backends::mpq_clear (t) | |
| gmp_rational & | boost::multiprecision::backends::operator= (long long i) | 
| gmp_rational & | boost::multiprecision::backends::operator= (unsigned long i) | 
| gmp_rational & | boost::multiprecision::backends::operator= (long i) | 
| gmp_rational & | boost::multiprecision::backends::operator= (double d) | 
| gmp_rational & | boost::multiprecision::backends::operator= (long double a) | 
| gmp_rational & | boost::multiprecision::backends::operator= (const char *s) | 
| gmp_rational & | boost::multiprecision::backends::operator= (const gmp_int &o) | 
| gmp_rational & | boost::multiprecision::backends::operator= (const mpq_t o) | 
| gmp_rational & | boost::multiprecision::backends::operator= (const mpz_t o) | 
| void | boost::multiprecision::backends::swap (gmp_rational &o) | 
| std::string | boost::multiprecision::backends::str (std::streamsize, std::ios_base::fmtflags) const | 
| boost::multiprecision::backends::~gmp_rational () | |
| result | boost::multiprecision::backends::negate () | 
| int | boost::multiprecision::backends::compare (const gmp_rational &o) const | 
| template<class V > | |
| int | boost::multiprecision::backends::compare (V v) const | 
| int | boost::multiprecision::backends::compare (unsigned long v) const | 
| int | boost::multiprecision::backends::compare (long v) const | 
| mpq_t & | boost::multiprecision::backends::data () | 
| bool | boost::multiprecision::backends::eval_is_zero (const gmp_rational &val) | 
| template<class T > | |
| bool | boost::multiprecision::backends::eval_eq (gmp_rational &a, const T &b) | 
| template<class T > | |
| bool | boost::multiprecision::backends::eval_lt (gmp_rational &a, const T &b) | 
| template<class T > | |
| bool | boost::multiprecision::backends::eval_gt (gmp_rational &a, const T &b) | 
| void | boost::multiprecision::backends::eval_add (gmp_rational &t, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_rational &t, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_rational &t, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_divide (gmp_rational &t, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_add (gmp_rational &t, const gmp_rational &p, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_subtract (gmp_rational &t, const gmp_rational &p, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_multiply (gmp_rational &t, const gmp_rational &p, const gmp_rational &o) | 
| void | boost::multiprecision::backends::eval_divide (gmp_rational &t, const gmp_rational &p, const gmp_rational &o) | 
| int | boost::multiprecision::backends::eval_get_sign (const gmp_rational &val) | 
| void | boost::multiprecision::backends::eval_convert_to (double *result, const gmp_rational &val) | 
| void | boost::multiprecision::backends::eval_convert_to (long *result, const gmp_rational &val) | 
| void | boost::multiprecision::backends::eval_convert_to (unsigned long *result, const gmp_rational &val) | 
| void | boost::multiprecision::backends::eval_abs (gmp_rational &result, const gmp_rational &val) | 
| void | boost::multiprecision::backends::assign_components (gmp_rational &result, unsigned long v1, unsigned long v2) | 
| void | boost::multiprecision::backends::assign_components (gmp_rational &result, long v1, long v2) | 
| void | boost::multiprecision::backends::assign_components (gmp_rational &result, gmp_int const &v1, gmp_int const &v2) | 
| template<expression_template_option ET> | |
| number< gmp_int, ET > | boost::multiprecision::numerator (const number< gmp_rational, ET > &val) | 
| template<expression_template_option ET> | |
| number< gmp_int, ET > | boost::multiprecision::denominator (const number< gmp_rational, ET > &val) | 
Variables | |
| return * | boost::multiprecision::backends::this | 
| mpq_t | boost::multiprecision::backends::m_data |