aboutsummaryrefslogtreecommitdiffstats
path: root/package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch')
-rw-r--r--package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch47
1 files changed, 24 insertions, 23 deletions
diff --git a/package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch b/package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
index 74b8c6f8f0..ac0722c707 100644
--- a/package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
+++ b/package/utils/lua/patches/010-lua-5.1.3-lnum-full-260308.patch
@@ -62,7 +62,7 @@
return (t == LUA_TNONE) ? "no value" : luaT_typenames[t];
}
-@@ -264,6 +265,14 @@ LUA_API int lua_isnumber (lua_State *L,
+@@ -264,6 +265,14 @@ LUA_API int lua_isnumber (lua_State *L,
}
@@ -77,7 +77,7 @@
LUA_API int lua_isstring (lua_State *L, int idx) {
int t = lua_type(L, idx);
return (t == LUA_TSTRING || t == LUA_TNUMBER);
-@@ -309,31 +318,66 @@ LUA_API int lua_lessthan (lua_State *L,
+@@ -309,31 +318,66 @@ LUA_API int lua_lessthan (lua_State *L,
}
@@ -162,7 +162,7 @@
case LUA_TNUMBER: {
size_t l;
lua_lock(L); /* `luaV_tostring' may create a new string */
-@@ -426,6 +471,8 @@ LUA_API void lua_pushnil (lua_State *L)
+@@ -426,6 +471,8 @@ LUA_API void lua_pushnil (lua_State *L)
}
@@ -196,7 +196,7 @@
LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) {
-@@ -569,7 +626,7 @@ LUA_API void lua_rawgeti (lua_State *L,
+@@ -569,7 +626,7 @@ LUA_API void lua_rawgeti (lua_State *L,
lua_lock(L);
o = index2adr(L, idx);
api_check(L, ttistable(o));
@@ -205,7 +205,7 @@
api_incr_top(L);
lua_unlock(L);
}
-@@ -597,6 +654,9 @@ LUA_API int lua_getmetatable (lua_State
+@@ -597,6 +654,9 @@ LUA_API int lua_getmetatable (lua_State
case LUA_TUSERDATA:
mt = uvalue(obj)->metatable;
break;
@@ -215,7 +215,7 @@
default:
mt = G(L)->mt[ttype(obj)];
break;
-@@ -687,7 +747,7 @@ LUA_API void lua_rawseti (lua_State *L,
+@@ -687,7 +747,7 @@ LUA_API void lua_rawseti (lua_State *L,
api_checknelems(L, 1);
o = index2adr(L, idx);
api_check(L, ttistable(o));
@@ -224,7 +224,7 @@
luaC_barriert(L, hvalue(o), L->top-1);
L->top--;
lua_unlock(L);
-@@ -721,7 +781,7 @@ LUA_API int lua_setmetatable (lua_State
+@@ -721,7 +781,7 @@ LUA_API int lua_setmetatable (lua_State
break;
}
default: {
@@ -286,7 +286,7 @@
#define FREELIST_REF 0 /* free list of references */
-@@ -66,7 +66,7 @@ LUALIB_API int luaL_typerror (lua_State
+@@ -66,7 +66,7 @@ LUALIB_API int luaL_typerror (lua_State
static void tag_error (lua_State *L, int narg, int tag) {
@@ -351,7 +351,7 @@
-@@ -54,20 +56,25 @@ static int luaB_tonumber (lua_State *L)
+@@ -54,20 +56,25 @@ static int luaB_tonumber (lua_State *L)
int base = luaL_optint(L, 2, 10);
if (base == 10) { /* standard conversion */
luaL_checkany(L, 1);
@@ -503,7 +503,7 @@
case VKNUM:
case VTRUE:
case VFALSE:
-@@ -451,6 +489,10 @@ int luaK_exp2RK (FuncState *fs, expdesc
+@@ -451,6 +489,10 @@ int luaK_exp2RK (FuncState *fs, expdesc
if (fs->nk <= MAXINDEXRK) { /* constant fit in RK operand? */
e->u.s.info = (e->k == VNIL) ? nilK(fs) :
(e->k == VKNUM) ? luaK_numberK(fs, e->u.nval) :
@@ -896,7 +896,7 @@
lua_assert(isdigit(ls->current));
do {
save_and_next(ls);
-@@ -202,8 +215,9 @@ static void read_numeral (LexState *ls,
+@@ -202,8 +215,9 @@ static void read_numeral (LexState *ls,
save_and_next(ls);
save(ls, '\0');
buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */
@@ -1009,6 +1009,7 @@
-#define PI (3.14159265358979323846)
-#define RADIANS_PER_DEGREE (PI/180.0)
-
+-
+#ifdef LNUM_FLOAT
+# define PI (3.14159265358979323846F)
+#elif defined(M_PI)
@@ -1017,7 +1018,7 @@
+# define PI (3.14159265358979323846264338327950288)
+#endif
+#define RADIANS_PER_DEGREE (PI/180)
-
++
+#undef HUGE
+#ifdef LNUM_FLOAT
+# define HUGE HUGE_VALF
@@ -2103,7 +2104,7 @@
case LUA_TBOOLEAN:
return bvalue(t1) == bvalue(t2); /* boolean true must be 1 !! */
case LUA_TLIGHTUSERDATA:
-@@ -86,21 +106,6 @@ int luaO_rawequalObj (const TValue *t1,
+@@ -86,21 +106,6 @@ int luaO_rawequalObj (const TValue *t1,
}
}
@@ -2606,7 +2607,7 @@
nums[ceillog2(k)]++; /* count as such */
return 1;
}
-@@ -308,7 +322,7 @@ static void resize (lua_State *L, Table
+@@ -308,7 +322,7 @@ static void resize (lua_State *L, Table
/* re-insert elements from vanishing slice */
for (i=nasize; i<oldasize; i++) {
if (!ttisnil(&t->array[i]))
@@ -2650,7 +2651,7 @@
} while (n);
return luaO_nilobject;
}
-@@ -470,14 +487,12 @@ const TValue *luaH_get (Table *t, const
+@@ -470,14 +487,12 @@ const TValue *luaH_get (Table *t, const
switch (ttype(key)) {
case LUA_TNIL: return luaO_nilobject;
case LUA_TSTRING: return luaH_getstr(t, rawtsvalue(key));
@@ -3061,7 +3062,7 @@
/*
@@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment.
** CHANGE it if your system requires alignments larger than double. (For
-@@ -728,28 +652,6 @@ union luai_Cast { double l_d; long l_l;
+@@ -728,28 +652,6 @@ union luai_Cast { double l_d; long l_l;
#define luai_userstateyield(L,n) ((void)L)
@@ -3092,7 +3093,7 @@
/*
--- a/src/lundump.c
+++ b/src/lundump.c
-@@ -73,6 +73,13 @@ static lua_Number LoadNumber(LoadState*
+@@ -73,6 +73,13 @@ static lua_Number LoadNumber(LoadState*
return x;
}
@@ -3106,7 +3107,7 @@
static TString* LoadString(LoadState* S)
{
size_t size;
-@@ -119,6 +126,9 @@ static void LoadConstants(LoadState* S,
+@@ -119,6 +126,9 @@ static void LoadConstants(LoadState* S,
case LUA_TNUMBER:
setnvalue(o,LoadNumber(S));
break;
@@ -3198,7 +3199,7 @@
setsvalue2s(L, obj, luaS_new(L, s));
return 1;
}
-@@ -222,59 +234,127 @@ static int l_strcmp (const TString *ls,
+@@ -222,59 +234,127 @@ static int l_strcmp (const TString *ls,
}
@@ -3421,10 +3422,10 @@
+ case TM_POW: if (try_powint( ri, ib, ic)) return; break;
+ case TM_UNM: if (try_unmint( ri, ib)) return; break;
+ default: lua_assert(0);
-+ }
+ }
+ }
+ /* Fallback to floating point, when leaving range. */
-+
+
+#ifdef LNUM_COMPLEX
+ if ((nvalue_img(b)!=0) || (nvalue_img(c)!=0)) {
+ lua_Complex r;
@@ -3444,7 +3445,7 @@
+ default: lua_assert(0); r=0;
+ }
+ setnvalue_complex( ra, r );
- }
++ }
+ return;
+ }
+#endif
@@ -3465,7 +3466,7 @@
+ if (!call_binTM(L, rb, rc, ra, op))
+ luaG_aritherror(L, rb, rc);
+}
-
++
+/* Helper macro to sort arithmetic operations into four categories:
+ * TK_INT: integer - integer operands
+ * TK_NUMBER: number - number (non complex, either may be integer)