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).

unbias :: Exponent -> BitCount -> ExponentSource

Unbias an exponent

mergeFloat :: Exponent -> Fraction -> BitCount -> (Integer, Int)Source

Parse values into a form suitable for encodeFloat sign exponent fraction width-in-bits -> fraction, exponent