#include <cpp_dec_float.hpp>
Public Types | |
typedef mpl::list< long long > | signed_types |
typedef mpl::list< unsigned long long > | unsigned_types |
typedef mpl::list< long double > | float_types |
typedef ExponentType | exponent_type |
Public Member Functions | |
BOOST_STATIC_ASSERT ((cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_max_exp10==-cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_min_exp10)) | |
cpp_dec_float () | |
cpp_dec_float (const char *s) | |
template<class I > | |
cpp_dec_float (I i, typename enable_if< is_unsigned< I > >::type *=0) | |
template<class I > | |
cpp_dec_float (I i, typename enable_if< is_signed< I > >::type *=0) | |
cpp_dec_float (const cpp_dec_float &f) | |
template<unsigned D, class ET , class A > | |
cpp_dec_float (const cpp_dec_float< D, ET, A > &f, typename enable_if_c< D<=Digits10 >::type *=0) | |
template<unsigned D, class ET , class A > | |
cpp_dec_float (const cpp_dec_float< D, ET, A > &f, typename disable_if_c< D<=Digits10 >::type *=0) | |
template<class F > | |
cpp_dec_float (const F val, typename enable_if< is_floating_point< F > >::type *=0) | |
cpp_dec_float (const double mantissa, const ExponentType exponent) | |
cpp_dec_float & | operator= (const cpp_dec_float &v) |
template<unsigned D> | |
cpp_dec_float & | operator= (const cpp_dec_float< D > &f) |
cpp_dec_float & | operator= (long long v) |
cpp_dec_float & | operator= (unsigned long long v) |
cpp_dec_float & | operator= (long double v) |
cpp_dec_float & | operator= (const char *v) |
cpp_dec_float & | operator+= (const cpp_dec_float &v) |
cpp_dec_float & | operator-= (const cpp_dec_float &v) |
cpp_dec_float & | operator*= (const cpp_dec_float &v) |
cpp_dec_float & | operator/= (const cpp_dec_float &v) |
cpp_dec_float & | add_unsigned_long_long (const unsigned long long n) |
cpp_dec_float & | sub_unsigned_long_long (const unsigned long long n) |
cpp_dec_float & | mul_unsigned_long_long (const unsigned long long n) |
cpp_dec_float & | div_unsigned_long_long (const unsigned long long n) |
cpp_dec_float & | calculate_inv () |
cpp_dec_float & | calculate_sqrt () |
void | negate () |
bool isnan | BOOST_PREVENT_MACRO_SUBSTITUTION () const |
bool isinf | BOOST_PREVENT_MACRO_SUBSTITUTION () const |
bool isfinite | BOOST_PREVENT_MACRO_SUBSTITUTION () const |
bool | iszero () const |
bool | isone () const |
bool | isint () const |
bool | isneg () const |
cpp_dec_float & | operator++ () |
cpp_dec_float & | operator-- () |
std::string | str (boost::intmax_t digits, std::ios_base::fmtflags f) const |
int | compare (const cpp_dec_float &v) const |
template<class V > | |
int | compare (const V &v) const |
void | swap (cpp_dec_float &v) |
double | extract_double () const |
long double | extract_long_double () const |
signed long long | extract_signed_long_long () const |
unsigned long long | extract_unsigned_long_long () const |
void | extract_parts (double &mantissa, ExponentType &exponent) const |
cpp_dec_float | extract_integer_part () const |
void | precision (const boost::int32_t prec_digits) |
ExponentType | order () const |
template<class Archive > | |
void | serialize (Archive &ar, const unsigned int) |
Static Public Member Functions | |
static const cpp_dec_float & | nan () |
static const cpp_dec_float & | inf () |
static const cpp_dec_float &() | max () |
static const cpp_dec_float &() | min () |
static const cpp_dec_float & | zero () |
static const cpp_dec_float & | one () |
static const cpp_dec_float & | two () |
static const cpp_dec_float & | half () |
static const cpp_dec_float & | double_min () |
static const cpp_dec_float & | double_max () |
static const cpp_dec_float & | long_double_min () |
static const cpp_dec_float & | long_double_max () |
static const cpp_dec_float & | long_long_max () |
static const cpp_dec_float & | long_long_min () |
static const cpp_dec_float & | ulong_long_max () |
static const cpp_dec_float & | eps () |
static cpp_dec_float | pow2 (long long i) |
Static Public Attributes | |
static const boost::int32_t | cpp_dec_float_radix = 10L |
static const boost::int32_t | cpp_dec_float_digits10_limit_lo = 9L |
static const boost::int32_t | cpp_dec_float_digits10_limit_hi = boost::integer_traits<boost::int32_t>::const_max - 100 |
static const boost::int32_t | cpp_dec_float_digits10 = ((cpp_dec_float_digits10_setting < cpp_dec_float_digits10_limit_lo) ? cpp_dec_float_digits10_limit_lo : ((cpp_dec_float_digits10_setting > cpp_dec_float_digits10_limit_hi) ? cpp_dec_float_digits10_limit_hi : cpp_dec_float_digits10_setting)) |
static const ExponentType | cpp_dec_float_max_exp10 = (static_cast<ExponentType>(1) << (std::numeric_limits<ExponentType>::digits - 5)) |
static const ExponentType | cpp_dec_float_min_exp10 = -cpp_dec_float_max_exp10 |
static const ExponentType | cpp_dec_float_max_exp = cpp_dec_float_max_exp10 |
static const ExponentType | cpp_dec_float_min_exp = cpp_dec_float_min_exp10 |
static const boost::int32_t | cpp_dec_float_total_digits10 = static_cast<boost::int32_t>(cpp_dec_float_elem_number * cpp_dec_float_elem_digits10) |
Friends | |
template<unsigned D, class ET , class A > | |
class | cpp_dec_float |
typedef ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::exponent_type |
typedef mpl::list<long double> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::float_types |
typedef mpl::list<long long> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::signed_types |
typedef mpl::list<unsigned long long> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::unsigned_types |
|
inline |
|
inline |
References boost::asio::s.
|
inline |
|
inline |
|
inline |
|
inline |
References boost::filesystem::detail::copy().
|
inlineexplicit |
References boost::filesystem::detail::copy().
|
inline |
References boost::phoenix::val().
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float | ( | const double | mantissa, |
const ExponentType | exponent | ||
) |
|
inline |
References boost::multiprecision::backends::t.
Referenced by boost::multiprecision::backends::eval_add(), and boost::multiprecision::backends::eval_subtract().
|
inline |
|
inline |
|
inline |
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::BOOST_STATIC_ASSERT | ( | (cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_max_exp10==-cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_min_exp10) | ) |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_inv | ( | ) |
References boost::math::tools::digits(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_parts(), boost::xpressive::inf, boost::math::isinf(), boost::math::isnan(), boost::multiprecision::backends::negate(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate(), boost::multiprecision::backends::operator=(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::precision(), boost::multiprecision::backends::t, and boost::flyweights::x.
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator/=().
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_sqrt | ( | ) |
References boost::math::tools::digits(), boost::math::isfinite(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::mul_unsigned_long_long(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::precision(), boost::geometry::math::sqrt(), boost::multiprecision::backends::t, and boost::flyweights::x.
Referenced by boost::multiprecision::backends::eval_sqrt().
int boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare | ( | const cpp_dec_float< Digits10, ExponentType, Allocator > & | v | ) | const |
References boost::math::isfinite(), boost::math::isinf(), boost::math::isnan(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::iszero().
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare(), boost::multiprecision::backends::eval_frexp(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_double(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_long_double(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_unsigned_long_long().
|
inline |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::div_unsigned_long_long | ( | const unsigned long long | n | ) |
References boost::multiprecision::backends::compare(), boost::filesystem::detail::copy(), boost::xpressive::inf, boost::math::isinf(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::min(), boost::n, boost::multiprecision::backends::negate(), boost::proto::exprns_::operator/=(), and boost::multiprecision::backends::t.
Referenced by boost::multiprecision::backends::eval_divide(), and boost::multiprecision::backends::eval_ldexp().
|
inlinestatic |
References boost::accumulators::extract::max, and boost::phoenix::val().
|
inlinestatic |
References boost::accumulators::extract::min, and boost::phoenix::val().
|
inlinestatic |
double boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_double | ( | ) | const |
References boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare(), boost::math::isfinite(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isneg(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate().
cpp_dec_float< Digits10, ExponentType, Allocator > boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_integer_part | ( | ) | const |
long double boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_long_double | ( | ) | const |
References boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare(), boost::math::isfinite(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isneg(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate().
Referenced by boost::multiprecision::backends::eval_convert_to().
void boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_parts | ( | double & | mantissa, |
ExponentType & | exponent | ||
) | const |
signed long long boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_signed_long_long | ( | ) | const |
References boost::multiprecision::backends::compare(), boost::multiprecision::backends::i, boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isneg(), boost::accumulators::extract::max, boost::accumulators::extract::min, boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate(), and boost::phoenix::val().
Referenced by boost::multiprecision::backends::eval_convert_to().
unsigned long long boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_unsigned_long_long | ( | ) | const |
References boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare(), boost::multiprecision::backends::i, boost::accumulators::extract::max, boost::accumulators::extract::min, and boost::phoenix::val().
Referenced by boost::multiprecision::backends::eval_convert_to().
|
inlinestatic |
References boost::spirit::lex::lexertl::detail::L(), and boost::phoenix::val().
|
inlinestatic |
bool boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isint | ( | ) | const |
|
inline |
Referenced by boost::multiprecision::backends::eval_abs(), boost::multiprecision::backends::eval_ceil(), boost::multiprecision::backends::eval_fabs(), boost::multiprecision::backends::eval_floor(), boost::multiprecision::backends::eval_frexp(), boost::multiprecision::backends::eval_get_sign(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_double(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_long_double(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_signed_long_long(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator+=().
bool boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isone | ( | ) | const |
References boost::fusion::find_if(), and boost::math::isfinite().
|
inline |
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare(), boost::multiprecision::backends::eval_fpclassify(), boost::multiprecision::backends::eval_frexp(), boost::multiprecision::backends::eval_get_sign(), boost::multiprecision::backends::eval_is_zero(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::negate(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator*=(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator+=(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator/=().
|
inlinestatic |
References boost::accumulators::extract::max, and boost::phoenix::val().
|
inlinestatic |
References boost::accumulators::extract::min, and boost::phoenix::val().
|
inlinestatic |
References boost::accumulators::extract::max, and boost::phoenix::val().
|
inlinestatic |
References boost::accumulators::extract::min, and boost::phoenix::val().
|
inlinestatic |
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::mul_unsigned_long_long(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator*=(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator+=().
|
inlinestatic |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::mul_unsigned_long_long | ( | const unsigned long long | n | ) |
References boost::multiprecision::backends::carry, boost::multiprecision::backends::compare(), boost::range::copy_backward(), boost::xpressive::inf, boost::math::isinf(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::max(), boost::n, boost::multiprecision::backends::negate(), boost::polygon::operators::operator*=(), and boost::multiprecision::backends::t.
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_sqrt(), boost::multiprecision::backends::eval_ldexp(), and boost::multiprecision::backends::eval_multiply().
|
inlinestatic |
|
inline |
References boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::iszero().
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_inv(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_sqrt(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float(), boost::multiprecision::backends::eval_abs(), boost::multiprecision::backends::eval_divide(), boost::multiprecision::backends::eval_fabs(), boost::multiprecision::backends::eval_frexp(), boost::multiprecision::backends::eval_multiply(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_double(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_long_double(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_signed_long_long(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator=().
|
inlinestatic |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator*= | ( | const cpp_dec_float< Digits10, ExponentType, Allocator > & | v | ) |
References boost::multiprecision::backends::carry, boost::multiprecision::backends::compare(), boost::range::copy_backward(), boost::xpressive::inf, boost::math::isinf(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::iszero(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::max(), boost::accumulators::extract::min, boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::min(), and boost::multiprecision::backends::negate().
|
inline |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator+= | ( | const cpp_dec_float< Digits10, ExponentType, Allocator > & | v | ) |
References boost::multiprecision::backends::carry, boost::multiprecision::backends::compare(), boost::filesystem::detail::copy(), boost::range::copy_backward(), std::fill(), boost::fusion::find_if(), boost::xpressive::inf, boost::math::isinf(), boost::math::isnan(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isneg(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::iszero(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::max(), boost::multiprecision::backends::operator=(), and boost::multiprecision::backends::t.
|
inline |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator-= | ( | const cpp_dec_float< Digits10, ExponentType, Allocator > & | v | ) |
References boost::multiprecision::backends::negate().
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator/= | ( | const cpp_dec_float< Digits10, ExponentType, Allocator > & | v | ) |
References boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_inv(), boost::math::isfinite(), boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::iszero(), boost::multiprecision::backends::negate(), boost::polygon::operators::operator*=(), and boost::multiprecision::backends::t.
|
inline |
|
inline |
References boost::filesystem::detail::copy(), std::fill(), and boost::accumulators::extract::min.
|
inline |
|
inline |
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= | ( | long double | v | ) |
|
inline |
|
inline |
References boost::math::isfinite().
Referenced by boost::multiprecision::backends::eval_frexp(), and boost::multiprecision::backends::eval_ilogb().
|
static |
References boost::array< T, N >::size(), and boost::multiprecision::backends::t.
Referenced by boost::multiprecision::backends::eval_frexp(), and boost::multiprecision::backends::eval_ldexp().
|
inline |
References boost::accumulators::extract::max, and boost::accumulators::extract::min.
Referenced by boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_inv(), and boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::calculate_sqrt().
|
inline |
References boost::multiprecision::backends::i.
std::string boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::str | ( | boost::intmax_t | digits, |
std::ios_base::fmtflags | f | ||
) | const |
|
inline |
References boost::multiprecision::backends::t.
Referenced by boost::multiprecision::backends::eval_add(), and boost::multiprecision::backends::eval_subtract().
|
inline |
References boost::swap.
|
inlinestatic |
References boost::phoenix::val().
Referenced by boost::multiprecision::backends::eval_frexp().
|
inlinestatic |
References boost::accumulators::extract::max, and boost::phoenix::val().
|
inlinestatic |
References boost::phoenix::val().
Referenced by std::numeric_limits< boost::multiprecision::number< boost::multiprecision::cpp_dec_float< Digits10, ExponentType, Allocator >, ExpressionTemplates > >::denorm_min(), std::numeric_limits< boost::multiprecision::number< boost::multiprecision::cpp_dec_float< Digits10, ExponentType, Allocator >, ExpressionTemplates > >::lowest(), and std::numeric_limits< boost::multiprecision::number< boost::multiprecision::cpp_dec_float< Digits10, ExponentType, Allocator >, ExpressionTemplates > >::signaling_NaN().
|
friend |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |