| Stability | experimental |
|---|---|
| Maintainer | Patrick Perry <patperry@gmail.com> |
Numeric.IEEE
Description
Operations on IEEE floating point numbers.
- class RealFloat a => IEEE a where
- infinity :: a
- minNormal :: a
- maxFinite :: a
- epsilon :: a
- copySign :: a -> a -> a
- identicalIEEE :: a -> a -> Bool
- succIEEE :: a -> a
- predIEEE :: a -> a
- bisectIEEE :: a -> a -> a
- sameSignificandBits :: a -> a -> Int
- nan :: a
- nanWithPayload :: Word64 -> a
- maxNaNPayload :: a -> Word64
- nanPayload :: a -> Word64
- minNum :: RealFloat a => a -> a -> a
- maxNum :: RealFloat a => a -> a -> a
- minNaN :: RealFloat a => a -> a -> a
- maxNaN :: RealFloat a => a -> a -> a
IEEE type class
class RealFloat a => IEEE a whereSource
IEEE floating point types.
Methods
Infinity value.
The smallest representable positive normalized value.
The largest representable finite value.
The smallest representalbe positive value x such that 1 + x /= 1.
copySign x y returns x with its sign changed to y's.
identicalIEEE :: a -> a -> BoolSource
Return True if two values are exactly (bitwise) equal.
Return the next largest IEEE value (Infinity and NaN are
unchanged).
Return the next smallest IEEE value (-Infinity and NaN are
unchanged).
bisectIEEE :: a -> a -> aSource
Given two values with the same sign, return the value halfway
between them on the IEEE number line. If the signs of the values
differ or either is NaN, the value is undefined.
sameSignificandBits :: a -> a -> IntSource
The number of significand bits which are equal in the two arguments
(equivalent to feqrel from the Tango Math library). The result is
between 0 and .
floatDigits
Default NaN value.
nanWithPayload :: Word64 -> aSource
NaN value with a positive integer payload. Payload must be
ess than maxNaNPayload. Beware that while some platforms allow
using 0 as a payload, this behavior is not portable.
maxNaNPayload :: a -> Word64Source
Maximum NaN payload for type a.
nanPayload :: a -> Word64Source
The payload stored in a NaN value. Undefined if the argument
is not NaN.
NaN-aware minimum and maximum
minNum :: RealFloat a => a -> a -> aSource
Return the minimum of two values; if one value is NaN, return the
other. Prefer the first if both values are NaN.
maxNum :: RealFloat a => a -> a -> aSource
Return the maximum of two values; if one value is NaN, return the
other. Prefer the first if both values are NaN.