11namespace GraphBLAS.FSharp
22
3- <<<<<<< HEAD
4- open Brahma.FSharp .OpenCL .WorkflowBuilder .Basic
5- =======
6- >>>>>>> e5c9ed5c70dc7da1eda621582663215739e51536
73open Brahma.FSharp .OpenCL .WorkflowBuilder .Evaluation
84
95[<AbstractClass>]
@@ -13,28 +9,6 @@ type Matrix<'a when 'a : struct and 'a : equality>(nrow: int, ncol: int) =
139 default this.RowCount = nrow
1410 default this.ColumnCount = ncol
1511
16- <<<<<<< HEAD
17- abstract Mask: Mask2D option
18- abstract Complemented: Mask2D option
19-
20- abstract Item: Mask2D option -> Matrix < 'a > with get, set
21- abstract Item: Mask1D option * int -> Vector < 'a > with get, set
22- abstract Item: int * Mask1D option -> Vector < 'a > with get, set
23- abstract Item: int * int -> Scalar < 'a > with get, set
24- abstract Fill: Mask2D option -> Scalar < 'a > with set
25- abstract Fill: Mask1D option * int -> Scalar < 'a > with set
26- abstract Fill: int * Mask1D option -> Scalar < 'a > with set
27-
28- abstract Mxm: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
29- abstract Mxv: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
30- abstract EWiseAdd: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> OpenCLEvaluation < Matrix < 'a >>
31- abstract EWiseMult: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
32- abstract Apply: Mask2D option -> UnaryOp < 'a , 'b > -> Matrix < 'b >
33- abstract ReduceIn: Mask1D option -> Monoid < 'a > -> Vector < 'a >
34- abstract ReduceOut: Mask1D option -> Monoid < 'a > -> Vector < 'a >
35- abstract Reduce: Monoid < 'a > -> Scalar < 'a >
36- abstract T: Matrix < 'a >
37- =======
3812 abstract Clear: unit -> OpenCLEvaluation < unit >
3913 abstract Copy: unit -> OpenCLEvaluation < Matrix < 'a >>
4014 abstract Resize: int -> int -> OpenCLEvaluation < Matrix < 'a >>
@@ -65,7 +39,6 @@ type Matrix<'a when 'a : struct and 'a : equality>(nrow: int, ncol: int) =
6539 abstract Reduce: Monoid < 'a > -> OpenCLEvaluation < Scalar < 'a >>
6640 abstract Transpose: unit -> OpenCLEvaluation < Matrix < 'a >>
6741 abstract Kronecker: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> OpenCLEvaluation < Matrix < 'a >>
68- >>>>>>> e5c9ed5c70dc7da1eda621582663215739e51536
6942
7043 static member inline (+) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseAdd y
7144 static member inline (*) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseMult y
@@ -90,20 +63,12 @@ and [<AbstractClass>] Vector<'a when 'a : struct and 'a : equality>(size: int) =
9063 abstract Assign: int * Scalar < 'a > -> OpenCLEvaluation < unit >
9164 abstract Assign: Mask1D option * Scalar < 'a > -> OpenCLEvaluation < unit >
9265
93- <<<<<<< HEAD
94- abstract Vxm: Matrix < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
95- abstract EWiseAdd: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
96- abstract EWiseMult: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
97- abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> Vector < 'b >
98- abstract Reduce: Monoid < 'a > -> Scalar < 'a >
99- =======
10066 abstract Vxm: Matrix < 'a > -> Mask1D option -> Semiring < 'a > -> OpenCLEvaluation < Vector < 'a >>
10167 abstract EWiseAdd: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> OpenCLEvaluation < Vector < 'a >>
10268 abstract EWiseMult: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> OpenCLEvaluation < Vector < 'a >>
10369 abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> OpenCLEvaluation < Vector < 'b >>
10470 abstract Prune: Mask1D option -> UnaryOp < 'a , bool > -> OpenCLEvaluation < Vector < 'a >>
10571 abstract Reduce: Monoid < 'a > -> OpenCLEvaluation < Scalar < 'a >>
106- >>>>>>> e5c9ed5c70dc7da1eda621582663215739e51536
10772
10873 static member inline (+) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseAdd y
10974 static member inline (*) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseMult y
@@ -115,28 +80,10 @@ and Mask1D(indices: int[], size: int, isComplemented: bool) =
11580 member this.Size = size
11681 member this.IsComplemented = isComplemented
11782
118- <<<<<<< HEAD
119- member this.Item
120- with get ( idx : int ) : bool =
121- this.Indices
122- |> Array.contains idx
123- |> (<>) this.IsComplemented
124- =======
125- >>>>>>> e5c9ed5c70dc7da1eda621582663215739e51536
12683
12784and Mask2D ( rowIndices : int [], columnIndices : int [], rowCount : int , columnCount : int , isComplemented : bool ) =
12885 member this.RowIndices = rowIndices
12986 member this.ColumnIndices = columnIndices
13087 member this.RowCount = rowCount
13188 member this.ColumnCount = columnCount
13289 member this.IsComplemented = isComplemented
133- <<<<<<< HEAD
134-
135- member this.Item
136- with get ( rowIdx : int , colIdx : int ) : bool =
137- ( this.Rows, this.Columns)
138- ||> Array.zip
139- |> Array.contains ( rowIdx, colIdx)
140- |> (<>) this.IsComplemented
141- =======
142- >>>>>>> e5c9ed5c70dc7da1eda621582663215739e51536
0 commit comments