angefangen preprocess function, dist/setup-config wieder raus

This commit is contained in:
tpajenka 2013-11-27 16:50:35 +01:00
parent 77bb358198
commit 2ca5f8593e
3 changed files with 26 additions and 10 deletions

1
.gitignore vendored
View File

@ -5,4 +5,5 @@
*.lkshf *.lkshf
/.dist-buildwrapper /.dist-buildwrapper
dist/setup-config
.project* .project*

2
dist/setup-config vendored

File diff suppressed because one or more lines are too long

View File

@ -15,7 +15,7 @@
module DCB where module DCB where
--import Stream hiding (map) --same as Data.Stream imported above? --import Stream hiding (map) --same as Data.Stream imported above?
import Data.Array.Accelerate (Z(..), DIM1, DIM2, DIM3, Scalar, Vector, (:.)(..), Array, import Data.Array.Accelerate (Z(..), DIM0, DIM1, DIM2, DIM3, Scalar, Vector, (:.)(..), Array,(!),
Int8, Int, Float, Double, Acc, Exp, Elt) Int8, Int, Float, Double, Acc, Exp, Elt)
import qualified Data.Array.Accelerate as A import qualified Data.Array.Accelerate as A
-- change to Data.Array.Accelerate.CUDA as I and link accelerate-cuda to use GPU instead of CPU -- change to Data.Array.Accelerate.CUDA as I and link accelerate-cuda to use GPU instead of CPU
@ -28,28 +28,45 @@ type Attr = Matrix Double
-- Adjecency-Matrix -- Adjecency-Matrix
type Adj = Matrix Int8 type Adj = Matrix Int8
-- Vector of the Adjecency-Matrix -- Vector of the Adjecency-Matrix
type AdjV = Vector Int8 type AdjV = Vector Int
newtype Constraints = Matrix Double newtype Constraints = Matrix Double
-- Graph consists of a Vector denoting which colums of the matrix represents wich originating -- Graph consists of a Vector denoting which colums of the matrix represents wich originating
-- column in the global adjencency-matrix, the reduces adjencency-matrix of the graph, a -- column in the global adjencency-matrix, the reduces adjencency-matrix of the graph, a
-- matrix of constraints and a scalar denoting the density -- matrix of constraints and a scalar denoting the density
type Density = Scalar Float type Density = Scalar Double
-- Graph -- Graph
type Graph = (Vector Int8, Adj, Constraints, Density) type Graph = (Vector Int, Adj, Constraints, Density)
-- Vector of Graphs -- Vector of Graphs
type MultiGraph e = (Vector Int8, Array DIM3 e, Constraints, Density) type MultiGraph e = (Vector Int, Array DIM3 e, Constraints, Density)
-- Multigraph correct output ?
preprocess :: Acc (Matrix Int8) -> Acc Attr -> Acc (MultiGraph Int8)
preprocess adj a = undefined
-- generate function for initialising the constraints matrix of a subgraph
-- first column contains minimum value of each attribute, second column contains maximum value
-- zeroth column contains 0 after initialisation (should contain 1 if constraints are fulfilled
-- afterwards)
-- TODO: DIM2 input -> Exp DIM2
genConstrMat :: Acc Attr -> Acc (Vector Int) -> DIM2 -> Exp Double
genConstrMat attr nodes ix =
let
(Z:.idAttr:.col) = ix -- unlift ix :: ((:.) ((:.) Z Int) Int)
in case col of
1 -> A.the $A.minimum (A.map (\i -> attr!(A.index2 i $A.lift idAttr)) nodes)
2 -> A.the $A.maximum (A.map (\i -> attr!(A.index2 i $A.lift idAttr)) nodes)
_ -> 0.0
expand :: Acc (MultiGraph Int8)-> Acc Adj -> Acc Attr -> Acc (MultiGraph Int8) expand :: Acc (MultiGraph Int8)-> Acc Adj -> Acc Attr -> Acc (MultiGraph Int8)
expand g a att = undefined expand g a att = undefined
-- constraint gets a Graph and an Attribute-Matrix and yields true, if the Graph still fulfills -- constraint gets a Graph and an Attribute-Matrix and yields true, if the Graph still fulfills
-- all constraints defined via the Attribute-Matrix. -- all constraints defined via the Attribute-Matrix.
constraint :: Acc Graph -> Acc Attr -> Acc (Scalar Bool) --constraint :: Acc Graph -> Acc Attr -> Acc (Scalar Bool)
constraint g a = undefined constraint :: Acc Graph -> Int -> Acc Attr -> Acc (Maybe Graph)
constraint g newNode a = undefined
-- addPoint gets a graph and a tuple of an adjecancy-Vector with an int wich column of the -- addPoint gets a graph and a tuple of an adjecancy-Vector with an int wich column of the