Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::multiprecision::number< Backend, ExpressionTemplates > Class Template Reference

#include <number.hpp>

Public Types

typedef Backend backend_type
 

Public Member Functions

BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number () BOOST_NOEXCEPT_IF(noexcept(Backend()))
 
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (const number &e) BOOST_NOEXCEPT_IF(noexcept(Backend(static_cast< const Backend & >(std::declval< Backend >()))))
 
template<class V >
BOOST_MP_FORCEINLINE number (const V &v, typename boost::enable_if_c< (boost::is_arithmetic< V >::value||is_same< std::string, V >::value||is_convertible< V, const char * >::value)&&!is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&!detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type *=0)
 
template<class V >
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (const V &v, typename boost::enable_if_c< is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&!detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type *=0)
 
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (const number &e, unsigned digits10)
 
template<class V >
BOOST_MP_FORCEINLINE number (const V &v, typename boost::enable_if_c< (boost::is_arithmetic< V >::value||is_same< std::string, V >::value||is_convertible< V, const char * >::value)&&!detail::is_explicitly_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type *=0)
 
template<class V >
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (const V &v, typename boost::enable_if_c< detail::is_explicitly_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&(detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value||!is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value) >::type *=0)
 
template<expression_template_option ET>
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (const number< Backend, ET > &val) BOOST_NOEXCEPT_IF(noexcept(Backend(static_cast< const Backend & >(std::declval< Backend >()))))
 
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE number (const number< Other, ET > &val, typename boost::enable_if_c<(boost::is_convertible< Other, Backend >::value &&!detail::is_restricted_conversion< Other, Backend >::value)>::type *=0) BOOST_NOEXCEPT_IF(noexcept(Backend(static_cast< const Other & >(std::declval< Other >()))))
 
template<class Other , expression_template_option ET>
 number (const number< Other, ET > &val, typename boost::enable_if_c< (!detail::is_explicitly_convertible< Other, Backend >::value) >::type *=0)
 
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE number (const number< Other, ET > &val, typename boost::enable_if_c< (detail::is_explicitly_convertible< Other, Backend >::value &&(detail::is_restricted_conversion< Other, Backend >::value||!boost::is_convertible< Other, Backend >::value)) >::type *=0) BOOST_NOEXCEPT_IF(noexcept(Backend(static_cast< const Other & >(std::declval< Other >()))))
 
template<class V >
BOOST_MP_FORCEINLINE number (V v1, V v2, typename boost::enable_if< mpl::or_< boost::is_arithmetic< V >, is_same< std::string, V >, is_convertible< V, const char * > > >::type *=0)
 
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE number (const number< Other, ET > &v1, const number< Other, ET > &v2, typename boost::enable_if< boost::is_convertible< Other, Backend > >::type *=0)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
boost::enable_if
< is_convertible< typename
detail::expression< tag, Arg1,
Arg2, Arg3, Arg4 >
::result_type, self_type >
, number & >::type 
operator= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberassign (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
BOOST_MP_FORCEINLINE numberoperator= (const number &e) BOOST_NOEXCEPT_IF(noexcept(std::declval< Backend >()=static_cast< const Backend & >(std::declval< Backend >())))
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< is_convertible< V, self_type >
, number< Backend,
ExpressionTemplates >
& >::type 
operator= (const V &v) BOOST_NOEXCEPT_IF(noexcept(std::declval< Backend >()=static_cast< typename boost::multiprecision::detail::canonical< V, Backend >::type const & >(std::declval< typename boost::multiprecision::detail::canonical< V, Backend >::type >())))
 
template<class V >
BOOST_MP_FORCEINLINE number
< Backend, ExpressionTemplates > & 
assign (const V &v) BOOST_NOEXCEPT_IF(noexcept(std::declval< Backend >()=static_cast< typename boost::multiprecision::detail::canonical< V, Backend >::type const & >(std::declval< typename boost::multiprecision::detail::canonical< V, Backend >::type >())))
 
template<class Other , expression_template_option ET>
boost::disable_if
< boost::multiprecision::detail::is_explicitly_convertible
< Other, Backend >, number
< Backend, ExpressionTemplates >
& >::type 
assign (const number< Other, ET > &v)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
 number (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e, typename boost::enable_if_c< is_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value >::type *=0)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
 number (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e, typename boost::enable_if_c<!is_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value &&boost::multiprecision::detail::is_explicitly_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value >::type *=0)
 
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
number (number &&r) BOOST_NOEXCEPT_IF(noexcept(Backend(std::declval< Backend >())))
 
BOOST_MP_FORCEINLINE numberoperator= (number &&r) BOOST_NOEXCEPT
 
numberoperator+= (const self_type &val)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator+= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator+= (const detail::expression< detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator+= (const V &v)
 
numberoperator-= (const self_type &val)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator-= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator-= (const V &v)
 
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator-= (const detail::expression< detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4 > &e)
 
numberoperator*= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator*= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator*= (const V &v)
 
numberoperator%= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator%= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator%= (const V &v)
 
BOOST_MP_FORCEINLINE numberoperator++ ()
 
BOOST_MP_FORCEINLINE numberoperator-- ()
 
number operator++ (int)
 
number operator-- (int)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if< is_integral
< V >, number & >::type 
operator<<= (V val)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if< is_integral
< V >, number & >::type 
operator>>= (V val)
 
BOOST_MP_FORCEINLINE numberoperator/= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator/= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator/= (const V &v)
 
BOOST_MP_FORCEINLINE numberoperator&= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator&= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator&= (const V &v)
 
BOOST_MP_FORCEINLINE numberoperator|= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator|= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator|= (const V &v)
 
BOOST_MP_FORCEINLINE numberoperator^= (const self_type &e)
 
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
numberoperator^= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e)
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< boost::is_convertible< V,
self_type >, number< Backend,
ExpressionTemplates >
& >::type 
operator^= (const V &v)
 
BOOST_MP_FORCEINLINE void swap (self_type &other) BOOST_NOEXCEPT
 
BOOST_MP_FORCEINLINE bool is_zero () const
 
BOOST_MP_FORCEINLINE int sign () const
 
std::string str (std::streamsize digits=0, std::ios_base::fmtflags f=std::ios_base::fmtflags(0)) const
 
template<class Archive >
void serialize (Archive &ar, const unsigned int)
 
template<class T >
T convert_to () const
 
template<class T >
 operator T () const
 
BOOST_MP_FORCEINLINE operator bool () const
 
 operator void () const
 
unsigned precision () const BOOST_NOEXCEPT
 
void precision (unsigned digits10)
 
BOOST_MP_FORCEINLINE int compare (const number< Backend, ExpressionTemplates > &o) const BOOST_NOEXCEPT_IF(noexcept(std::declval< Backend >().compare(std::declval< Backend >())))
 
template<class V >
BOOST_MP_FORCEINLINE
boost::enable_if
< is_arithmetic< V >, int >
::type 
compare (const V &o) const
 
BOOST_MP_FORCEINLINE Backend & backend () BOOST_NOEXCEPT
 
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR const Backend & 
backend () const BOOST_NOEXCEPT
 

Static Public Member Functions

static unsigned default_precision () BOOST_NOEXCEPT
 
static void default_precision (unsigned digits10)
 
static BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR const Backend & 
canonical_value (const self_type &v) BOOST_NOEXCEPT
 
template<class B2 , expression_template_option ET>
static BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR const B2 & 
canonical_value (const number< B2, ET > &v) BOOST_NOEXCEPT
 
template<class V >
static BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR
boost::disable_if< is_same
< typename detail::canonical
< V, Backend >::type, V >
, typename detail::canonical
< V, Backend >::type >::type 
canonical_value (const V &v) BOOST_NOEXCEPT
 
template<class V >
static BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR
boost::enable_if< is_same
< typename detail::canonical
< V, Backend >::type, V >
, const V & >::type 
canonical_value (const V &v) BOOST_NOEXCEPT
 
static BOOST_MP_FORCEINLINE
detail::canonical< std::string,
Backend >::type 
canonical_value (const std::string &v) BOOST_NOEXCEPT
 

Member Typedef Documentation

template<class Backend, expression_template_option ExpressionTemplates>
typedef Backend boost::multiprecision::number< Backend, ExpressionTemplates >::backend_type

Constructor & Destructor Documentation

template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( )
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Backend, ExpressionTemplates > &  e)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const V &  v,
typename boost::enable_if_c< (boost::is_arithmetic< V >::value||is_same< std::string, V >::value||is_convertible< V, const char * >::value)&&!is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&!detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type = 0 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const V &  v,
typename boost::enable_if_c< is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&!detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type = 0 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Backend, ExpressionTemplates > &  e,
unsigned  digits10 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const V &  v,
typename boost::enable_if_c< (boost::is_arithmetic< V >::value||is_same< std::string, V >::value||is_convertible< V, const char * >::value)&&!detail::is_explicitly_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value >::type = 0 
)
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const V &  v,
typename boost::enable_if_c< detail::is_explicitly_convertible< typename detail::canonical< V, Backend >::type, Backend >::value &&(detail::is_restricted_conversion< typename detail::canonical< V, Backend >::type, Backend >::value||!is_convertible< typename detail::canonical< V, Backend >::type, Backend >::value) >::type = 0 
)
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
template<expression_template_option ET>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Backend, ET > &  val)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Other, ET > &  val,
typename boost::enable_if_c<(boost::is_convertible< Other, Backend >::value &&!detail::is_restricted_conversion< Other, Backend >::value)>::type = 0 
)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class Other , expression_template_option ET>
boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Other, ET > &  val,
typename boost::enable_if_c< (!detail::is_explicitly_convertible< Other, Backend >::value) >::type = 0 
)
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Other, ET > &  val,
typename boost::enable_if_c< (detail::is_explicitly_convertible< Other, Backend >::value &&(detail::is_restricted_conversion< Other, Backend >::value||!boost::is_convertible< Other, Backend >::value)) >::type = 0 
)
inlineexplicitnoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( v1,
v2,
typename boost::enable_if< mpl::or_< boost::is_arithmetic< V >, is_same< std::string, V >, is_convertible< V, const char * > > >::type = 0 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class Other , expression_template_option ET>
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const number< Other, ET > &  v1,
const number< Other, ET > &  v2,
typename boost::enable_if< boost::is_convertible< Other, Backend > >::type = 0 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e,
typename boost::enable_if_c< is_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value >::type = 0 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
boost::multiprecision::number< Backend, ExpressionTemplates >::number ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e,
typename boost::enable_if_c<!is_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value &&boost::multiprecision::detail::is_explicitly_convertible< typename detail::expression< tag, Arg1, Arg2, Arg3, Arg4 >::result_type, self_type >::value >::type = 0 
)
inlineexplicit

References boost::assign().

template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::number< Backend, ExpressionTemplates >::number ( number< Backend, ExpressionTemplates > &&  r)
inlinenoexcept

Member Function Documentation

template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::assign ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE number<Backend, ExpressionTemplates>& boost::multiprecision::number< Backend, ExpressionTemplates >::assign ( const V &  v)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class Other , expression_template_option ET>
boost::disable_if<boost::multiprecision::detail::is_explicitly_convertible<Other, Backend>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::assign ( const number< Other, ET > &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE Backend& boost::multiprecision::number< Backend, ExpressionTemplates >::backend ( )
inline

Referenced by boost::multiprecision::number< Backend, ExpressionTemplates >::assign(), boost::multiprecision::backends::assign_components(), boost::multiprecision::denominator(), boost::math::constants::detail::constant_pi< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_ln_two< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_euler< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_catalan< boost::multiprecision::number< boost::multiprecision::mpfi_float_backend< Digits10 >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_pi< boost::multiprecision::number< boost::multiprecision::mpfr_float_backend< Digits10, AllocateType >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_ln_two< boost::multiprecision::number< boost::multiprecision::mpfr_float_backend< Digits10, AllocateType >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_euler< boost::multiprecision::number< boost::multiprecision::mpfr_float_backend< Digits10, AllocateType >, ExpressionTemplates > >::get(), boost::math::constants::detail::constant_catalan< boost::multiprecision::number< boost::multiprecision::mpfr_float_backend< Digits10, AllocateType >, ExpressionTemplates > >::get(), boost::multiprecision::hull(), boost::multiprecision::intersect(), boost::multiprecision::lower(), boost::multiprecision::median(), boost::multiprecision::number< Backend, ExpressionTemplates >::number(), boost::multiprecision::numerator(), boost::multiprecision::backends::cpp_bin_float< Digits, DigitBase, Allocator, Exponent, MinExponent, MaxExponent >::operator=(), boost::multiprecision::cpp_bf_io_detail::restricted_multiply(), boost::multiprecision::upper(), and boost::multiprecision::width().

template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const Backend& boost::multiprecision::number< Backend, ExpressionTemplates >::backend ( ) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
static BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const Backend& boost::multiprecision::number< Backend, ExpressionTemplates >::canonical_value ( const self_type v)
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
template<class B2 , expression_template_option ET>
static BOOST_MP_FORCEINLINE BOOST_CONSTEXPR const B2& boost::multiprecision::number< Backend, ExpressionTemplates >::canonical_value ( const number< B2, ET > &  v)
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
static BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::disable_if<is_same<typename detail::canonical<V, Backend>::type, V>, typename detail::canonical<V, Backend>::type>::type boost::multiprecision::number< Backend, ExpressionTemplates >::canonical_value ( const V &  v)
inlinestatic

References boost::detail::type.

template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
static BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::enable_if<is_same<typename detail::canonical<V, Backend>::type, V>, const V&>::type boost::multiprecision::number< Backend, ExpressionTemplates >::canonical_value ( const V &  v)
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
static BOOST_MP_FORCEINLINE detail::canonical<std::string, Backend>::type boost::multiprecision::number< Backend, ExpressionTemplates >::canonical_value ( const std::string &  v)
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE int boost::multiprecision::number< Backend, ExpressionTemplates >::compare ( const number< Backend, ExpressionTemplates > &  o) const
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<is_arithmetic<V>, int>::type boost::multiprecision::number< Backend, ExpressionTemplates >::compare ( const V &  o) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class T >
T boost::multiprecision::number< Backend, ExpressionTemplates >::convert_to ( ) const
inline

References T.

template<class Backend, expression_template_option ExpressionTemplates>
static unsigned boost::multiprecision::number< Backend, ExpressionTemplates >::default_precision ( )
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
static void boost::multiprecision::number< Backend, ExpressionTemplates >::default_precision ( unsigned  digits10)
inlinestatic
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE bool boost::multiprecision::number< Backend, ExpressionTemplates >::is_zero ( ) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE boost::multiprecision::number< Backend, ExpressionTemplates >::operator bool ( ) const
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
template<class T >
boost::multiprecision::number< Backend, ExpressionTemplates >::operator T ( ) const
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
boost::multiprecision::number< Backend, ExpressionTemplates >::operator void ( ) const
inlineexplicit
template<class Backend, expression_template_option ExpressionTemplates>
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator%= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator%= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator%= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator&= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator&= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator&= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator*= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator*= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator*= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator++ ( void  )
inline
template<class Backend, expression_template_option ExpressionTemplates>
number boost::multiprecision::number< Backend, ExpressionTemplates >::operator++ ( int  )
inline
template<class Backend, expression_template_option ExpressionTemplates>
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator+= ( const self_type val)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator+= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator+= ( const detail::expression< detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator+= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator-- ( void  )
inline
template<class Backend, expression_template_option ExpressionTemplates>
number boost::multiprecision::number< Backend, ExpressionTemplates >::operator-- ( int  )
inline
template<class Backend, expression_template_option ExpressionTemplates>
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator-= ( const self_type val)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator-= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator-= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator-= ( const detail::expression< detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator/= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator/= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator/= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<is_integral<V>, number&>::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator<<= ( val)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
boost::enable_if<is_convertible<typename detail::expression<tag, Arg1, Arg2, Arg3, Arg4>::result_type, self_type>, number&>::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator= ( const number< Backend, ExpressionTemplates > &  e)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator= ( const V &  v)
inlinenoexcept
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator= ( number< Backend, ExpressionTemplates > &&  r)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<is_integral<V>, number&>::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator>>= ( val)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator^= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator^= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator^= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator|= ( const self_type e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 >
number& boost::multiprecision::number< Backend, ExpressionTemplates >::operator|= ( const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &  e)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class V >
BOOST_MP_FORCEINLINE boost::enable_if<boost::is_convertible<V, self_type>, number<Backend, ExpressionTemplates>& >::type boost::multiprecision::number< Backend, ExpressionTemplates >::operator|= ( const V &  v)
inline
template<class Backend, expression_template_option ExpressionTemplates>
unsigned boost::multiprecision::number< Backend, ExpressionTemplates >::precision ( ) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
void boost::multiprecision::number< Backend, ExpressionTemplates >::precision ( unsigned  digits10)
inline
template<class Backend, expression_template_option ExpressionTemplates>
template<class Archive >
void boost::multiprecision::number< Backend, ExpressionTemplates >::serialize ( Archive &  ar,
const unsigned  int 
)
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE int boost::multiprecision::number< Backend, ExpressionTemplates >::sign ( ) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
std::string boost::multiprecision::number< Backend, ExpressionTemplates >::str ( std::streamsize  digits = 0,
std::ios_base::fmtflags  f = std::ios_base::fmtflags(0) 
) const
inline
template<class Backend, expression_template_option ExpressionTemplates>
BOOST_MP_FORCEINLINE void boost::multiprecision::number< Backend, ExpressionTemplates >::swap ( self_type other)
inline

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