NoSlow-0.2: NoSlow/Backend/Vector/Unboxed.hs
{-# LANGUAGE TypeFamilies, CPP #-}
module NoSlow.Backend.Vector.Unboxed (
module Data.Vector.Unboxed,
enumFromTo_Int, index, append,
pair, from2, fst, snd, triple, from3
) where
import NoSlow.Util.Computation
import qualified Data.Vector.Unboxed as V
import Data.Vector.Unboxed
import Prelude
instance DeepSeq (V.Vector a)
instance (TestData a, V.Unbox a) => TestData (V.Vector a) where
testData = testList
instance V.Unbox a => ListLike V.Vector a where
fromList = V.fromList
enumFromTo_Int :: Int -> Int -> V.Vector Int
{-# INLINE enumFromTo_Int #-}
enumFromTo_Int = V.enumFromTo
index :: V.Unbox a => V.Vector a -> Int -> a
{-# INLINE index #-}
index = (V.!)
append :: V.Unbox a => V.Vector a -> V.Vector a -> V.Vector a
{-# INLINE append #-}
append = (V.++)
pair :: a -> b -> (a,b)
{-# INLINE pair #-}
pair = (,)
from2 :: (a,b) -> (a,b)
{-# INLINE from2 #-}
from2 = id
triple :: a -> b -> c -> (a,b,c)
{-# INLINE triple #-}
triple = (,,)
from3 :: (a,b,c) -> (a,b,c)
{-# INLINE from3 #-}
from3 = id