Happy Happy Joy Joy (was: On to Hydro)
Mark S. Miller
markm@caplet.com
Sat, 19 Aug 2000 12:27:32 -0700
At 12:18 PM 8/19/00 , Ben Laurie wrote:
>Eh? Am I being terminally stupid? Surely there are multiple NaNs
>(+infinity, -infinity and indefinite, for example), and some of them are
>comparable, e.g. +infinity > -infinity.
First, in IEEE infinity and -infinity are both distinct, and neither are
NaNs. (Given that NaN means "not a number", one could argue that IEEE takes
the position that infinities are therefore denote numbers, which would is bad
terminology, but so it goes.) The infinities are indeed part of the fully
ordered subset of IEEE floating point values. IEEE itself also has multiple
NaNs, but Java has only one. Java supports a subset of the IEEE spec, but
AFAIK, in that subset it fully conforms. Since E's major implementation
platform is expected to remain Java for some time to come, I need to be
careful to specify E so that it may be reasonably implemented in Java.
Therefore, E also conforms to the subset of IEEE chosen by Java.
Btw, having read Kahan's criticisms of the subsetting choices Gosling made,
I'd say Gosling is a much better language designer than Kahan.
Cheers,
--MarkM