packages feed

dph-examples-0.5.1.1: imaginary/SumSquares/dph/SumSquaresVectorised.hs

{-# LANGUAGE ParallelArrays #-}
{-# OPTIONS -fvectorise #-}
module SumSquaresVectorised (sumSq) where
import Data.Array.Parallel
import Data.Array.Parallel.Prelude.Int 		as I
import Data.Array.Parallel.Prelude.Double	as D
import qualified Prelude

sumSq :: Int -> Double
{-# NOINLINE sumSq #-}
sumSq n	
 = 	D.sumP 
	(mapP (\x -> x D.* x) 
	(mapP D.fromInt 
	(enumFromToP 1 n)))