@@ -18,20 +18,20 @@ type Matrix<'a when 'a : struct and 'a : equality>(nrow: int, ncol: int) =
1818 abstract Fill: Mask1D option * int -> Scalar < 'a > with set
1919 abstract Fill: int * Mask1D option -> Scalar < 'a > with set
2020
21- abstract Mxm: Matrix < 'b > -> Mask2D option -> Semiring < 'a , 'b , 'c > -> Matrix < 'c >
22- abstract Mxv: Vector < 'b > -> Mask1D option -> Semiring < 'a , 'b , 'c > -> Vector < 'c >
23- abstract EWiseAdd: Matrix < 'b > -> Mask2D option -> Semiring < 'a , 'b , 'c > -> Matrix < 'c >
24- abstract EWiseMult: Matrix < 'b > -> Mask2D option -> Semiring < 'a , 'b , 'c > -> Matrix < 'c >
21+ abstract Mxm: Matrix < 'a > -> Mask2D option -> Semiring < 'a > -> Matrix < 'a >
22+ abstract Mxv: Vector < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
23+ abstract EWiseAdd: Matrix < 'a > -> Mask2D option -> Monoid < 'a > -> Matrix < 'a >
24+ abstract EWiseMult: Matrix < 'a > -> Mask2D option -> Monoid < 'a > -> Matrix < 'a >
2525 abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> Matrix < 'b >
2626 abstract ReduceIn: Mask1D option -> Monoid < 'a > -> Vector < 'a >
2727 abstract ReduceOut: Mask1D option -> Monoid < 'a > -> Vector < 'a >
2828 abstract Reduce: Monoid < 'a > -> Scalar < 'a >
2929 abstract T: Matrix < 'a >
3030
31- static member inline (+) ( x : Matrix < 'a >, y : Matrix < 'b >) = x.EWiseAdd y
32- static member inline (*) ( x : Matrix < 'a >, y : Matrix < 'b >) = x.EWiseMult y
33- static member inline (@.) ( x : Matrix < 'a >, y : Matrix < 'b >) = x.Mxm y
34- static member inline (@.) ( x : Matrix < 'a >, y : Vector < 'b >) = x.Mxv y
31+ static member inline (+) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseAdd y
32+ static member inline (*) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.EWiseMult y
33+ static member inline (@.) ( x : Matrix < 'a >, y : Matrix < 'a >) = x.Mxm y
34+ static member inline (@.) ( x : Matrix < 'a >, y : Vector < 'a >) = x.Mxv y
3535
3636and [<AbstractClass>] Vector < 'a when 'a : struct and 'a : equality >( length : int ) =
3737 abstract Length: int
@@ -47,15 +47,15 @@ and [<AbstractClass>] Vector<'a when 'a : struct and 'a : equality>(length: int)
4747 abstract Item: int -> Scalar < 'a > with get, set
4848 abstract Fill: Mask1D option -> Scalar < 'a > with set
4949
50- abstract Vxm: Matrix < 'b > -> Mask1D option -> Semiring < 'a , 'b , 'c > -> Vector < 'c >
51- abstract EWiseAdd: Vector < 'b > -> Mask1D option -> Semiring < 'a , 'b , 'c > -> Vector < 'c >
52- abstract EWiseMult: Vector < 'b > -> Mask1D option -> Semiring < 'a , 'b , 'c > -> Vector < 'c >
50+ abstract Vxm: Matrix < 'a > -> Mask1D option -> Semiring < 'a > -> Vector < 'a >
51+ abstract EWiseAdd: Vector < 'a > -> Mask1D option -> Monoid < 'a > -> Vector < 'a >
52+ abstract EWiseMult: Vector < 'a > -> Mask1D option -> Monoid < 'a > -> Vector < 'a >
5353 abstract Apply: Mask1D option -> UnaryOp < 'a , 'b > -> Vector < 'b >
5454 abstract Reduce: Monoid < 'a > -> Scalar < 'a >
5555
56- static member inline (+) ( x : Vector < 'a >, y : Vector < 'b >) = x.EWiseAdd y
57- static member inline (*) ( x : Vector < 'a >, y : Vector < 'b >) = x.EWiseMult y
58- static member inline (@.) ( x : Vector < 'a >, y : Matrix < 'b >) = x.Vxm y
56+ static member inline (+) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseAdd y
57+ static member inline (*) ( x : Vector < 'a >, y : Vector < 'a >) = x.EWiseMult y
58+ static member inline (@.) ( x : Vector < 'a >, y : Matrix < 'a >) = x.Vxm y
5959
6060and Mask1D ( indices : int [], length : int , isComplemented : bool ) =
6161 member this.Indices = indices
0 commit comments