|
dune-common 2.12-git
|
Loading...
Searching...
No Matches
Portable very large unsigned integers. More...
#include <dune/common/bigunsignedint.hh>
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 |
Friends | |
| class | bigunsignedint< k/2 > |
| struct | MPITraits< bigunsignedint< k > > |
| int | bit_width (const bigunsignedint &arg) |
| Bit width. | |
| int | countl_zero (const bigunsignedint &arg) |
| Count left zero bits. | |
| std::size_t | hash_value (const bigunsignedint &arg) |
Detailed Description
template<int k>
class Dune::bigunsignedint< k >
class Dune::bigunsignedint< k >
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.
- Template Parameters
-
k Number of bits of the integer type
Member Function Documentation
◆ operator%()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator% | ( | const bigunsignedint< k > & | x | ) | const |
modulo
- Warning
- This function is very slow and its usage should be prevented if possible
◆ operator&()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator& | ( | const bigunsignedint< k > & | x | ) | const |
bitwise and
◆ operator*()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator* | ( | const bigunsignedint< k > & | x | ) | const |
multiply
◆ operator+()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator+ | ( | const bigunsignedint< k > & | x | ) | const |
add
◆ operator-()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator- | ( | const bigunsignedint< k > & | x | ) | const |
subtract
◆ operator/()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator/ | ( | const bigunsignedint< k > & | x | ) | const |
divide
- Warning
- This function is very slow and its usage should be prevented if possible
◆ operator^()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator^ | ( | const bigunsignedint< k > & | x | ) | const |
bitwise exor
◆ operator|()
template<int k>
| bigunsignedint< k > Dune::bigunsignedint< k >::operator| | ( | const bigunsignedint< k > & | x | ) | const |
bitwise or
Friends And Related Symbol Documentation
◆ bigunsignedint< k/2 >
template<int k>
|
friend |
◆ bit_width
template<int k>
|
friend |
Bit width.
If x is not zero, calculates the number of bits needed to store the value arg
◆ countl_zero
template<int k>
|
friend |
Count left zero bits.
The number of consecutive 0 bits in the value of arg, starting from the most significant bit
◆ hash_value
template<int k>
|
friend |
◆ MPITraits< bigunsignedint< k > >
template<int k>
|
friend |
Member Data Documentation
◆ bitmask
template<int k>
|
staticconstexpr |
◆ bits
template<int k>
|
staticconstexpr |
◆ compbitmask
template<int k>
|
staticconstexpr |
◆ hexdigits
template<int k>
|
staticconstexpr |
◆ n
◆ overflowmask
template<int k>
|
staticconstexpr |
The documentation for this class was generated from the following file:
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8