lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Mon, Jun 1, 2009 at 9:59 AM, Martin, Marcus <mamartin@ea.com> wrote:
> How do I use 64 bit integers in Lua? By default on my system (VS 2005,
> WinXP) I get 32 bit integers. Do I need to recompile the entire library with
> 64 bit support? That would make all integers 64 bit right? Is there a mixed
> mode?

You've a few options. Usually you're using 64bit ints for some
particular purpose (SHA-1 hash IDs, for example), and it's best to
make a userdata that wraps that thing. You can also make a 64-bit int
userdata type, but it won't be a full number in terms of lua
operators, and such.

It is also possible to recompile lua, possibly patched, with the
number type redefined to be a 64-bit int. But then you better not have
code that uses floats... I wouldn't go this route unless you are using
to lua to build a language for an environment where you really, really
want to do lots of 64-bit math. For one  thing, while lua makes this
possible, you are basically spinning a language variant, and might
have troubles using 3rd party libs (if you care).

Searching the lua wiki and mailing list will get lots of hits on this
topic, btw.

Sam