| Copyright | (C) 2014 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | experimental |
| Portability | PatternSynonyms |
| Safe Haskell | Trustworthy |
| Language | Haskell2010 |
Numeric.Half.Internal
Contents
Description
Half-precision floating-point values. These arise commonly in GPU work and it is useful to be able to compute them and compute with them on the CPU as well.
Synopsis
- newtype Half = Half {}
- isZero :: Half -> Bool
- fromHalf :: Half -> Float
- toHalf :: Float -> Half
- pattern POS_INF :: Half
- pattern NEG_INF :: Half
- pattern QNaN :: Half
- pattern SNaN :: Half
- pattern HALF_MIN :: Half
- pattern HALF_NRM_MIN :: Half
- pattern HALF_MAX :: Half
- pattern HALF_EPSILON :: Half
- pattern HALF_DIG :: (Eq a, Num a) => a
- pattern HALF_MIN_10_EXP :: (Eq a, Num a) => a
- pattern HALF_MAX_10_EXP :: (Eq a, Num a) => a
- pure_floatToHalf :: Float -> Half
- pure_halfToFloat :: Half -> Float
Documentation
A half-precision floating point value
Instances
| Binary Half # | |||||
| NFData Half # | |||||
Defined in Numeric.Half.Internal | |||||
| Floating Half # | |||||
| RealFloat Half # | |||||
Defined in Numeric.Half.Internal Methods floatRadix :: Half -> Integer # floatDigits :: Half -> Int # floatRange :: Half -> (Int, Int) # decodeFloat :: Half -> (Integer, Int) # encodeFloat :: Integer -> Int -> Half # significand :: Half -> Half # scaleFloat :: Int -> Half -> Half # isInfinite :: Half -> Bool # isDenormalized :: Half -> Bool # isNegativeZero :: Half -> Bool # | |||||
| Storable Half # | |||||
Defined in Numeric.Half.Internal | |||||
| Generic Half # | |||||
Defined in Numeric.Half.Internal Associated Types
| |||||
| Num Half # | |||||
| Read Half # | |||||
| Fractional Half # | |||||
| Real Half # | |||||
Defined in Numeric.Half.Internal Methods toRational :: Half -> Rational # | |||||
| RealFrac Half # | |||||
| Show Half # | |||||
| Eq Half # | |||||
| Ord Half # | |||||
| Lift Half # | |||||
| type Rep Half # | |||||
Defined in Numeric.Half.Internal | |||||
Patterns
pattern HALF_NRM_MIN :: Half #
Smallest positive normalized half
pattern HALF_EPSILON :: Half #
Smallest positive e for which half (1.0 + e) != half (1.0)
pattern HALF_DIG :: (Eq a, Num a) => a #
Number of base 10 digits that can be represented without change
pattern HALF_MIN_10_EXP :: (Eq a, Num a) => a #
Minimum positive integer such that 10 raised to that power is a normalized half
pattern HALF_MAX_10_EXP :: (Eq a, Num a) => a #
Maximum positive integer such that 10 raised to that power is a normalized half
Pure conversions
pure_floatToHalf :: Float -> Half #
Naive pure-Haskell implementation of toHalf.
pure_halfToFloat :: Half -> Float #
Naive pure-Haskell implementation of fromHalf.