From d630daca1a3dad6357226fdc6472692fa7e4b5c0 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 27 May 2013 09:43:37 -0300 Subject: "legal" way to convert a float to an integer in C --- llimits.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'llimits.h') diff --git a/llimits.h b/llimits.h index e15c1fd5..04405019 100644 --- a/llimits.h +++ b/llimits.h @@ -1,5 +1,5 @@ /* -** $Id: llimits.h,v 1.104 2013/04/25 21:15:37 roberto Exp roberto $ +** $Id: llimits.h,v 1.105 2013/05/23 21:27:06 roberto Exp roberto $ ** Limits, basic types, and some other `installation-dependent' definitions ** See Copyright Notice in lua.h */ @@ -36,6 +36,12 @@ typedef unsigned char lu_byte; #define MAX_INT (INT_MAX-2) /* maximum value of an int (-2 for safety) */ + +/* minimum and maximum values for lua_Integer */ +#define MAX_INTEGER ((lua_Integer)(~(lua_Unsigned)0 >> 1)) +#define MIN_INTEGER (~MAX_INTEGER) + + /* ** conversion of pointer to integer ** this is for hashing only; there is no problem if the integer -- cgit v1.2.3-55-g6feb