diff options
| -rw-r--r-- | ltable.c | 16 |
1 files changed, 8 insertions, 8 deletions
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | ** $Id: ltable.c,v 2.84 2014/01/27 13:34:32 roberto Exp roberto $ | 2 | ** $Id: ltable.c,v 2.85 2014/04/01 14:39:55 roberto Exp roberto $ |
| 3 | ** Lua tables (hash) | 3 | ** Lua tables (hash) |
| 4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
| 5 | */ | 5 | */ |
| @@ -21,6 +21,7 @@ | |||
| 21 | #include <float.h> | 21 | #include <float.h> |
| 22 | #include <math.h> | 22 | #include <math.h> |
| 23 | #include <string.h> | 23 | #include <string.h> |
| 24 | #include <limits.h> | ||
| 24 | 25 | ||
| 25 | #define ltable_c | 26 | #define ltable_c |
| 26 | #define LUA_CORE | 27 | #define LUA_CORE |
| @@ -39,14 +40,13 @@ | |||
| 39 | 40 | ||
| 40 | 41 | ||
| 41 | /* | 42 | /* |
| 42 | ** max size of array part is 2^MAXBITS | 43 | ** Maximum size of array part (MAXASIZE) is 2^MAXBITS. (SIZEINT is the |
| 44 | ** minimum between size of int and size of LUA_INTEGER; array indices | ||
| 45 | ** are limited by both types.) | ||
| 43 | */ | 46 | */ |
| 44 | #if LUAI_BITSINT >= 32 | 47 | #define SIZEINT \ |
| 45 | #define MAXBITS 30 | 48 | (sizeof(int) < sizeof(LUA_INTEGER) ? sizeof(int) : sizeof(LUA_INTEGER)) |
| 46 | #else | 49 | #define MAXBITS cast_int(SIZEINT * CHAR_BIT - 2) |
| 47 | #define MAXBITS (LUAI_BITSINT-2) | ||
| 48 | #endif | ||
| 49 | |||
| 50 | #define MAXASIZE (1 << MAXBITS) | 50 | #define MAXASIZE (1 << MAXBITS) |
| 51 | 51 | ||
| 52 | 52 | ||
