52 explicit operator int64_t()
const;
53 explicit operator int32_t()
const;
54 explicit operator int16_t()
const;
55 explicit operator int8_t()
const;
56 explicit operator uint64_t()
const;
57 explicit operator uint32_t()
const;
58 explicit operator uint16_t()
const;
59 explicit operator uint8_t()
const;
60 explicit operator double()
const;
61 explicit operator float()
const;
106 throw std::overflow_error(
"INT128 is out of range");
113 if (input.
high == INT64_MIN && input.
low == 0) {
114 throw std::overflow_error(
"INT128 is out of range: cannot negate INT128_MIN");
116 input.
low = UINT64_MAX + 1 - input.
low;
226struct std::hash<
kuzu::common::int128_t> {
#define KUZU_API
Definition api.h:25
static int128_t Mul(int128_t lhs, int128_t rhs)
static int128_t LeftShift(int128_t lhs, int amount)
static bool tryCastTo(T value, int128_t &result)
static int128_t castTo(T value)
Definition int128_t.h:103
static T Cast(int128_t input)
Definition int128_t.h:93
static int128_t BinaryOr(int128_t lhs, int128_t rhs)
static int128_t negate(int128_t input)
Definition int128_t.h:120
static int128_t divMod(int128_t lhs, int128_t rhs, int128_t &remainder)
static int128_t BinaryAnd(int128_t lhs, int128_t rhs)
static int128_t Add(int128_t lhs, int128_t rhs)
static int128_t Sub(int128_t lhs, int128_t rhs)
static bool notEquals(int128_t lhs, int128_t rhs)
Definition int128_t.h:150
static std::string ToString(int128_t input)
static bool tryMultiply(int128_t lhs, int128_t rhs, int128_t &result)
static bool lessThanOrEquals(int128_t lhs, int128_t rhs)
Definition int128_t.h:166
static int128_t RightShift(int128_t lhs, int amount)
static int128_t Xor(int128_t lhs, int128_t rhs)
static bool addInPlace(int128_t &lhs, int128_t rhs)
static bool greaterThan(int128_t lhs, int128_t rhs)
Definition int128_t.h:154
static void negateInPlace(int128_t &input)
Definition int128_t.h:112
static bool tryCast(int128_t input, T &result)
static bool Equals(int128_t lhs, int128_t rhs)
Definition int128_t.h:146
static int128_t Mod(int128_t lhs, int128_t rhs)
static bool subInPlace(int128_t &lhs, int128_t rhs)
static int128_t divModPositive(int128_t lhs, uint64_t rhs, uint64_t &remainder)
static bool lessThan(int128_t lhs, int128_t rhs)
Definition int128_t.h:162
static int128_t Div(int128_t lhs, int128_t rhs)
static bool greaterThanOrEquals(int128_t lhs, int128_t rhs)
Definition int128_t.h:158
static const int128_t powerOf10[40]
Definition int128_t.h:169
static int128_t BinaryNot(int128_t val)
date_t operator+(int64_t i, const date_t date)
Definition date_t.h:48
KUZU_API bool operator>=(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator-(const int128_t &lhs, const int128_t &rhs)
KUZU_API bool operator<=(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator/(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator~(const int128_t &val)
KUZU_API bool operator!=(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator>>(const int128_t &lhs, int amount)
KUZU_API int128_t operator|(const int128_t &lhs, const int128_t &rhs)
KUZU_API bool operator<(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator*(const int128_t &lhs, const int128_t &rhs)
KUZU_API bool operator>(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator&(const int128_t &lhs, const int128_t &rhs)
KUZU_API bool operator==(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator<<(const int128_t &lhs, int amount)
KUZU_API int128_t operator%(const int128_t &lhs, const int128_t &rhs)
KUZU_API int128_t operator^(const int128_t &lhs, const int128_t &rhs)
Definition array_utils.h:7
int128_t operator-() const
int128_t & operator=(int128_t &&)=default
int128_t & operator|=(const int128_t &rhs)
constexpr int128_t(uint64_t low, int64_t high)
Definition int128_t.h:36
int128_t & operator&=(const int128_t &rhs)
uint64_t low
Definition int128_t.h:21
int128_t & operator=(const int128_t &)=default
constexpr int128_t(int128_t &&)=default
int64_t high
Definition int128_t.h:22
constexpr int128_t(const int128_t &)=default
int128_t & operator+=(const int128_t &rhs)
int128_t & operator*=(const int128_t &rhs)
std::size_t operator()(const kuzu::common::int128_t &v) const noexcept