#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 |