public static Array2D <T> operator *(ArrayW <T> v0, Array2D <T> m0) { var size = new Index2(m0.View.Width, m0.View.Height); var output = NumMath.Allocate <T>(size); ProcessingDevice .ArrayDevice .Executor["_V_X_M_line_M"] .Launch(size, output.View.View, m0.View.View, v0._memoryBuffer.View); ProcessingDevice.ArrayDevice.Executor.Wait(); return(output); }
public static Array2D <T> operator *(ArrayH <T> v0, Array <T> v1) { var size = new Index2(v1.View.Length, v0.View.Length); var output = NumMath.Allocate <T>(size); ProcessingDevice .ArrayDevice .Executor["_V_X_V_M"] .Launch(size, output.View.View, v1.View.View, v0.View.View); ProcessingDevice.ArrayDevice.Executor.Wait(); return(output); }