angefangen preprocess function, dist/setup-config wieder raus
This commit is contained in:
parent
77bb358198
commit
2ca5f8593e
1
.gitignore
vendored
1
.gitignore
vendored
@ -5,4 +5,5 @@
|
|||||||
*.lkshf
|
*.lkshf
|
||||||
|
|
||||||
/.dist-buildwrapper
|
/.dist-buildwrapper
|
||||||
|
dist/setup-config
|
||||||
.project*
|
.project*
|
||||||
|
2
dist/setup-config
vendored
2
dist/setup-config
vendored
File diff suppressed because one or more lines are too long
31
src/DCB.hs
31
src/DCB.hs
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user