[Date Prev][Date Next][Thread Prev][Thread Next]
- Subject: Re: Some small requests for the next release
- From: Luis Carvalho <carvalho@...>
- Date: Mon, 28 Feb 2005 12:14:00 -0500
On Mon, Feb 28, 2005 at 01:45:51PM +0000, David Jones wrote:
> nan = tonumber"nan" will do, it's not very non-portable. On an IEEE
> conforming system this will generate a NaN. On systems without NaNs
> then it will generate 0. Seems like a reasonable behaviour. You can
> even do [[ if nan == nan ]] to see which one you ended up with.
If you really want math.nan (and math.inf, for that matter), you can define
math.nan = 0/0 and math.inf = 1/0. But I think that
math.isnan = function(x) return not (x==x) end
math.isinf = function(x) return math.isnan(x-x) end
would be more useful. If you deal with a lot of computations (numerical
analysts, unite!), you can wrap those in a library (HUGE_VAL for inf, isinf,
isnan...). But then you'd be better off doing computations on C and wrapping
your results to lua.
--luis, two cents more, please.
A mathematician is a device for turning coffee into theorems.
-- P. Erdos
Applied Math PhD Student - Brown University
PGP Key: E820854A <email@example.com>