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').