lua-users home
lua-l archive

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


David Demelier wrote:

At the moment, my preferred solution would be math.type (like io.type,
lpeg.type, etc.):
*   no new global variables
*   no new names
*   no unfamiliar calling conventions
*   if people remove debug functions, they probably won't make an exception
for harmless functions like (sub)type
*   the only reason to remove `math` is if you don't have floats in which
case this function becomes obsolete anyway
Yes, math.type looks absolutely the best solution!
Actually, you don't necessarily remove math[] if you don't have floats.

For my Programmable Brick Lua (pbLua) for LEGO MINDSTORMS NXT based on Lua 5.2 I set the default number type to int, but implemented a single precision float library so that pbLua could have basic trig and log functions that gave single precision float output.
However, handling the float results resulted in a special userdata type 
which was a general pain in the neck to use.
I am about to build a new version based on Lus 5.3 Work 1 that will (I 
think) be a huge improvement, and will simplify the handling of mixed 
numerical types.
I'm looking forward to playing with that!

Ralph