hops
|
#include <pcg_uint128.hpp>
Public Types | |
typedef std::conditional< std::is_same< uint64_t, unsigned long >::value, unsigned long long, unsigned long >::type | uint_missing_t |
Public Member Functions | |
uint_x4 ()=default | |
constexpr | uint_x4 (UInt v3, UInt v2, UInt v1, UInt v0) |
constexpr | uint_x4 (UIntX2 v23, UIntX2 v01) |
template<class Integral , typename std::enable_if<(std::is_integral< Integral >::value &&sizeof(Integral)<=sizeof(UIntX2)) >::type * = nullptr> | |
constexpr | uint_x4 (Integral v01) |
constexpr | operator uint64_t () const |
constexpr | operator uint32_t () const |
constexpr | operator int () const |
constexpr | operator uint16_t () const |
constexpr | operator uint8_t () const |
constexpr | operator uint_missing_t () const |
constexpr | operator bool () const |
uint_x4 & | operator*= (const uint_x4 &rhs) |
uint_x4 & | operator/= (const uint_x4 &rhs) |
uint_x4 & | operator%= (const uint_x4 &rhs) |
uint_x4 & | operator+= (const uint_x4 &rhs) |
uint_x4 & | operator-= (const uint_x4 &rhs) |
uint_x4 & | operator&= (const uint_x4 &rhs) |
uint_x4 & | operator|= (const uint_x4 &rhs) |
uint_x4 & | operator^= (const uint_x4 &rhs) |
uint_x4 & | operator>>= (bitcount_t shift) |
uint_x4 & | operator<<= (bitcount_t shift) |
Public Attributes | |
union { | |
struct { | |
UInt v3 | |
UInt v2 | |
UInt v1 | |
UInt v0 | |
} w | |
struct { | |
UIntX2 v23 | |
UIntX2 v01 | |
} d | |
UInt wa [4] | |
UIntX2 da [2] | |
}; | |
Friends | |
template<typename U , typename V > | |
uint_x4< U, V > | operator* (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
std::pair< uint_x4< U, V >, uint_x4< U, V > > | divmod (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator+ (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator- (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator<< (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator>> (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator& (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator| (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator^ (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator== (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator!= (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator< (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator<= (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator> (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
bool | operator>= (const uint_x4< U, V > &, const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator~ (const uint_x4< U, V > &) |
template<typename U , typename V > | |
uint_x4< U, V > | operator- (const uint_x4< U, V > &) |
template<typename U , typename V > | |
bitcount_t | flog2 (const uint_x4< U, V > &) |
template<typename U , typename V > | |
bitcount_t | trailingzeros (const uint_x4< U, V > &) |
typedef std::conditional<std::is_same<uint64_t, unsigned long>::value, unsigned long long, unsigned long>::type pcg_extras::uint_x4< UInt, UIntX2 >::uint_missing_t |
|
default |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inlineexplicitconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
|
friend |
union { ... } |
struct { ... } pcg_extras::uint_x4< UInt, UIntX2 >::d |
UIntX2 pcg_extras::uint_x4< UInt, UIntX2 >::da[2] |
UInt pcg_extras::uint_x4< UInt, UIntX2 >::v0 |
UIntX2 pcg_extras::uint_x4< UInt, UIntX2 >::v01 |
UInt pcg_extras::uint_x4< UInt, UIntX2 >::v1 |
UInt pcg_extras::uint_x4< UInt, UIntX2 >::v2 |
UIntX2 pcg_extras::uint_x4< UInt, UIntX2 >::v23 |
UInt pcg_extras::uint_x4< UInt, UIntX2 >::v3 |
struct { ... } pcg_extras::uint_x4< UInt, UIntX2 >::w |
UInt pcg_extras::uint_x4< UInt, UIntX2 >::wa[4] |