data Graph nutzt weitere bereits definierte Typen, Pseudocode in references
This commit is contained in:
16
src/Main.hs
16
src/Main.hs
@ -32,7 +32,7 @@ import Data.Either (lefts, rights)
|
||||
import Debug.Trace
|
||||
import qualified Data.Text as T
|
||||
import Data.Text.Encoding
|
||||
import Stream hiding (map)
|
||||
--import Stream hiding (map) --same as Data.Stream imported above?
|
||||
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
|
||||
-- depends on accelerate-cuda package in cabal, which needs the installed CUDA-stuff form
|
||||
@ -41,16 +41,17 @@ import Data.Array.Accelerate.Interpreter as I
|
||||
type Matrix e = A.Array A.DIM2 e
|
||||
|
||||
type Attr = Matrix A.Int8
|
||||
-- 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
|
||||
-- matrix of constraints and a scalar denoting the density
|
||||
newtype Constraints = Matrix A.Float
|
||||
type Density = A.Scalar A.Float
|
||||
type Graph = (A.Vector A.Int8, Matrix A.Int8, Constraints, Density)
|
||||
-- Adjecency-Matrix
|
||||
type Adj = Matrix A.Int8
|
||||
-- Vector of the Adjecency-Matrix
|
||||
type AdjV = A.Vector A.Int8
|
||||
newtype Constraints = Matrix A.Float
|
||||
-- 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
|
||||
-- matrix of constraints and a scalar denoting the density
|
||||
type Density = A.Scalar A.Float
|
||||
type Graph = (A.Vector A.Int8, Adj, Constraints, Density)
|
||||
|
||||
|
||||
expand :: [Graph]-> Adj -> Attr ->[Graph]
|
||||
expand g a att = undefined
|
||||
@ -135,6 +136,7 @@ exeMain = do
|
||||
_ -> error "Wrong arguments given"
|
||||
-- read file and clean
|
||||
adjMat <- return $ filter (not . emptyLine) (T.lines (decodeUtf8 (head input)))
|
||||
attrMat <- return $ filter (not . emptyLine) (T.lines (decodeUtf8 ((head . tail) input)))
|
||||
|
||||
inputLines <- return $ length adjMat
|
||||
-- TODO: concat with foldl1' kills us later -> use presized/preallocated array so we
|
||||
|
Reference in New Issue
Block a user