From: Mike Pall Date: Fri, 26 Nov 2010 12:40:40 +0000 (+0100) Subject: FFI: Add macros for consistent number to integer truncation. X-Git-Tag: v2.0.0-beta6~206 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=ef8c2648;p=thirdparty%2FLuaJIT.git FFI: Add macros for consistent number to integer truncation. --- diff --git a/src/lj_obj.h b/src/lj_obj.h index 83e30b6e..b417dce7 100644 --- a/src/lj_obj.h +++ b/src/lj_obj.h @@ -761,6 +761,13 @@ static LJ_AINLINE int32_t lj_num2bit(lua_Number n) #define lj_num2int(n) ((int32_t)(n)) #endif +/* Truncate towards zero. */ +#define lj_trnum2int32(n) ((int32_t)(n)) +#define lj_trnum2uint32(n) ((uint32_t)(n)) +#define lj_trnum2int64(n) ((int64_t)(n)) +#define lj_trnum2uint64(n) \ + ((uint64_t)(int64_t)((n)- 9223372036854775808.0) + U64x(80000000,00000000)) + /* -- Miscellaneous object handling --------------------------------------- */ /* Names and maps for internal and external object tags. */