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_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false > Struct Template Reference

#include <cpp_int.hpp>

Public Types

typedef limb_typelimb_pointer
 
typedef const limb_typeconst_limb_pointer
 
typedef mpl::int_< Checked > checked_type
 

Public Member Functions

 BOOST_STATIC_ASSERT_MSG (MinBits > sizeof(double_limb_type)*CHAR_BIT,"Template parameter MinBits is inconsistent with the parameter trivial - did you mistakingly try to override the trivial parameter?")
 
 BOOST_STATIC_CONSTANT (unsigned, limb_bits=sizeof(limb_type)*CHAR_BIT)
 
 BOOST_STATIC_CONSTANT (limb_type, max_limb_value=~static_cast< limb_type >(0u))
 
 BOOST_STATIC_CONSTANT (limb_type, sign_bit_mask=1u<< (limb_bits-1))
 
 BOOST_STATIC_CONSTANT (unsigned, internal_limb_count=MinBits/limb_bits+(MinBits%limb_bits?1:0))
 
 BOOST_STATIC_CONSTANT (bool, variable=false)
 
 BOOST_STATIC_CONSTANT (limb_type, upper_limb_mask=MinBits%limb_bits?(limb_type(1)<< (MinBits%limb_bits))-1:(~limb_type(0)))
 
 BOOST_STATIC_ASSERT_MSG (internal_limb_count >=2,"A fixed precision integer type must have at least 2 limbs")
 
BOOST_MP_FORCEINLINE
BOOST_CONSTEXPR 
cpp_int_base (limb_type i) BOOST_NOEXCEPT
 

Member Typedef Documentation

template<unsigned MinBits, cpp_int_check_type Checked>
typedef mpl::int_<Checked> boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::checked_type
template<unsigned MinBits, cpp_int_check_type Checked>
typedef const limb_type* boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::const_limb_pointer
template<unsigned MinBits, cpp_int_check_type Checked>
typedef limb_type* boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::limb_pointer

Constructor & Destructor Documentation

template<unsigned MinBits, cpp_int_check_type Checked>
BOOST_MP_FORCEINLINE BOOST_CONSTEXPR boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::cpp_int_base ( limb_type  i)
inline

Member Function Documentation

template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_ASSERT_MSG ( MinBits  ,
sizeof(double_limb_type)*  CHAR_BIT,
"Template parameter MinBits is inconsistent with the parameter trivial - did you mistakingly try to override the trivial parameter?"   
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_ASSERT_MSG ( internal_limb_count >=  2,
"A fixed precision integer type must have at least 2 limbs  
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( unsigned  ,
limb_bits  = sizeof(limb_type)*CHAR_BIT 
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( limb_type  ,
max_limb_value  = ~static_cast< limb_type >(0u) 
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( limb_type  ,
sign_bit_mask  = 1u<< (limb_bits-1) 
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( unsigned  ,
internal_limb_count  = MinBits/limb_bits+(MinBits%limb_bits?1:0) 
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( bool  ,
variable  = false 
)
template<unsigned MinBits, cpp_int_check_type Checked>
boost::multiprecision::backends::cpp_int_base< MinBits, MinBits, unsigned_magnitude, Checked, void, false >::BOOST_STATIC_CONSTANT ( limb_type  ,
upper_limb_mask  = MinBits%limb_bits?(limb_type(1)<< (MinBits%limb_bits))-1:(~limb_type(0)) 
)

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