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
Diffstat (limited to '')
| -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" |
