FFI: Add macros for consistent number to integer truncation.

This commit is contained in:
Mike Pall 2010-11-26 13:40:40 +01:00
parent 2fd1292955
commit ef8c264873

View File

@ -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. */