Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator > Class Template Reference

#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_floatoperator= (const cpp_dec_float &v)
 
template<unsigned D>
cpp_dec_floatoperator= (const cpp_dec_float< D > &f)
 
cpp_dec_floatoperator= (long long v)
 
cpp_dec_floatoperator= (unsigned long long v)
 
cpp_dec_floatoperator= (long double v)
 
cpp_dec_floatoperator= (const char *v)
 
cpp_dec_floatoperator+= (const cpp_dec_float &v)
 
cpp_dec_floatoperator-= (const cpp_dec_float &v)
 
cpp_dec_floatoperator*= (const cpp_dec_float &v)
 
cpp_dec_floatoperator/= (const cpp_dec_float &v)
 
cpp_dec_floatadd_unsigned_long_long (const unsigned long long n)
 
cpp_dec_floatsub_unsigned_long_long (const unsigned long long n)
 
cpp_dec_floatmul_unsigned_long_long (const unsigned long long n)
 
cpp_dec_floatdiv_unsigned_long_long (const unsigned long long n)
 
cpp_dec_floatcalculate_inv ()
 
cpp_dec_floatcalculate_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_floatoperator++ ()
 
cpp_dec_floatoperator-- ()
 
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_floatnan ()
 
static const cpp_dec_floatinf ()
 
static const cpp_dec_float &() max ()
 
static const cpp_dec_float &() min ()
 
static const cpp_dec_floatzero ()
 
static const cpp_dec_floatone ()
 
static const cpp_dec_floattwo ()
 
static const cpp_dec_floathalf ()
 
static const cpp_dec_floatdouble_min ()
 
static const cpp_dec_floatdouble_max ()
 
static const cpp_dec_floatlong_double_min ()
 
static const cpp_dec_floatlong_double_max ()
 
static const cpp_dec_floatlong_long_max ()
 
static const cpp_dec_floatlong_long_min ()
 
static const cpp_dec_floatulong_long_max ()
 
static const cpp_dec_floateps ()
 
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
 

Member Typedef Documentation

template<unsigned Digits10, class ExponentType, class Allocator>
typedef ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::exponent_type
template<unsigned Digits10, class ExponentType, class Allocator>
typedef mpl::list<long double> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::float_types
template<unsigned Digits10, class ExponentType, class Allocator>
typedef mpl::list<long long> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::signed_types
template<unsigned Digits10, class ExponentType, class Allocator>
typedef mpl::list<unsigned long long> boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::unsigned_types

Constructor & Destructor Documentation

template<unsigned Digits10, class ExponentType, class Allocator>
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( )
inline
template<unsigned Digits10, class ExponentType, class Allocator>
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const char *  s)
inline

References boost::asio::s.

template<unsigned Digits10, class ExponentType, class Allocator>
template<class I >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( i,
typename enable_if< is_unsigned< I > >::type = 0 
)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
template<class I >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( i,
typename enable_if< is_signed< I > >::type = 0 
)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const cpp_dec_float< Digits10, ExponentType, Allocator > &  f)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
template<unsigned D, class ET , class A >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const cpp_dec_float< D, ET, A > &  f)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
template<unsigned D, class ET , class A >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const cpp_dec_float< D, ET, A > &  f)
inlineexplicit
template<unsigned Digits10, class ExponentType, class Allocator>
template<class F >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const F  val,
typename enable_if< is_floating_point< F > >::type = 0 
)
inline

References boost::phoenix::val().

template<unsigned Digits10, class ExponentType , class Allocator >
boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float ( const double  mantissa,
const ExponentType  exponent 
)

Member Function Documentation

template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::add_unsigned_long_long ( const unsigned long long  n)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
bool isnan boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::BOOST_PREVENT_MACRO_SUBSTITUTION ( ) const
inline
template<unsigned Digits10, class ExponentType, class Allocator>
bool isinf boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::BOOST_PREVENT_MACRO_SUBSTITUTION ( ) const
inline
template<unsigned Digits10, class ExponentType, class Allocator>
bool isfinite boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::BOOST_PREVENT_MACRO_SUBSTITUTION ( ) const
inline
template<unsigned Digits10, class ExponentType, class Allocator>
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 )
template<unsigned Digits10, class ExponentType, class Allocator>
template<class V >
int boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::compare ( const V &  v) const
inline
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::double_max ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::double_min ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::eps ( )
inlinestatic
template<unsigned Digits10, class ExponentType , class Allocator >
cpp_dec_float< Digits10, ExponentType, Allocator > boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_integer_part ( ) const
template<unsigned Digits10, class ExponentType , class Allocator >
void boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::extract_parts ( double &  mantissa,
ExponentType &  exponent 
) const
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::half ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::inf ( )
inlinestatic
template<unsigned Digits10, class ExponentType , class Allocator >
bool boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isint ( ) const
template<unsigned Digits10, class ExponentType , class Allocator >
bool boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::isone ( ) const
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::long_double_max ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::long_double_min ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::long_long_max ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::long_long_min ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::nan ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator++ ( void  )
inline
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator-- ( void  )
inline
template<unsigned Digits10, class ExponentType , class Allocator >
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator-= ( const cpp_dec_float< Digits10, ExponentType, Allocator > &  v)
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( const cpp_dec_float< Digits10, ExponentType, Allocator > &  v)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
template<unsigned D>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( const cpp_dec_float< D > &  f)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( long long  v)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( unsigned long long  v)
inline
template<unsigned Digits10, class ExponentType , class Allocator >
cpp_dec_float< Digits10, ExponentType, Allocator > & boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( long double  v)
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::operator= ( const char *  v)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::order ( ) const
inline
template<unsigned Digits10, class ExponentType , class Allocator >
cpp_dec_float< Digits10, ExponentType, Allocator > boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::pow2 ( long long  i)
static
template<unsigned Digits10, class ExponentType, class Allocator>
template<class Archive >
void boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::serialize ( Archive &  ar,
const unsigned  int 
)
inline
template<unsigned Digits10, class ExponentType , class Allocator >
std::string boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::str ( boost::intmax_t  digits,
std::ios_base::fmtflags  f 
) const
template<unsigned Digits10, class ExponentType, class Allocator>
cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::sub_unsigned_long_long ( const unsigned long long  n)
inline
template<unsigned Digits10, class ExponentType, class Allocator>
void boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::swap ( cpp_dec_float< Digits10, ExponentType, Allocator > &  v)
inline

References boost::swap.

template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::two ( )
inlinestatic
template<unsigned Digits10, class ExponentType, class Allocator>
static const cpp_dec_float& boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::ulong_long_max ( )
inlinestatic

Friends And Related Function Documentation

template<unsigned Digits10, class ExponentType, class Allocator>
template<unsigned D, class ET , class A >
friend class cpp_dec_float
friend

Member Data Documentation

template<unsigned Digits10, class ExponentType, class Allocator>
const boost::int32_t boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::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
template<unsigned Digits10, class ExponentType, class Allocator>
const boost::int32_t boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_digits10_limit_hi = boost::integer_traits<boost::int32_t>::const_max - 100
static
template<unsigned Digits10, class ExponentType, class Allocator>
const boost::int32_t boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_digits10_limit_lo = 9L
static
template<unsigned Digits10, class ExponentType, class Allocator>
const ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_max_exp = cpp_dec_float_max_exp10
static
template<unsigned Digits10, class ExponentType, class Allocator>
const ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_max_exp10 = (static_cast<ExponentType>(1) << (std::numeric_limits<ExponentType>::digits - 5))
static
template<unsigned Digits10, class ExponentType, class Allocator>
const ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_min_exp = cpp_dec_float_min_exp10
static
template<unsigned Digits10, class ExponentType, class Allocator>
const ExponentType boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_min_exp10 = -cpp_dec_float_max_exp10
static
template<unsigned Digits10, class ExponentType, class Allocator>
const boost::int32_t boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_radix = 10L
static
template<unsigned Digits10, class ExponentType, class Allocator>
const boost::int32_t boost::multiprecision::backends::cpp_dec_float< Digits10, ExponentType, Allocator >::cpp_dec_float_total_digits10 = static_cast<boost::int32_t>(cpp_dec_float_elem_number * cpp_dec_float_elem_digits10)
static

The documentation for this class was generated from the following file: