Browse Source

bug: added missing leftmultiply fix that was dropped during the last merge

minor optimization for scalar matrix multiply for user defined matrices
la-knuth
Marcus Cuda 16 years ago
parent
commit
fc6b50ad3b
  1. 3
      src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs
  2. 1
      src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs
  3. 3
      src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs
  4. 1
      src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs
  5. 1
      src/Numerics/LinearAlgebra/Double/DenseMatrix.cs
  6. 1
      src/Numerics/LinearAlgebra/Double/SparseMatrix.cs
  7. 2
      src/Numerics/LinearAlgebra/Generic/Matrix.Arithmetic.cs
  8. 3
      src/Numerics/LinearAlgebra/Single/DenseMatrix.cs
  9. 1
      src/Numerics/LinearAlgebra/Single/SparseMatrix.cs

3
src/Numerics/LinearAlgebra/Complex/DenseMatrix.cs

@ -340,6 +340,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data); Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data);
} }
} }
@ -397,7 +398,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
1.0, 1.0,
denseLeft.Data, denseLeft.Data,
1, 1,
denseResult.Count, denseLeft.Count,
Data, Data,
RowCount, RowCount,
ColumnCount, ColumnCount,

1
src/Numerics/LinearAlgebra/Complex/SparseMatrix.cs

@ -1238,6 +1238,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues); Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues);
} }
} }

3
src/Numerics/LinearAlgebra/Complex32/DenseMatrix.cs

@ -340,6 +340,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data); Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data);
} }
} }
@ -397,7 +398,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
1.0f, 1.0f,
denseLeft.Data, denseLeft.Data,
1, 1,
denseResult.Count, denseLeft.Count,
Data, Data,
RowCount, RowCount,
ColumnCount, ColumnCount,

1
src/Numerics/LinearAlgebra/Complex32/SparseMatrix.cs

@ -1238,6 +1238,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues); Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues);
} }
} }

1
src/Numerics/LinearAlgebra/Double/DenseMatrix.cs

@ -329,6 +329,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data); Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data);
} }
} }

1
src/Numerics/LinearAlgebra/Double/SparseMatrix.cs

@ -1237,6 +1237,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues); Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues);
} }
} }

2
src/Numerics/LinearAlgebra/Generic/Matrix.Arithmetic.cs

@ -218,7 +218,7 @@ namespace MathNet.Numerics.LinearAlgebra.Generic
return; return;
} }
CopyTo(result); //CopyTo(result);
DoMultiply(scalar, result); DoMultiply(scalar, result);
} }

3
src/Numerics/LinearAlgebra/Single/DenseMatrix.cs

@ -329,6 +329,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data); Control.LinearAlgebraProvider.ScaleArray(scalar, denseResult.Data);
} }
} }
@ -386,7 +387,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
1.0f, 1.0f,
denseLeft.Data, denseLeft.Data,
1, 1,
denseResult.Count, denseLeft.Count,
Data, Data,
RowCount, RowCount,
ColumnCount, ColumnCount,

1
src/Numerics/LinearAlgebra/Single/SparseMatrix.cs

@ -1237,6 +1237,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single
} }
else else
{ {
CopyTo(result);
Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues); Control.LinearAlgebraProvider.ScaleArray(scalar, sparseResult._nonZeroValues);
} }
} }

Loading…
Cancel
Save