[commit: dph] : Split out Scalar instances into their own module (65cbc7a)
Ben Lippmeier
benl at ouroborus.net
Thu May 12 15:42:22 CEST 2011
Repository : ssh://darcs.haskell.org//srv/darcs/packages/dph
On branch :
http://hackage.haskell.org/trac/ghc/changeset/65cbc7a731089df9668868ed0f8ec848946bb5de
>---------------------------------------------------------------
commit 65cbc7a731089df9668868ed0f8ec848946bb5de
Author: Ben Lippmeier <benl at ouroborus.net>
Date: Fri May 6 15:57:03 2011 +1000
Split out Scalar instances into their own module
>---------------------------------------------------------------
.../Data/Array/Parallel/Lifted/Combinators.hs | 1 +
dph-common/Data/Array/Parallel/Lifted/Repr.hs | 15 -----------
.../Data/Array/Parallel/PArray/PReprInstances.hs | 1 +
.../Data/Array/Parallel/PArray/ScalarInstances.hs | 26 ++++++++++++++++++++
dph-common/dph-common.cabal | 1 +
5 files changed, 29 insertions(+), 15 deletions(-)
diff --git a/dph-common/Data/Array/Parallel/Lifted/Combinators.hs b/dph-common/Data/Array/Parallel/Lifted/Combinators.hs
index cdd81ad..5f2dd7b 100644
--- a/dph-common/Data/Array/Parallel/Lifted/Combinators.hs
+++ b/dph-common/Data/Array/Parallel/Lifted/Combinators.hs
@@ -38,6 +38,7 @@ import Data.Array.Parallel.Lifted.Repr
import Data.Array.Parallel.Lifted.Scalar
import Data.Array.Parallel.PArray.PReprInstances
+import Data.Array.Parallel.PArray.ScalarInstances
import qualified Data.Array.Parallel.Unlifted as U
import Data.Array.Parallel.Base ( Tag, fromBool )
diff --git a/dph-common/Data/Array/Parallel/Lifted/Repr.hs b/dph-common/Data/Array/Parallel/Lifted/Repr.hs
index d5ee695..c94faed 100644
--- a/dph-common/Data/Array/Parallel/Lifted/Repr.hs
+++ b/dph-common/Data/Array/Parallel/Lifted/Repr.hs
@@ -29,21 +29,6 @@ import Data.List (unzip4, unzip5)
import GHC.Exts (Int#, Int(..), (+#), (-#), (*#))
import GHC.Word ( Word8 )
--- Scalar types ---------------------------------------------------------------
-
--- Generate
>---------------------------------------------------------------
--- newtype instance PData Int = PInt (U.Array Int)
>---------------------------------------------------------------
--- instance Scalar Int where
--- fromScalarPData (PInt xs) = xs
--- toScalarPData = PInt
>---------------------------------------------------------------
--- instance PR Int where
--- <forward to *PRScalar methods>
-
-$(scalarInstances [''Int, ''Float, ''Double, ''Word8])
-
-- Void -----------------------------------------------------------------------
data instance PData Void
diff --git a/dph-common/Data/Array/Parallel/PArray/PReprInstances.hs b/dph-common/Data/Array/Parallel/PArray/PReprInstances.hs
index 6935269..ce5eea8 100644
--- a/dph-common/Data/Array/Parallel/PArray/PReprInstances.hs
+++ b/dph-common/Data/Array/Parallel/PArray/PReprInstances.hs
@@ -21,6 +21,7 @@ where
import Data.Array.Parallel.PArray.PRepr
import Data.Array.Parallel.PArray.PData
import Data.Array.Parallel.PArray.Base
+import Data.Array.Parallel.PArray.ScalarInstances
import Data.Array.Parallel.Lifted.Repr
import qualified Data.Array.Parallel.Unlifted as U
import GHC.Word ( Word8 )
diff --git a/dph-common/Data/Array/Parallel/PArray/ScalarInstances.hs b/dph-common/Data/Array/Parallel/PArray/ScalarInstances.hs
new file mode 100644
index 0000000..10d7a70
--- /dev/null
+++ b/dph-common/Data/Array/Parallel/PArray/ScalarInstances.hs
@@ -0,0 +1,26 @@
+{-# LANGUAGE TemplateHaskell #-}
+{-# LANGUAGE CPP #-}
+#include "fusion-phases.h"
+
+-- | Instances for the Scalar class.
+-- These let us coerce scalar U.Arrays to PData arrays.
+module Data.Array.Parallel.PArray.ScalarInstances
+where
+import Data.Array.Parallel.Lifted.TH.Repr
+import Data.Array.Parallel.PArray.Scalar
+import Data.Array.Parallel.PArray.PData
+import GHC.Word ( Word8 )
+
+
+$(scalarInstances [''Int, ''Float, ''Double, ''Word8])
+
+{- Generated code:
+ newtype instance PData Int = PInt (U.Array Int)
+
+ instance Scalar Int where
+ fromScalarPData (PInt xs) = xs
+ toScalarPData = PInt
+
+ instance PR Int where
+ <forward to *PRScalar methods>
+-}
\ No newline at end of file
diff --git a/dph-common/dph-common.cabal b/dph-common/dph-common.cabal
index fdcd80c..6ce7123 100644
--- a/dph-common/dph-common.cabal
+++ b/dph-common/dph-common.cabal
@@ -30,6 +30,7 @@ Library
Other-Modules:
Data.Array.Parallel.PArray.Base
Data.Array.Parallel.PArray.Scalar
+ Data.Array.Parallel.PArray.ScalarInstances
Data.Array.Parallel.PArray.PRepr
Data.Array.Parallel.PArray.PReprInstances
Data.Array.Parallel.PArray.PData
More information about the Cvs-libraries
mailing list