Brandon S. Allbery KF8NH wrote:
On Jul 17, 2009, at 22:27 , Maurí cio wrote:
Is there maybe some way to check if a double or
long double do have a "proper" value?
isNaN :: a -> Bool
True if the argument is an IEEE "not-a-number" (NaN) value
isInfinite :: a -> Bool
True if the argument is an IEEE infinity or negative infinity
isDenormalized :: a -> Bool
True if the argument is too small to be represented in normalized format
isNegativeZero :: a -> Bool
True if the argument is an IEEE negative zero
isIEEE :: a -> Bool
True if the argument is an IEEE floating point number
(in Prelude, even. Class RealFloat)
But don't trust the Prelude in Hugs (Sept2006)! The isInfinite and isNaN
methods are hard-coded to answer False, ignoring the argument entirely.
The logfloat package has the module Hugs.RealFloat[1] which provides
correct versions (defaulting to the Prelude definitions for non-Hugs
compilers).
[1]
http://hackage.haskell.org/packages/archive/logfloat/0.12.0.1/doc/html/Hugs-RealFloat.html
--
Live well,
~wren
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe