- parseFloatBE :: RealFloat a => [Word8] -> a
- parseFloatLE :: RealFloat a => [Word8] -> a
- getFloat16be :: Get Float
- getFloat16le :: Get Float
- getFloat32be :: Get Float
- getFloat32le :: Get Float
- getFloat64be :: Get Double
- getFloat64le :: Get Double
- getFloat :: RealFloat a => BitCount -> ([Word8] -> a) -> Get a
- exponentWidth :: BitCount -> BitCount
- bitSlice :: [Word8] -> BitCount -> BitCount -> Integer
- splitRawIEEE754 :: [Word8] -> (Bool, Exponent, Fraction)
- unbias :: Exponent -> BitCount -> Exponent
- mergeFloat :: Exponent -> Fraction -> BitCount -> (Integer, Int)
- type Exponent = Int
- type Fraction = Integer
- type BitCount = Int
Documentation
parseFloatBE :: RealFloat a => [Word8] -> aSource
Parse a big-endian byte list into a floating-point value.
parseFloatLE :: RealFloat a => [Word8] -> aSource
Parse a little-endian byte list into a floating-point value.
getFloat :: RealFloat a => BitCount -> ([Word8] -> a) -> Get aSource
Parse a floating-point value of the given width from within a Get monad.
exponentWidth :: BitCount -> BitCountSource
Calculate the proper size of the exponent field, in bits, given the size of the full structure.
bitSlice :: [Word8] -> BitCount -> BitCount -> IntegerSource
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
splitRawIEEE754 :: [Word8] -> (Bool, Exponent, Fraction)Source
Split a raw bit array into (sign, exponent, fraction) components. These components have not been processed (unbiased, added significant bit, etc).