A few little functions I found myself writing inline over and over again.
Documentation
buildWord :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word64Source
Build a word out of 8 bytes. No promises are made regarding the order
in which the bytes are stuffed. Note that this means that a RandomSource
or MonadRandom
making use of the default definition of getRandomWord
, etc.,
may return different random values on different platforms when started
with the same seed, depending on the platform's endianness.
wordToFloat :: Word64 -> FloatSource
wordToFloatWithExcess :: Word64 -> (Float, Word64)Source
Same as wordToFloat, but also return the unused bits (as the 41
least significant bits of a Word64
)
wordToDouble :: Word64 -> DoubleSource