lua-users home
lua-l archive

Re: NaNs etc. once again. Was: Re: 5.1 and vc6

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


On 6-Mar-05, at 9:32 PM, Mark Hamburg wrote:
I think one could separate the issues of whether NaN tests false in a
conditional context from what it does in an assert.
Indeed. And one could use math.isnan (if there were such a thing) to test for NaNs (if the architecture had such things).
But somehow:
 x = math.sqrt(math.atan(theta))
 if not x then
 -- oops an error
 end
seems easier to explain and understand than either:
 if x ~= x then ..
or
 if math.isnan(x) then ...
And it seems slightly more consistent with other Lua functions which return false, <error> on error. There would be nothing stopping math.sqrt(-1) from returning:
 NaN, "square roots of negative numbers are a complex subject"
although that would be trickier with 0 / 0 and 0 * infinity

AltStyle によって変換されたページ (->オリジナル) /