#include <boost/multiprecision/cpp_int.hpp>
#include <boost/multiprecision/integer.hpp>
#include <boost/math/special_functions/trunc.hpp>
#include <boost/multiprecision/detail/float_string_cvt.hpp>
#include <boost/multiprecision/cpp_bin_float/io.hpp>
#include <boost/multiprecision/cpp_bin_float/transcendental.hpp>
Namespaces | |
boost | |
Duration formatting facet for input. | |
boost::multiprecision | |
boost::multiprecision::backends | |
boost::multiprecision::backends::detail | |
Typedefs | |
typedef number < backends::cpp_bin_float< 50 > > | boost::multiprecision::cpp_bin_float_50 |
typedef number < backends::cpp_bin_float< 100 > > | boost::multiprecision::cpp_bin_float_100 |
typedef number < backends::cpp_bin_float < 24, backends::digit_base_2, void, boost::int16_t,-126, 127 > , et_off > | boost::multiprecision::cpp_bin_float_single |
typedef number < backends::cpp_bin_float < 53, backends::digit_base_2, void, boost::int16_t,-1022, 1023 > , et_off > | boost::multiprecision::cpp_bin_float_double |
typedef number < backends::cpp_bin_float < 64, backends::digit_base_2, void, boost::int16_t,-16382, 16383 > , et_off > | boost::multiprecision::cpp_bin_float_double_extended |
typedef number < backends::cpp_bin_float < 113, backends::digit_base_2, void, boost::int16_t,-16382, 16383 > , et_off > | boost::multiprecision::cpp_bin_float_quad |
Enumerations | |
enum | boost::multiprecision::backends::digit_base_type { boost::multiprecision::backends::digit_base_2 = 2, boost::multiprecision::backends::digit_base_10 = 10 } |
Functions | |
template<class S > | |
disable_if_c< is_unsigned< S > ::value, bool >::type | boost::multiprecision::backends::detail::is_negative (S s) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class Int > | |
void | boost::multiprecision::backends::copy_and_round (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, Int &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::do_eval_add (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::do_eval_subtract (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_add (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_add (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_subtract (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_subtract (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class U > | |
enable_if_c< is_unsigned< U > ::value >::type | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const U &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class U > | |
enable_if_c< is_unsigned< U > ::value >::type | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const U &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class S > | |
enable_if_c< is_signed< S > ::value >::type | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, const S &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class S > | |
enable_if_c< is_signed< S > ::value >::type | boost::multiprecision::backends::eval_multiply (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const S &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &u, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &v) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class U > | |
enable_if_c< is_unsigned< U > ::value >::type | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &u, const U &v) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class U > | |
enable_if_c< is_unsigned< U > ::value >::type | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const U &v) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class S > | |
enable_if_c< is_signed< S > ::value >::type | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &u, const S &v) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class S > | |
enable_if_c< is_signed< S > ::value >::type | boost::multiprecision::backends::eval_divide (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const S &v) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
int | boost::multiprecision::backends::eval_get_sign (const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
bool | boost::multiprecision::backends::eval_is_zero (const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
bool | boost::multiprecision::backends::eval_eq (const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &a, cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &b) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_convert_to (long long *res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_convert_to (unsigned long long *res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_convert_to (long double *res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_frexp (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg, Exponent *e) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class I > | |
void | boost::multiprecision::backends::eval_frexp (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg, I *pe) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_ldexp (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg, Exponent e) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class I > | |
enable_if_c< is_unsigned< I > ::value >::type | boost::multiprecision::backends::eval_ldexp (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg, I e) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE, class I > | |
enable_if_c< is_signed< I > ::value >::type | boost::multiprecision::backends::eval_ldexp (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg, I e) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_abs (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_fabs (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
int | boost::multiprecision::backends::eval_fpclassify (const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_sqrt (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_floor (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
template<unsigned Digits, digit_base_type DigitBase, class Allocator , class Exponent , Exponent MinE, Exponent MaxE> | |
void | boost::multiprecision::backends::eval_ceil (cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &res, const cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinE, MaxE > &arg) |
Variables | |
template<class U > | |
enable_if_c< is_unsigned< U > ::value, bool >::type | boost::multiprecision::backends::detail::is_negative (U) |