diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-04-14 13:58:54 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2014-04-14 13:58:54 -0300 |
commit | f767f29d87d847d6a8d82a696d09569489e12642 (patch) | |
tree | 23e8c6a2ca1a5968abc441e377b683d494b4e302 | |
parent | 675530c4d8be0b240f81e7f8cf147f42a3205b49 (diff) | |
download | lua-f767f29d87d847d6a8d82a696d09569489e12642.tar.gz lua-f767f29d87d847d6a8d82a696d09569489e12642.tar.bz2 lua-f767f29d87d847d6a8d82a696d09569489e12642.zip |
using predefined limits (instead of computing min/max values for each
type) + some comments
-rw-r--r-- | luaconf.h | 44 |
1 files changed, 28 insertions, 16 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: luaconf.h,v 1.196 2014/04/11 19:53:45 roberto Exp roberto $ | 2 | ** $Id: luaconf.h,v 1.197 2014/04/12 14:51:53 roberto Exp roberto $ |
3 | ** Configuration file for Lua | 3 | ** Configuration file for Lua |
4 | ** See Copyright Notice in lua.h | 4 | ** See Copyright Notice in lua.h |
5 | */ | 5 | */ |
@@ -21,16 +21,15 @@ | |||
21 | 21 | ||
22 | /* | 22 | /* |
23 | ** =================================================================== | 23 | ** =================================================================== |
24 | @@ LUA_INT_INT / LUA_INT_LONG / LUA_INT_LONGLONG defines size for | 24 | @@ LUA_INT_INT / LUA_INT_LONG / LUA_INT_LONGLONG defines type for |
25 | @* Lua integers; | 25 | @* Lua integers; |
26 | @@ LUA_REAL_FLOAT / LUA_REAL_DOUBLE / LUA_REAL_LONGDOUBLE defines size for | 26 | @@ LUA_REAL_FLOAT / LUA_REAL_DOUBLE / LUA_REAL_LONGDOUBLE defines |
27 | @* Lua floats. | 27 | @* type for Lua floats. |
28 | ** | 28 | ** |
29 | ** These definitions set the numeric types for Lua. Lua should work | 29 | ** These definitions set the numeric types for Lua. Lua should work |
30 | ** fine with 32-bit or 64-bit integers mixed with 32-bit or 64-bit | 30 | ** fine with any mix of these previous options. |
31 | ** floats. The usual configurations are 64-bit integers and floats (the | 31 | ** The usual configurations are 64-bit integers and floats (the default) |
32 | ** default) and 32-bit integers and floats (Small Lua, for restricted | 32 | ** and 32-bit integers and floats (Small Lua, for restricted hardware). |
33 | ** hardware). | ||
34 | ** ===================================================================== | 33 | ** ===================================================================== |
35 | */ | 34 | */ |
36 | #define LUA_INT_LONGLONG | 35 | #define LUA_INT_LONGLONG |
@@ -547,10 +546,6 @@ | |||
547 | #define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" | 546 | #define LUA_INTEGER_FMT "%" LUA_INTEGER_FRMLEN "d" |
548 | #define lua_integer2str(s,n) sprintf((s), LUA_INTEGER_FMT, (n)) | 547 | #define lua_integer2str(s,n) sprintf((s), LUA_INTEGER_FMT, (n)) |
549 | 548 | ||
550 | #define LUA_MAXUNSIGNED (~(LUA_UNSIGNED)0) | ||
551 | #define LUA_MAXINTEGER ((LUA_INTEGER)(LUA_MAXUNSIGNED >> 1)) | ||
552 | #define LUA_MININTEGER ((LUA_INTEGER)~(LUA_MAXUNSIGNED >> 1)) | ||
553 | |||
554 | #define LUAI_UACINT LUA_INTEGER | 549 | #define LUAI_UACINT LUA_INTEGER |
555 | 550 | ||
556 | /* | 551 | /* |
@@ -567,11 +562,19 @@ | |||
567 | #define LUA_INTEGER int | 562 | #define LUA_INTEGER int |
568 | #define LUA_INTEGER_FRMLEN "" | 563 | #define LUA_INTEGER_FRMLEN "" |
569 | 564 | ||
565 | #define LUA_MAXUNSIGNED UINT_MAX | ||
566 | #define LUA_MAXINTEGER INT_MAX | ||
567 | #define LUA_MININTEGER INT_MIN | ||
568 | |||
570 | #elif defined(LUA_INT_LONG) /* }{ long */ | 569 | #elif defined(LUA_INT_LONG) /* }{ long */ |
571 | 570 | ||
572 | #define LUA_INTEGER long | 571 | #define LUA_INTEGER long |
573 | #define LUA_INTEGER_FRMLEN "l" | 572 | #define LUA_INTEGER_FRMLEN "l" |
574 | 573 | ||
574 | #define LUA_MAXUNSIGNED ULONG_MAX | ||
575 | #define LUA_MAXINTEGER LONG_MAX | ||
576 | #define LUA_MININTEGER LONG_MIN | ||
577 | |||
575 | #elif defined(LUA_INT_LONGLONG) /* }{ long long */ | 578 | #elif defined(LUA_INT_LONGLONG) /* }{ long long */ |
576 | 579 | ||
577 | #if defined(_WIN32) | 580 | #if defined(_WIN32) |
@@ -582,19 +585,28 @@ | |||
582 | #define LUA_INTEGER_FRMLEN "ll" | 585 | #define LUA_INTEGER_FRMLEN "ll" |
583 | #endif | 586 | #endif |
584 | 587 | ||
588 | #define LUA_MAXUNSIGNED ULLONG_MAX | ||
589 | #define LUA_MAXINTEGER LLONG_MAX | ||
590 | #define LUA_MININTEGER LLONG_MIN | ||
591 | |||
585 | #elif defined(LUA_INT_SHORT) /* }{ short int; for tests */ | 592 | #elif defined(LUA_INT_SHORT) /* }{ short int; for tests */ |
586 | 593 | ||
587 | #define LUA_INTEGER short int | 594 | #define LUA_INTEGER short int |
588 | #define LUA_INTEGER_FRMLEN "" | 595 | #define LUA_INTEGER_FRMLEN "" |
589 | 596 | ||
590 | #undef LUA_MAXUNSIGNED | 597 | #define LUA_MAXUNSIGNED ((LUA_UNSIGNED)USHRT_MAX) |
591 | #undef LUAI_UACINT | 598 | #define LUA_MAXINTEGER SHRT_MAX |
592 | #undef LUA_INTEGER_SCAN | 599 | #define LUA_MININTEGER SHRT_MIN |
593 | 600 | ||
594 | #define LUA_MAXUNSIGNED 0xffffu | 601 | #undef LUAI_UACINT |
595 | #define LUAI_UACINT int | 602 | #define LUAI_UACINT int |
603 | |||
604 | #undef LUA_INTEGER_SCAN | ||
596 | #define LUA_INTEGER_SCAN "%hd" | 605 | #define LUA_INTEGER_SCAN "%hd" |
597 | 606 | ||
607 | #undef LUAI_MAXSTACK | ||
608 | #define LUAI_MAXSTACK 15000 | ||
609 | |||
598 | #else /* }{ */ | 610 | #else /* }{ */ |
599 | 611 | ||
600 | #error "numeric integer type not defined" | 612 | #error "numeric integer type not defined" |