packages feed

dph-examples-0.6.0.1: examples/smoke/prims/Evens/dph/Vectorised.hs

{-# LANGUAGE ParallelArrays #-}
{-# OPTIONS -fvectorise #-}
module Vectorised (evensPA) where
import Data.Array.Parallel
import Data.Array.Parallel.Prelude.Int  as I
import Data.Array.Parallel.Prelude.Bool
import qualified Prelude as P

evens :: [:Int:] -> [:Int:]
evens ints = filterP (\x -> x `mod` 2 I.== 0) ints

evensPA :: PArray Int -> PArray Int
{-# NOINLINE evensPA #-}
evensPA arr = toPArrayP (evens (fromPArrayP arr))