-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Parser for IEEE-754 floating-point values @package ieee754-parser @version 0.1 module Data.Binary.IEEE754 -- | Parse a big-endian byte list into a floating-point value. parseFloatBE :: RealFloat a => [Word8] -> a -- | Parse a little-endian byte list into a floating-point value. parseFloatLE :: RealFloat a => [Word8] -> a getFloat16be :: Get Float getFloat16le :: Get Float getFloat32be :: Get Float getFloat32le :: Get Float getFloat64be :: Get Double getFloat64le :: Get Double -- | Parse a floating-point value of the given width from within a Get -- monad. getFloat :: RealFloat a => BitCount -> ([Word8] -> a) -> Get a -- | Calculate the proper size of the exponent field, in bits, given the -- size of the full structure. exponentWidth :: BitCount -> BitCount -- | Considering a byte list as a sequence of bits, slice it from start -- inclusive to end exclusive, and return the resulting bit sequence as -- an integer bitSlice :: [Word8] -> BitCount -> BitCount -> Integer -- | Split a raw bit array into (sign, exponent, fraction) components. -- These components have not been processed (unbiased, added significant -- bit, etc). splitRawIEEE754 :: [Word8] -> (Bool, Exponent, Fraction) -- | Unbias an exponent unbias :: Exponent -> BitCount -> Exponent -- | Parse values into a form suitable for encodeFloat sign exponent -- fraction width-in-bits -> fraction, exponent mergeFloat :: Exponent -> Fraction -> BitCount -> (Integer, Int) type Exponent = Int type Fraction = Integer type BitCount = Int