floating: Add remainder functions.
[altfloat.git] / Data / Floating.hs
blob699880684039384a5a234fe1efdb196801845cfb
1 module Data.Floating (
2 module Data.Floating.Classes,
3 module Data.Floating.Double,
4 module Data.Floating,
5 toFloating
6 ) where
8 import Prelude hiding (RealFloat(..))
9 import Data.Floating.Classes
10 import Data.Floating.Double
11 import Data.Floating.Types
13 import Control.Monad
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