Real.maxFinite and friends
Henry Cejtin
henry@sourcelight.com
Fri, 5 Oct 2001 11:48:31 -0500
With regards to isNormal and isFinite being made primitives, I would think
that the more efficient way would be
store float to memory
load float from memory
test float register
Aren't there floating point instructions for testing if a floating point
register is `normal'? As to the problems of different versions of the `same'
value, some of which have been converted to 64 bit and some of which haven't,
wouldn't the above code also `solve' that problem since now you can use the
floating point register you just loaded. (This might require that the store
was to where the value `really' lives, if there is such a location.)
I remember at times having really horrible problems (in C) with this kind of
thing. One `solution' which I think I mentioned before would be to make
real's be 80 bits. Or at least have a Real80 and Real64 (and Real32). Of
course then we would be different from all other implementations. This would
correspond to C's `long double' (I think that the Mac uses `extended' or
maybe `extended double').