dune-common 2.9.0
|
Portable very large unsigned integers. More...
#include <dune/common/bigunsignedint.hh>
Public Member Functions | |
bigunsignedint () | |
Construct uninitialized. | |
template<typename Signed > | |
bigunsignedint (Signed x, typename std::enable_if< std::is_integral< Signed >::value &&std::is_signed< Signed >::value >::type *=0) | |
Construct from signed int. | |
bigunsignedint (std::uintmax_t x) | |
Construct from unsigned int. | |
void | print (std::ostream &s) const |
Print number in hex notation. | |
bigunsignedint< k > | operator+ (const bigunsignedint< k > &x) const |
add | |
bigunsignedint< k > & | operator+= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator- (const bigunsignedint< k > &x) const |
subtract | |
bigunsignedint< k > & | operator-= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator* (const bigunsignedint< k > &x) const |
multiply | |
bigunsignedint< k > & | operator*= (const bigunsignedint< k > &x) |
bigunsignedint< k > & | operator++ () |
prefix increment | |
bigunsignedint< k > | operator/ (const bigunsignedint< k > &x) const |
bigunsignedint< k > & | operator/= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator% (const bigunsignedint< k > &x) const |
bigunsignedint< k > & | operator%= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator& (const bigunsignedint< k > &x) const |
bitwise and | |
bigunsignedint< k > & | operator&= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator^ (const bigunsignedint< k > &x) const |
bitwise exor | |
bigunsignedint< k > & | operator^= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator| (const bigunsignedint< k > &x) const |
bitwise or | |
bigunsignedint< k > & | operator|= (const bigunsignedint< k > &x) |
bigunsignedint< k > | operator~ () const |
bitwise complement | |
bigunsignedint< k > | operator<< (int i) const |
left shift | |
bigunsignedint< k > | operator>> (int i) const |
right shift | |
bool | operator< (const bigunsignedint< k > &x) const |
less than | |
bool | operator<= (const bigunsignedint< k > &x) const |
less than or equal | |
bool | operator> (const bigunsignedint< k > &x) const |
greater than | |
bool | operator>= (const bigunsignedint< k > &x) const |
greater or equal | |
bool | operator== (const bigunsignedint< k > &x) const |
equal | |
bool | operator!= (const bigunsignedint< k > &x) const |
not equal | |
std::uint_least32_t | touint () const |
export to other types | |
double | todouble () const |
Convert to a double. | |
Static Public Attributes | |
static constexpr int | bits = std::numeric_limits<std::uint16_t>::digits |
static constexpr int | n = k/bits+(k%bits!=0) |
static constexpr int | hexdigits = 4 |
static constexpr int | bitmask = 0xFFFF |
static constexpr int | compbitmask = 0xFFFF0000 |
static constexpr int | overflowmask = 0x1 |
Portable very large unsigned integers.
Implements (arbitrarily) large unsigned integers to be used as global ids in some grid managers. Size is a template parameter.
k | Number of bits of the integer type |
bigunsignedint< k > Dune::bigunsignedint< k >::operator% | ( | const bigunsignedint< k > & | x | ) | const |
modulo
bigunsignedint< k > Dune::bigunsignedint< k >::operator& | ( | const bigunsignedint< k > & | x | ) | const |
bitwise and
bigunsignedint< k > Dune::bigunsignedint< k >::operator* | ( | const bigunsignedint< k > & | x | ) | const |
multiply
bigunsignedint< k > Dune::bigunsignedint< k >::operator+ | ( | const bigunsignedint< k > & | x | ) | const |
add
bigunsignedint< k > Dune::bigunsignedint< k >::operator- | ( | const bigunsignedint< k > & | x | ) | const |
subtract
bigunsignedint< k > Dune::bigunsignedint< k >::operator/ | ( | const bigunsignedint< k > & | x | ) | const |
divide
bigunsignedint< k > Dune::bigunsignedint< k >::operator^ | ( | const bigunsignedint< k > & | x | ) | const |
bitwise exor
bigunsignedint< k > Dune::bigunsignedint< k >::operator| | ( | const bigunsignedint< k > & | x | ) | const |
bitwise or
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |