#define P6LL_INIT | ( | hiInt, | |
loInt | |||
) | ((hiInt ## LL << 32) + loInt ## LL) |
P6 Long Long (i.e.
64 bit integers) Macros These only work on systems that support the Long Long type
P6LL_INIT - initialize a value in a 64 bit integer
P6LL_IS_ZERO - test for zero P6LL_EQ - test for equality P6LL_NE - test for inequality P6LL_GE_ZERO - test for zero or positive P6LL_CMP - compare two values
P6LL_AND - logical and P6LL_OR - logical or P6LL_XOR - logical exclusion P6LL_OR2 - logical OR to 64-bit integers, altering the first P6LL_NOT - negation (one's complement)
P6LL_L2I - convert to signed 32 bit P6LL_L2UI - convert to unsigned 32 bit P6LL_L2F - convert to floating point P6LL_I2L - convert signed to 64 bit P6LL_UI2L - convert unsigned to 64 bit P6LL_F2L - convert float to 64 bit
P6LL_SHL - shift left [0..64] bits P6LL_SHR - shift right [0..64] bits with sign extension P6LL_USHR - unsigned shift right [0..64] bits P6LL_ISHL - signed shift left [0..64] bits
P6LL_NEG - negation (two's complement) P6LL_ADD - summation (two's complement) P6pLL_SUB - difference (two's complement) P6LL_MUL - product (two's complement) P6LL_DIV - quotient (two's complement) P6LL_MOD - modulus (two's complement)