{-# LANGUAGE BangPatterns #-} {-# LANGUAGE MagicHash #-} {-# OPTIONS_HADDOCK not-home #-} module Database.LSMTree.Internal.Primitive ( indexWord8ArrayAsWord16 , indexWord8ArrayAsWord32 , indexWord8ArrayAsWord64 ) where import Data.Primitive.ByteArray (ByteArray (..)) import GHC.Exts import GHC.Word {-# INLINE indexWord8ArrayAsWord16 #-} indexWord8ArrayAsWord16 :: ByteArray -> Int -> Word16 indexWord8ArrayAsWord16 :: ByteArray -> Int -> Word16 indexWord8ArrayAsWord16 (ByteArray !ByteArray# ba#) (I# !Int# off#) = Word16# -> Word16 W16# (ByteArray# -> Int# -> Word16# indexWord8ArrayAsWord16# ByteArray# ba# Int# off#) {-# INLINE indexWord8ArrayAsWord32 #-} indexWord8ArrayAsWord32 :: ByteArray -> Int -> Word32 indexWord8ArrayAsWord32 :: ByteArray -> Int -> Word32 indexWord8ArrayAsWord32 (ByteArray !ByteArray# ba#) (I# !Int# off#) = Word32# -> Word32 W32# (ByteArray# -> Int# -> Word32# indexWord8ArrayAsWord32# ByteArray# ba# Int# off#) {-# INLINE indexWord8ArrayAsWord64 #-} indexWord8ArrayAsWord64 :: ByteArray -> Int -> Word64 indexWord8ArrayAsWord64 :: ByteArray -> Int -> Word64 indexWord8ArrayAsWord64 (ByteArray !ByteArray# ba#) (I# !Int# off#) = Word64# -> Word64 W64# (ByteArray# -> Int# -> Word64# indexWord8ArrayAsWord64# ByteArray# ba# Int# off#)