module Data.Array.Parallel.Prelude.Base.PArr (
mapP, filterP, combineP, emptyP, zipWithP, (!:), lengthP, concatP, zipP, unzipP, singletonP, (+:+), replicateP,
fromPArrayP, fromPArrayPA,
toPArrayP, toPArrayPA,
fromNestedPArrayP, fromNestedPArrayPA
) where
import GHC.PArr
import Data.Array.Parallel.Lifted
import Data.Array.Parallel.Lifted.Combinators
fromPArrayP :: PArray a -> [:a:]
fromPArrayP _ = singletonP undefined
fromPArrayPA :: PA a -> PArray a :-> PArray a
fromPArrayPA pa = closure1 (\x -> x) (\xs -> xs)
toPArrayP :: [:a:] -> PArray a
toPArrayP _ = error "toPArray"
toPArrayPA :: PA a -> PArray a :-> PArray a
toPArrayPA pa = closure1 (\x -> x) (\xs -> xs)
fromNestedPArrayP :: PArray (PArray a) -> [:[:a:]:]
fromNestedPArrayP _ = error "fromNestedPArrayP"
fromNestedPArrayPA :: PA a -> (PArray (PArray a) :-> PArray (PArray a))
fromNestedPArrayPA pa = closure1 (\xs -> xs) (\xss -> xss)
combineP:: [:a:] -> [:a:] -> [:Int:] -> [:a:]
combineP xs _ _ = xs