aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-04-14 13:58:54 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-04-14 13:58:54 -0300
commitf767f29d87d847d6a8d82a696d09569489e12642 (patch)
tree23e8c6a2ca1a5968abc441e377b683d494b4e302
parent675530c4d8be0b240f81e7f8cf147f42a3205b49 (diff)
downloadlua-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.h44
1 files changed, 28 insertions, 16 deletions
diff --git a/luaconf.h b/luaconf.h
index de12366e..38ee3bdf 100644
--- a/luaconf.h
+++ b/luaconf.h
@@ -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"