24#ifndef USE_NATIVE_INT128
26#define USE_NATIVE_INT128 1
28#define USE_NATIVE_INT128 0
64 *i128 += (int128) x * (int128) y;
109#ifdef WORDS_BIGENDIAN
170#define INT64_AU32(i64) ((i64) >> 32)
171#define INT64_AL32(i64) ((i64) & UINT64CONST(0xFFFFFFFF))
181 "arithmetic right shift is needed");
202 if (x != 0 && y != 0)
211 i128->
hi += x_u32 * y_u32;
#define INT64CONST(x)
Definition: c.h:469
#define StaticAssertStmt(condition, errmessage)
Definition: c.h:918
#define INT64_AU32(i64)
Definition: int128.h:170
static void int128_add_uint64(INT128 *i128, uint64 v)
Definition: int128.h:122
static int int128_compare(INT128 x, INT128 y)
Definition: int128.h:238
static INT128 int64_to_int128(int64 v)
Definition: int128.h:255
static void int128_add_int64(INT128 *i128, int64 v)
Definition: int128.h:143
static int64 int128_to_int64(INT128 val)
Definition: int128.h:269
#define INT64_AL32(i64)
Definition: int128.h:171
static void int128_add_int64_mul_int64(INT128 *i128, int64 x, int64 y)
Definition: int128.h:177
unsigned long int uint64
Definition: pg_ext_defs.in.h:14
long int int64
Definition: pg_ext_defs.in.h:9
uint64 lo
Definition: int128.h:113
int64 hi
Definition: int128.h:114