private c_matrix_multiply ( Transpose transA, Transpose transB, int m, int n, int k, Complex32 alpha, Complex32 x, Complex32 y, Complex32 beta, [ c ) : void | ||
transA | Transpose | |
transB | Transpose | |
m | int | |
n | int | |
k | int | |
alpha | Complex32 | |
x | Complex32 | |
y | Complex32 | |
beta | Complex32 | |
c | [ | |
리턴 | void |
public override void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, Complex32 alpha, Complex32[] a, int rowsA, int columnsA, Complex32[] b, int rowsB, int columnsB, Complex32 beta, Complex32[] c) { if (a == null) { throw new ArgumentNullException("a"); } if (b == null) { throw new ArgumentNullException("b"); } if (c == null) { throw new ArgumentNullException("c"); } var m = transposeA == Transpose.DontTranspose ? rowsA : columnsA; var n = transposeB == Transpose.DontTranspose ? columnsB : rowsB; var k = transposeA == Transpose.DontTranspose ? columnsA : rowsA; var l = transposeB == Transpose.DontTranspose ? rowsB : columnsB; if (c.Length != m * n) { throw new ArgumentException(Resources.ArgumentMatrixDimensions); } if (k != l) { throw new ArgumentException(Resources.ArgumentMatrixDimensions); } SafeNativeMethods.c_matrix_multiply(transposeA, transposeB, m, n, k, alpha, a, b, beta, c); }