Safe Haskell | Safe-Infered |
---|
User level interface of parallel arrays.
This library is deprecated. Using it can result in the vectorised program having asymptotically worse complexity than the original. Your program could be 10000x slower than it should be with this library.
Use the dph-lifted-vseg
package instead.
- module Data.Array.Parallel.Prelude
- emptyP :: [:a:]
- singletonP :: a -> [:a:]
- replicateP :: Int -> a -> [:a:]
- lengthP :: [:a:] -> Int
- (!:) :: [:a:] -> Int -> a
- (+:+) :: [:a:] -> [:a:] -> [:a:]
- concatP :: [:[:a:]:] -> [:a:]
- mapP :: (a -> b) -> [:a:] -> [:b:]
- filterP :: (a -> Bool) -> [:a:] -> [:a:]
- combineP :: [:a:] -> [:a:] -> [:Int:] -> [:a:]
- zipP :: [:a:] -> [:b:] -> [:(a, b):]
- zip3P :: [:a:] -> [:b:] -> [:c:] -> [:(a, b, c):]
- unzipP :: [:(a, b):] -> ([:a:], [:b:])
- unzip3P :: [:(a, b, c):] -> ([:a:], [:b:], [:c:])
- zipWithP :: (a -> b -> c) -> [:a:] -> [:b:] -> [:c:]
- zipWith3P :: (a -> b -> c -> d) -> [:a:] -> [:b:] -> [:c:] -> [:d:]
- bpermuteP :: [:a:] -> [:Int:] -> [:a:]
- updateP :: [:a:] -> [:(Int, a):] -> [:a:]
- indexedP :: [:a:] -> [:(Int, a):]
- sliceP :: Int -> Int -> [:e:] -> [:e:]
- crossMapP :: [:a:] -> (a -> [:b:]) -> [:(a, b):]
- data PArray a
- fromPArrayP :: PArray a -> [:a:]
- toPArrayP :: [:a:] -> PArray a
- fromNestedPArrayP :: PArray (PArray a) -> [:[:a:]:]
Documentation
module Data.Array.Parallel.Prelude
Operations on parallel arrays '[::]'
singletonP :: a -> [:a:]Source
replicateP :: Int -> a -> [:a:]Source
Conversions
Lifted/bulk parallel arrays This contains the array length, along with the element data.
fromPArrayP :: PArray a -> [:a:]Source
fromNestedPArrayP :: PArray (PArray a) -> [:[:a:]:]Source