2 module Data
.Floating
.Classes
,
3 module Data
.Floating
.Double,
8 import Prelude
hiding (RealFloat
(..))
9 import Data
.Floating
.Classes
10 import Data
.Floating
.Double
11 import Data
.Floating
.Types
15 isInfinite :: RealFloat a
=> a
-> Bool
16 isInfinite = (== FPInfinite
) . classify
18 isNaN :: RealFloat a
=> a
-> Bool
19 isNaN = (== FPNaN
) . classify
21 isNormal
:: RealFloat a
=> a
-> Bool
22 isNormal
= (== FPNormal
) . classify
24 isSubNormal
:: RealFloat a
=> a
-> Bool
25 isSubNormal
= (== FPSubNormal
) . classify
27 isFinite
:: RealFloat a
=> a
-> Bool
28 isFinite
= liftM2 (||
) isNormal isSubNormal