Top level module for alternative floating point support.

- data Double
- data Float
- module Data.Floating.Classes
- isInfinite :: RealFloat a => a -> Bool
- isNaN :: RealFloat a => a -> Bool
- isNormal :: RealFloat a => a -> Bool
- isSubNormal :: RealFloat a => a -> Bool
- isFinite :: RealFloat a => a -> Bool
- isNegativeZero :: RealFloat a => a -> Bool
- toFloating :: FloatConvert a b => a -> b

# Documentation

The Double type. This is expected to be an identical declaration to the one found in GHC.Prim. We avoid simply using GHC's type because we need to define our own class instances.

The Float type.

module Data.Floating.Classes

isInfinite :: RealFloat a => a -> BoolSource

isSubNormal :: RealFloat a => a -> BoolSource

isNegativeZero :: RealFloat a => a -> BoolSource

toFloating :: FloatConvert a b => a -> bSource

Convert to a floating point type. Conversions from integers and real types are provided, as well as conversions between floating point types. Conversions between floating point types preserve infinities, negative zeros and NaNs.