Safe Haskell | None |
---|---|
Language | Haskell98 |
A few little functions I found myself writing inline over and over again.
Synopsis
- buildWord16 :: Word8 -> Word8 -> Word16
- buildWord32 :: Word8 -> Word8 -> Word8 -> Word8 -> Word32
- buildWord32' :: Word16 -> Word16 -> Word32
- buildWord64 :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word64
- buildWord64' :: Word16 -> Word16 -> Word16 -> Word16 -> Word64
- buildWord64'' :: Word32 -> Word32 -> Word64
- word32ToFloat :: Word32 -> Float
- word32ToFloatWithExcess :: Word32 -> (Float, Word32)
- wordToFloat :: Word64 -> Float
- wordToFloatWithExcess :: Word64 -> (Float, Word64)
- wordToDouble :: Word64 -> Double
- word32ToDouble :: Word32 -> Double
- wordToDoubleWithExcess :: Word64 -> (Double, Word64)
Documentation
buildWord16 :: Word8 -> Word8 -> Word16 Source #
Build a word out of 2 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.
buildWord32 :: Word8 -> Word8 -> Word8 -> Word8 -> Word32 Source #
Build a word out of 4 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.
buildWord64 :: Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word8 -> Word64 Source #
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.
word32ToFloat :: Word32 -> Float Source #
word32ToFloatWithExcess :: Word32 -> (Float, Word32) Source #
Same as word32ToFloat, but also return the unused bits (as the 9
least significant bits of a Word32
)
wordToFloat :: Word64 -> Float Source #
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 -> Double Source #
word32ToDouble :: Word32 -> Double Source #