-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Utilities for dealing with IEEE floating point numbers -- -- Utilities for dealing with IEEE floating point numbers, ported from -- the Tango math library; approximate and exact equality comparisons for -- general types. @package ieee @version 0.7 -- | Operations on IEEE floating point numbers. module Numeric.IEEE -- | IEEE floating point types. class RealFloat a => IEEE a infinity :: IEEE a => a minNormal :: IEEE a => a maxFinite :: IEEE a => a epsilon :: IEEE a => a copySign :: IEEE a => a -> a -> a identicalIEEE :: IEEE a => a -> a -> Bool succIEEE :: IEEE a => a -> a predIEEE :: IEEE a => a -> a bisectIEEE :: IEEE a => a -> a -> a sameSignificandBits :: IEEE a => a -> a -> Int nan :: IEEE a => a nanWithPayload :: IEEE a => Word64 -> a maxNaNPayload :: IEEE a => a -> Word64 nanPayload :: IEEE a => a -> Word64 -- | Return the minimum of two values; if one value is NaN, return -- the other. Prefer the first if both values are NaN. minNum :: RealFloat a => a -> a -> a -- | Return the maximum of two values; if one value is NaN, return -- the other. Prefer the first if both values are NaN. maxNum :: RealFloat a => a -> a -> a -- | Return the minimum of two values; if one value is NaN, return -- it. Prefer the first if both values are NaN. minNaN :: RealFloat a => a -> a -> a -- | Return the maximum of two values; if one value is NaN, return -- it. Prefer the first if both values are NaN. maxNaN :: RealFloat a => a -> a -> a instance IEEE CDouble instance IEEE Double instance IEEE CFloat instance IEEE Float -- | A type class for approximate and exact equalilty comparisons and -- instances for common data types. module Data.AEq -- | Types with approximate and exact equality comparisons. class Eq a => AEq a (===) :: AEq a => a -> a -> Bool (~==) :: AEq a => a -> a -> Bool instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j, AEq k, AEq l, AEq m, AEq n, AEq o) => AEq (a, b, c, d, e, f, g, h, i, j, k, l, m, n, o) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j, AEq k, AEq l, AEq m, AEq n) => AEq (a, b, c, d, e, f, g, h, i, j, k, l, m, n) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j, AEq k, AEq l, AEq m) => AEq (a, b, c, d, e, f, g, h, i, j, k, l, m) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j, AEq k, AEq l) => AEq (a, b, c, d, e, f, g, h, i, j, k, l) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j, AEq k) => AEq (a, b, c, d, e, f, g, h, i, j, k) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i, AEq j) => AEq (a, b, c, d, e, f, g, h, i, j) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h, AEq i) => AEq (a, b, c, d, e, f, g, h, i) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g, AEq h) => AEq (a, b, c, d, e, f, g, h) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f, AEq g) => AEq (a, b, c, d, e, f, g) instance (AEq a, AEq b, AEq c, AEq d, AEq e, AEq f) => AEq (a, b, c, d, e, f) instance (AEq a, AEq b, AEq c, AEq d, AEq e) => AEq (a, b, c, d, e) instance (AEq a, AEq b, AEq c, AEq d) => AEq (a, b, c, d) instance (AEq a, AEq b, AEq c) => AEq (a, b, c) instance (AEq a, AEq b) => AEq (a, b) instance (AEq a, AEq b) => AEq (Either a b) instance AEq a => AEq (Maybe a) instance AEq a => AEq [a] instance AEq CTime instance AEq CClock instance AEq CUIntMax instance AEq CIntMax instance AEq CUIntPtr instance AEq CIntPtr instance AEq CULLong instance AEq CLLong instance AEq CSigAtomic instance AEq CWchar instance AEq CSize instance AEq CPtrdiff instance AEq CULong instance AEq CLong instance AEq CUInt instance AEq CInt instance AEq CUShort instance AEq CShort instance AEq CUChar instance AEq CSChar instance AEq CChar instance AEq (ForeignPtr a) instance AEq (FunPtr a) instance AEq (Ptr a) instance AEq (StablePtr a) instance AEq IntPtr instance AEq WordPtr instance AEq () instance AEq Word64 instance AEq Word32 instance AEq Word16 instance AEq Word8 instance AEq Word instance AEq Ordering instance AEq Integer instance AEq Int64 instance AEq Int32 instance AEq Int16 instance AEq Int8 instance AEq Int instance AEq Char instance AEq Bool instance AEq (Complex CDouble) instance AEq (Complex CFloat) instance AEq CDouble instance AEq CFloat instance AEq (Complex Double) instance AEq (Complex Float) instance AEq Double instance AEq Float