|
|
@ -1,5 +1,5 @@ |
|
|
|
/*
|
|
|
|
** $Id: luaconf.h,v 1.80 2006/01/27 13:54:39 roberto Exp roberto $ |
|
|
|
** $Id: luaconf.h,v 1.81 2006/02/10 17:44:06 roberto Exp roberto $ |
|
|
|
** Configuration file for Lua |
|
|
|
** See Copyright Notice in lua.h |
|
|
|
*/ |
|
|
@ -59,6 +59,18 @@ |
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@@ LUA_PATH and LUA_CPATH are the names of the environment variables that |
|
|
|
@* Lua check to set its paths. |
|
|
|
@@ LUA_INIT is the name of the environment variable that Lua |
|
|
|
@* checks for initialization code. |
|
|
|
** CHANGE them if you want different names. |
|
|
|
*/ |
|
|
|
#define LUA_PATH "LUA_PATH" |
|
|
|
#define LUA_CPATH "LUA_CPATH" |
|
|
|
#define LUA_INIT "LUA_INIT" |
|
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
@@ LUA_PATH_DEFAULT is the default path that Lua uses to look for |
|
|
|
@* Lua libraries. |
|
|
@ -543,11 +555,25 @@ |
|
|
|
/* On a Pentium, resort to a trick */ |
|
|
|
#if defined(LUA_NUMBER_DOUBLE) && !defined(LUA_ANSI) && !defined(__SSE2__) && \ |
|
|
|
(defined(__i386) || defined (_M_IX86) || defined(__i386__)) |
|
|
|
|
|
|
|
/* On a Microsoft compiler, use assembler */ |
|
|
|
#if defined(_MSC_VER) |
|
|
|
|
|
|
|
#define lua_number2int(i,d) __asm fld d __asm fistp i |
|
|
|
#define lua_number2integer(i,n) lua_number2int(i, n) |
|
|
|
|
|
|
|
/* the next trick should work on any Pentium, but sometimes clashes
|
|
|
|
with a DirectX idiosyncrasy */ |
|
|
|
#else |
|
|
|
|
|
|
|
union luai_Cast { double l_d; long l_l; }; |
|
|
|
#define lua_number2int(i,d) \ |
|
|
|
{ volatile union luai_Cast u; u.l_d = (d) + 6755399441055744.0; (i) = u.l_l; } |
|
|
|
#define lua_number2integer(i,n) lua_number2int(i, n) |
|
|
|
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
|
|
/* this option always works, but may be slow */ |
|
|
|
#else |
|
|
|
#define lua_number2int(i,d) ((i)=(int)(d)) |
|
|
|