|
morton-arithmetic 0.1.0
Fast Morton (Z-order) codes with O(1) arithmetic
|
Fixed-width unsigned integer of. More...
#include <wide_uint.hpp>
Public Member Functions | |
| MORTON_HD constexpr | wide_uint ()=default |
| template<typename T , typename = std::enable_if_t<std::is_integral_v<T> && (sizeof(T) <= 8)>> | |
| MORTON_HD constexpr | wide_uint (T v) |
| MORTON_HD constexpr | wide_uint (unsigned __int128 v) |
| template<std::size_t W2, typename = std::enable_if_t<W2 != W>> | |
| MORTON_HD constexpr | wide_uint (const wide_uint< W2 > &o) |
| MORTON_HD constexpr | operator std::uint64_t () const |
| MORTON_HD constexpr | operator unsigned __int128 () const |
| MORTON_HD constexpr | operator bool () const |
| MORTON_HD constexpr wide_uint | operator~ () const |
| MORTON_HD constexpr wide_uint & | operator&= (const wide_uint &o) |
| MORTON_HD constexpr wide_uint & | operator|= (const wide_uint &o) |
| MORTON_HD constexpr wide_uint & | operator^= (const wide_uint &o) |
| MORTON_HD constexpr wide_uint | operator<< (unsigned s) const |
| MORTON_HD constexpr wide_uint | operator>> (unsigned s) const |
| MORTON_HD constexpr wide_uint & | operator<<= (unsigned s) |
| MORTON_HD constexpr wide_uint & | operator>>= (unsigned s) |
| MORTON_HD constexpr wide_uint & | operator++ () |
| MORTON_HD constexpr wide_uint & | operator-- () |
Public Attributes | |
| std::array< std::uint64_t, W > | w {} |
| Words, little-endian: w[0] is least significant. | |
Friends | |
| MORTON_HD constexpr wide_uint | operator& (wide_uint a, const wide_uint &b) |
| MORTON_HD constexpr wide_uint | operator| (wide_uint a, const wide_uint &b) |
| MORTON_HD constexpr wide_uint | operator^ (wide_uint a, const wide_uint &b) |
| MORTON_HD constexpr wide_uint | operator+ (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr wide_uint | operator- (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator== (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator!= (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator< (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator> (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator<= (const wide_uint &a, const wide_uint &b) |
| MORTON_HD constexpr bool | operator>= (const wide_uint &a, const wide_uint &b) |
Fixed-width unsigned integer of.
| W | 64-bit words, little-endian (w[0] least significant). Selected automatically by uint_for when Dim*Bits exceeds the largest built-in integer. |
|
constexprdefault |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
| std::array<std::uint64_t, W> morton::detail::wide_uint< W >::w {} |
Words, little-endian: w[0] is least significant.