|
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 > |
number & | assign (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e) |
|
BOOST_MP_FORCEINLINE number & | operator= (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 number & | operator= (number &&r) BOOST_NOEXCEPT |
|
number & | operator+= (const self_type &val) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator+= (const detail::expression< tag, Arg1, Arg2, Arg3, Arg4 > &e) |
|
template<class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator+= (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) |
|
number & | operator-= (const self_type &val) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator-= (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 > |
number & | operator-= (const detail::expression< detail::multiply_immediates, Arg1, Arg2, Arg3, Arg4 > &e) |
|
number & | operator*= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator*= (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) |
|
number & | operator%= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator%= (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 number & | operator++ () |
|
BOOST_MP_FORCEINLINE number & | operator-- () |
|
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 number & | operator/= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator/= (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 number & | operator&= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator&= (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 number & | operator|= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator|= (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 number & | operator^= (const self_type &e) |
|
template<class tag , class Arg1 , class Arg2 , class Arg3 , class Arg4 > |
number & | operator^= (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 |
|