@@ -5,29 +5,29 @@ type Matrix<'a when 'a : struct and 'a : equality>() =
55 abstract RowCount: int
66 abstract ColumnCount: int
77
8- abstract Mask: Option < Mask2D >
9- abstract Complemented: Option < Mask2D >
8+ abstract Mask: Mask2D option
9+ abstract Complemented: Mask2D option
1010
11- abstract Item: Mask2D -> Matrix < 'a > with get, set
12- abstract Item: Mask1D * int -> Vector < 'a > with get, set
13- abstract Item: int * Mask1D -> Vector < 'a > with get, set
11+ abstract Item: Mask2D option -> Matrix < 'a > with get, set
12+ abstract Item: Mask1D option * int -> Vector < 'a > with get, set
13+ abstract Item: int * Mask1D option -> Vector < 'a > with get, set
1414 abstract Item: int * int -> Scalar < 'a > with get, set
15- abstract Item: Mask2D -> Scalar < 'a > with set
16- abstract Item: Mask1D * int -> Scalar < 'a > with set
17- abstract Item: int * Mask1D -> Scalar < 'a > with set
18-
19- abstract Mxm: Matrix < 'a > -> Mask2D -> Semiring < 'a > -> Matrix < 'a >
20- abstract Mxv: Vector < 'a > -> Mask1D -> Semiring < 'a > -> Vector < 'a >
21- abstract EWiseAdd: Matrix < 'a > -> Mask2D -> Semiring < 'a > -> Matrix < 'a >
22- abstract EWiseMult: Matrix < 'a > -> Mask2D -> Semiring < 'a > -> Matrix < 'a >
23- abstract Apply: Mask1D -> UnaryOp < 'a , 'b > -> Matrix < 'b >
24- abstract ReduceIn: Mask1D -> Monoid < 'a > -> Vector < 'a >
25- abstract ReduceOut: Mask1D -> Monoid < 'a > -> Vector < 'a >
15+ abstract Item: Mask2D option -> Scalar < 'a > with set
16+ abstract Item: Mask1D option * int -> Scalar < 'a > with set
17+ abstract Item: int * Mask1D option -> Scalar < 'a > with set
18+
19+ abstract Mxm: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
20+ abstract Mxv: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
21+ abstract EWiseAdd: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
22+ abstract EWiseMult: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
23+ abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> Matrix < 'b >
24+ abstract ReduceIn: Mask1D option -> Monoid < 'a > -> Vector < 'a >
25+ abstract ReduceOut: Mask1D option -> Monoid < 'a > -> Vector < 'a >
2626 abstract T: Matrix < 'a >
2727
28- abstract EWiseAddInplace: Matrix < 'a > -> Mask2D -> Semiring < 'a > -> unit
29- abstract EWiseMultInplace: Matrix < 'a > -> Mask2D -> Semiring < 'a > -> unit
30- abstract ApplyInplace: Mask2D -> UnaryOp < 'a , 'b > -> unit
28+ abstract EWiseAddInplace: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> unit
29+ abstract EWiseMultInplace: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> unit
30+ abstract ApplyInplace: Mask2D option -> UnaryOp < 'a , 'b > -> unit
3131
3232 static member inline (+) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseAdd y
3333 static member inline (*) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseMult y
@@ -40,22 +40,22 @@ and [<AbstractClass>] Vector<'a when 'a : struct and 'a : equality>() =
4040 abstract Length: int
4141 abstract AsArray: 'a []
4242
43- abstract Mask: Option < Mask1D >
44- abstract Complemented: Option < Mask1D >
43+ abstract Mask: Mask1D option
44+ abstract Complemented: Mask1D option
4545
46- abstract Item: Mask1D -> Vector < 'a > with get, set
46+ abstract Item: Mask1D option -> Vector < 'a > with get, set
4747 abstract Item: int -> Scalar < 'a > with get, set
48- abstract Item: Mask1D -> Scalar < 'a > with set
48+ abstract Item: Mask1D option -> Scalar < 'a > with set
4949
50- abstract Vxm: Matrix < 'a > -> Mask1D -> Semiring < 'a > -> Vector < 'a >
51- abstract EWiseAdd: Vector < 'a > -> Mask1D -> Semiring < 'a > -> Vector < 'a >
52- abstract EWiseMult: Vector < 'a > -> Mask1D -> Semiring < 'a > -> Vector < 'a >
53- abstract Apply: Mask1D -> UnaryOp < 'a , 'b > -> Vector < 'b >
50+ abstract Vxm: Matrix < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
51+ abstract EWiseAdd: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
52+ abstract EWiseMult: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
53+ abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> Vector < 'b >
5454 abstract Reduce: Monoid < 'a > -> Scalar < 'a >
5555
56- abstract EWiseAddInplace: Vector < 'a > -> Mask1D -> Semiring < 'a > -> unit
57- abstract EWiseMultInplace: Vector < 'a > -> Mask1D -> Semiring < 'a > -> unit
58- abstract ApplyInplace: Mask1D -> UnaryOp < 'a , 'b > -> unit
56+ abstract EWiseAddInplace: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> unit
57+ abstract EWiseMultInplace: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> unit
58+ abstract ApplyInplace: Mask1D option -> UnaryOp < 'a , 'b > -> unit
5959
6060 static member inline (+) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseAdd y
6161 static member inline (*) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseMult y
0 commit comments