module Utils ( unsafeFromForeignPtr0, unsafeToForeignPtr0 ) where
import Data.Int ( Int )
import Foreign.Storable ( Storable )
import Foreign.ForeignPtr ( ForeignPtr )
import Data.Vector.Storable ( Vector, unsafeFromForeignPtr, unsafeToForeignPtr )
import Control.DeepSeq (NFData)
instance NFData (Vector a)
unsafeFromForeignPtr0 :: Storable a
=> ForeignPtr a
-> Int
-> Vector a
unsafeFromForeignPtr0 fp n = unsafeFromForeignPtr fp 0 n
unsafeToForeignPtr0 :: Storable a => Vector a -> (ForeignPtr a, Int)
unsafeToForeignPtr0 v = let (fp, _, n) = unsafeToForeignPtr v
in (fp, n)