|
|
|
@ -24,7 +24,7 @@ |
|
|
|
|
|
|
|
/* This file is automatically generated - do not modify it. |
|
|
|
Change NativeLinearAlgebraProvider.include instead. |
|
|
|
Last generated on: 2/19/2010 4:32:24 PM |
|
|
|
Last generated on: 3/1/2010 11:25:28 AM |
|
|
|
*/ |
|
|
|
namespace MathNet.Numerics.Algorithms.LinearAlgebra.Atlas |
|
|
|
{ |
|
|
|
@ -287,7 +287,36 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra.Atlas |
|
|
|
public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, double alpha, double[] a, |
|
|
|
int aRows, int aColumns, double[] b, int bRows, int bColumns, double beta, double[] c) |
|
|
|
{ |
|
|
|
throw new NotImplementedException(); |
|
|
|
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 ? aRows : aColumns; |
|
|
|
var n = transposeB == Transpose.DontTranspose ? bColumns : bRows; |
|
|
|
var k = transposeA == Transpose.DontTranspose ? aColumns : aRows; |
|
|
|
|
|
|
|
if( c.Length != aRows * bColumns) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
if (aColumns != bRows) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
SafeNativeMethods.d_matrix_multiply(transposeA, transposeB, m, n, k, alpha, a, b, beta, c); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -854,7 +883,36 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra.Atlas |
|
|
|
public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, float alpha, float[] a, |
|
|
|
int aRows, int aColumns, float[] b, int bRows, int bColumns, float beta, float[] c) |
|
|
|
{ |
|
|
|
throw new NotImplementedException(); |
|
|
|
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 ? aRows : aColumns; |
|
|
|
var n = transposeB == Transpose.DontTranspose ? bColumns : bRows; |
|
|
|
var k = transposeA == Transpose.DontTranspose ? aColumns : aRows; |
|
|
|
|
|
|
|
if( c.Length != aRows * bColumns) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
if (aColumns != bRows) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
SafeNativeMethods.s_matrix_multiply(transposeA, transposeB, m, n, k, alpha, a, b, beta, c); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -1421,7 +1479,36 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra.Atlas |
|
|
|
public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, Complex alpha, Complex[] a, |
|
|
|
int aRows, int aColumns, Complex[] b, int bRows, int bColumns, Complex beta, Complex[] c) |
|
|
|
{ |
|
|
|
throw new NotImplementedException(); |
|
|
|
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 ? aRows : aColumns; |
|
|
|
var n = transposeB == Transpose.DontTranspose ? bColumns : bRows; |
|
|
|
var k = transposeA == Transpose.DontTranspose ? aColumns : aRows; |
|
|
|
|
|
|
|
if( c.Length != aRows * bColumns) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
if (aColumns != bRows) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
SafeNativeMethods.z_matrix_multiply(transposeA, transposeB, m, n, k, ref alpha, a, b, ref beta, c); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
@ -1988,7 +2075,36 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra.Atlas |
|
|
|
public void MatrixMultiplyWithUpdate(Transpose transposeA, Transpose transposeB, Complex32 alpha, Complex32[] a, |
|
|
|
int aRows, int aColumns, Complex32[] b, int bRows, int bColumns, Complex32 beta, Complex32[] c) |
|
|
|
{ |
|
|
|
throw new NotImplementedException(); |
|
|
|
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 ? aRows : aColumns; |
|
|
|
var n = transposeB == Transpose.DontTranspose ? bColumns : bRows; |
|
|
|
var k = transposeA == Transpose.DontTranspose ? aColumns : aRows; |
|
|
|
|
|
|
|
if( c.Length != aRows * bColumns) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
if (aColumns != bRows) |
|
|
|
{ |
|
|
|
throw new ArgumentException(Resources.ArgumentMatrixDimensions); |
|
|
|
} |
|
|
|
|
|
|
|
SafeNativeMethods.c_matrix_multiply(transposeA, transposeB, m, n, k, ref alpha, a, b, ref beta, c); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|