Struct uint128_t

Struct Documentation

struct uint128_t

Public Functions

constexpr uint128_t() = default
inline constexpr uint128_t(uint64_t lo, uint64_t hi = 0)
inline explicit constexpr operator bool() const
template<typename T, typename = std::enable_if_t<std::is_integral_v<T>>>
inline explicit constexpr operator T() const
inline constexpr uint128_t operator~() const
inline constexpr uint128_t operator-() const
inline constexpr uint128_t &operator--()
inline constexpr uint128_t &operator++()
inline constexpr uint128_t &operator+=(const uint128_t y)
inline constexpr uint128_t &operator-=(const uint128_t y)
inline constexpr uint128_t &operator*=(const uint128_t y)
inline constexpr uint128_t &operator<<=(const uint128_t y)
inline constexpr uint128_t &operator>>=(const uint128_t y)
inline constexpr uint128_t &operator|=(const uint128_t y)
inline constexpr uint128_t &operator&=(const uint128_t y)
inline constexpr uint128_t &operator%=(const uint128_t y)
inline constexpr uint128_t &operator/=(const uint128_t y)

Public Members

uint64_t lo
uint64_t hi

Public Static Functions

static inline constexpr uint128_t umul64_64_128(const uint64_t x, const uint64_t y)

Friends

inline friend constexpr uint128_t operator&(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator|(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator<<(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator>>(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator+(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator-(uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator*(const uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator/(const uint128_t x, const uint128_t y)
inline friend constexpr uint128_t operator%(const uint128_t x, const uint128_t y)
inline friend constexpr bool operator==(const uint128_t x, const uint128_t y)
inline friend constexpr bool operator<(const uint128_t x, const uint128_t y)
inline friend constexpr auto __bit_width(const uint128_t x)
inline friend constexpr auto __countr_zero(const uint128_t x)
inline friend constexpr bool operator!=(const uint128_t x, const uint128_t y)
inline friend constexpr bool operator>(const uint128_t x, const uint128_t y)
inline friend constexpr bool operator>=(const uint128_t x, const uint128_t y)