[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: present u64 in lua
- From: HyperHacker <hyperhacker@...>
- Date: Thu, 1 Dec 2011 01:48:33 -0700
2011/12/1 雪色.景中纹 <bjbzwb@qq.com>:
>
> I try to using "long double" to redefine lua_Number,but my program
> failed.
>
> this is what i changed in luaconf.h(version5.1.4):
>
> //#define LUA_NUMBER_DOUBLE
> #define LUA_NUMBER long double
> #define LUAI_UACNUMBER long double
> #define LUA_NUMBER_SCAN "%Lf"
> #define LUA_NUMBER_FMT "%.14Lg"
> #define LUAI_USER_ALIGNMENT_T union {long double u; void *s; long
> l; }
>
> this is the core stack of my program:
>
> #0 0x00002b791a851997 in luaH_getnum (t=0xf2a7520, key=0) at ltable.c:437
> 437 if (cast(unsigned int, key-1) < cast(unsigned int, t->sizearray))
> (gdb) bt
> #0 0x00002b791a851997 in luaH_getnum (t=0xf2a7520, key=0) at ltable.c:437
> #1 0x00002b791a851e82 in luaH_getn (t=0x1) at ltable.c:567
> #2 0x00002b791a84a27f in inclinenumber (ls=0xf291bb0) at llex.c:133
> #3 0x00002b791a84ba45 in luaX_lookahead (ls=0x2b791a8429a7) at llex.c:459
> #4 0x00002b791a84bb53 in luaM_toobig (L=0x7ffff25dee10) at lmem.c:67
> #5 0x00002b791a84db1b in recfield (ls=0x2b791a84db1b, cc=0x7ffff25de070) at
> lparser.c:451
> #6 0x00002b791a84e5c3 in simpleexp (ls=0x2b791a84a27f, v=0x7ffff25de140) at
> lparser.c:730
> #7 0x00002b791a84e826 in getbinopr (op=285) at lparser.c:789
> #8 0x00002b791a84ea54 in block_follow (token=11129) at lparser.c:872
> #9 0x00002b791a84eb28 in check_conflict (ls=0x2b791a84eb28,
> lh=0x7ffff25de1e0, v=0x2b7900000003) at lparser.c:919
> #10 0x00002b791a84e2b9 in funcargs (ls=0x7ffff25dee10, f=0x7ffff25de280) at
> lparser.c:623
> #11 0x00002b791a84edb9 in breakstat (ls=0x1) at lparser.c:979
> .......
>
> did i miss some thing?
>
>
>
Without the actual error message it's hard to say what went wrong, but
my guess would be that long double can't be cast to int due to its
size.
--
Sent from my toaster.