rattletrap-9.0.3: source/library/Rattletrap/Encode/Int32le.hs
module Rattletrap.Encode.Int32le
( putInt32
, putInt32Bits
)
where
import Rattletrap.Type.Int32le
import Rattletrap.Utility.Bytes
import qualified Data.Binary as Binary
import qualified Data.Binary.Bits.Put as BinaryBits
import qualified Data.Binary.Put as Binary
import qualified Data.ByteString.Lazy as LazyBytes
putInt32 :: Int32le -> Binary.Put
putInt32 int32 = Binary.putInt32le (int32leValue int32)
putInt32Bits :: Int32le -> BinaryBits.BitPut ()
putInt32Bits int32 = do
let bytes = LazyBytes.toStrict (Binary.runPut (putInt32 int32))
BinaryBits.putByteString (reverseBytes bytes)