From 00cf3d197edf04052866b59a8f6748d9d2f94a5c Mon Sep 17 00:00:00 2001 From: Christoph Ruegg Date: Mon, 16 Sep 2013 18:12:00 +0200 Subject: [PATCH] LA: iterative solver stop criterium cosmetics, fix potential race (minor) --- .../Complex/Solvers/CompositeSolver.cs | 51 ++----------------- .../StopCriterium/DivergenceStopCriterium.cs | 2 +- .../StopCriterium/FailureStopCriterium.cs | 2 +- .../StopCriterium/ResidualStopCriterium.cs | 2 +- .../Complex32/Solvers/CompositeSolver.cs | 51 ++----------------- .../StopCriterium/DivergenceStopCriterium.cs | 2 +- .../StopCriterium/FailureStopCriterium.cs | 2 +- .../StopCriterium/ResidualStopCriterium.cs | 2 +- .../Double/Solvers/CompositeSolver.cs | 51 ++----------------- .../StopCriterium/DivergenceStopCriterium.cs | 2 +- .../StopCriterium/FailureStopCriterium.cs | 2 +- .../StopCriterium/ResidualStopCriterium.cs | 2 +- .../Single/Solvers/CompositeSolver.cs | 51 ++----------------- .../StopCriterium/DivergenceStopCriterium.cs | 2 +- .../StopCriterium/FailureStopCriterium.cs | 2 +- .../StopCriterium/ResidualStopCriterium.cs | 2 +- .../Solvers/IIterationStopCriterium.cs | 2 +- .../Solvers/IterationCountStopCriterium.cs | 2 +- .../LinearAlgebra/Solvers/Iterator.cs | 2 +- .../DivergenceStopCriteriumTest.cs | 2 +- .../StopCriterium/FailureStopCriteriumTest.cs | 2 +- .../IterationCountStopCriteriumTest.cs | 2 +- .../ResidualStopCriteriumTest.cs | 2 +- .../DivergenceStopCriteriumTest.cs | 2 +- .../StopCriterium/FailureStopCriteriumTest.cs | 2 +- .../IterationCountStopCriteriumTest.cs | 2 +- .../ResidualStopCriteriumTest.cs | 2 +- .../DivergenceStopCriteriumTest.cs | 2 +- .../StopCriterium/FailureStopCriteriumTest.cs | 2 +- .../IterationCountStopCriteriumTest.cs | 2 +- .../ResidualStopCriteriumTest.cs | 2 +- .../DivergenceStopCriteriumTest.cs | 2 +- .../StopCriterium/FailureStopCriteriumTest.cs | 2 +- .../IterationCountStopCriteriumTest.cs | 2 +- .../ResidualStopCriteriumTest.cs | 2 +- 35 files changed, 43 insertions(+), 223 deletions(-) diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs index bc8eb73c..199fe524 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/CompositeSolver.cs @@ -400,9 +400,10 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers public void StopSolve() { _hasBeenStopped = true; - if (_currentSolver != null) + var currentSolver = _currentSolver; + if (currentSolver != null) { - _currentSolver.StopSolve(); + currentSolver.StopSolve(); } } @@ -415,11 +416,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// The result vector, x. public Vector Solve(Matrix matrix, Vector vector) { - if (vector == null) - { - throw new ArgumentNullException(); - } - var result = new DenseVector(matrix.RowCount); Solve(matrix, vector, result); return result; @@ -440,27 +436,11 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers _hasBeenStopped = false; _currentSolver = null; - // Error checks - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - if (matrix.RowCount != matrix.ColumnCount) { throw new ArgumentException(Resources.ArgumentMatrixSquare, "matrix"); } - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (result.Count != input.Count) { throw new ArgumentException(Resources.ArgumentVectorsSameLength); @@ -576,16 +556,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// The result matrix, X. public Matrix Solve(Matrix matrix, Matrix input) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - var result = matrix.CreateMatrix(input.RowCount, input.ColumnCount); Solve(matrix, input, result); return result; @@ -600,21 +570,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers /// The result matrix, X public void Solve(Matrix matrix, Matrix input, Matrix result) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (matrix.RowCount != input.RowCount || input.RowCount != result.RowCount || input.ColumnCount != result.ColumnCount) { throw Matrix.DimensionsDontMatch(matrix, input, result); diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/DivergenceStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/DivergenceStopCriterium.cs index 6bbfaa9c..0f0a550f 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/DivergenceStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/DivergenceStopCriterium.cs @@ -316,7 +316,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/FailureStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/FailureStopCriterium.cs index fda82649..ab351e88 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/FailureStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/FailureStopCriterium.cs @@ -120,7 +120,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/ResidualStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/ResidualStopCriterium.cs index 42b867ab..12415970 100644 --- a/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/ResidualStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex/Solvers/StopCriterium/ResidualStopCriterium.cs @@ -311,7 +311,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _iterationCount = 0; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs index 56a675ff..fcf5ee9b 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/CompositeSolver.cs @@ -392,9 +392,10 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers public void StopSolve() { _hasBeenStopped = true; - if (_currentSolver != null) + var currentSolver = _currentSolver; + if (currentSolver != null) { - _currentSolver.StopSolve(); + currentSolver.StopSolve(); } } @@ -407,11 +408,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// The result vector, x. public Vector Solve(Matrix matrix, Vector vector) { - if (vector == null) - { - throw new ArgumentNullException(); - } - var result = new DenseVector(matrix.RowCount); Solve(matrix, vector, result); return result; @@ -432,27 +428,11 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers _hasBeenStopped = false; _currentSolver = null; - // Error checks - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - if (matrix.RowCount != matrix.ColumnCount) { throw new ArgumentException(Resources.ArgumentMatrixSquare, "matrix"); } - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (result.Count != input.Count) { throw new ArgumentException(Resources.ArgumentVectorsSameLength); @@ -568,16 +548,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// The result matrix, X. public Matrix Solve(Matrix matrix, Matrix input) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - var result = matrix.CreateMatrix(input.RowCount, input.ColumnCount); Solve(matrix, input, result); return result; @@ -592,21 +562,6 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers /// The result matrix, X public void Solve(Matrix matrix, Matrix input, Matrix result) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (matrix.RowCount != input.RowCount || input.RowCount != result.RowCount || input.ColumnCount != result.ColumnCount) { throw Matrix.DimensionsDontMatch(matrix, input, result); diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/DivergenceStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/DivergenceStopCriterium.cs index 4b548bdd..4b06fe24 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/DivergenceStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/DivergenceStopCriterium.cs @@ -311,7 +311,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/FailureStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/FailureStopCriterium.cs index 67e57ef6..150a0504 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/FailureStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/FailureStopCriterium.cs @@ -115,7 +115,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/ResidualStopCriterium.cs b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/ResidualStopCriterium.cs index 6e728da3..81ff9a16 100644 --- a/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/ResidualStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Complex32/Solvers/StopCriterium/ResidualStopCriterium.cs @@ -306,7 +306,7 @@ namespace MathNet.Numerics.LinearAlgebra.Complex32.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _iterationCount = 0; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs index 3f0b4ce3..dde00b9e 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/CompositeSolver.cs @@ -389,9 +389,10 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers public void StopSolve() { _hasBeenStopped = true; - if (_currentSolver != null) + var currentSolver = _currentSolver; + if (currentSolver != null) { - _currentSolver.StopSolve(); + currentSolver.StopSolve(); } } @@ -404,11 +405,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// The result vector, x. public Vector Solve(Matrix matrix, Vector vector) { - if (vector == null) - { - throw new ArgumentNullException(); - } - var result = new DenseVector(matrix.RowCount); Solve(matrix, vector, result); return result; @@ -429,27 +425,11 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers _hasBeenStopped = false; _currentSolver = null; - // Error checks - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - if (matrix.RowCount != matrix.ColumnCount) { throw new ArgumentException(Resources.ArgumentMatrixSquare, "matrix"); } - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (result.Count != input.Count) { throw new ArgumentException(Resources.ArgumentVectorsSameLength); @@ -565,16 +545,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// The result matrix, X. public Matrix Solve(Matrix matrix, Matrix input) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - var result = matrix.CreateMatrix(input.RowCount, input.ColumnCount); Solve(matrix, input, result); return result; @@ -589,21 +559,6 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers /// The result matrix, X public void Solve(Matrix matrix, Matrix input, Matrix result) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (matrix.RowCount != input.RowCount || input.RowCount != result.RowCount || input.ColumnCount != result.ColumnCount) { throw Matrix.DimensionsDontMatch(matrix, input, result); diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/DivergenceStopCriterium.cs b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/DivergenceStopCriterium.cs index c5468f47..c81fd02e 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/DivergenceStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/DivergenceStopCriterium.cs @@ -309,7 +309,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/FailureStopCriterium.cs b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/FailureStopCriterium.cs index 7f561148..c216998a 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/FailureStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/FailureStopCriterium.cs @@ -113,7 +113,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/ResidualStopCriterium.cs b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/ResidualStopCriterium.cs index f4246483..bb1dc3ad 100644 --- a/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/ResidualStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Double/Solvers/StopCriterium/ResidualStopCriterium.cs @@ -304,7 +304,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _iterationCount = 0; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs index d516faf5..bd1d751e 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/CompositeSolver.cs @@ -392,9 +392,10 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers public void StopSolve() { _hasBeenStopped = true; - if (_currentSolver != null) + var currentSolver = _currentSolver; + if (currentSolver != null) { - _currentSolver.StopSolve(); + currentSolver.StopSolve(); } } @@ -407,11 +408,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// The result vector, x. public Vector Solve(Matrix matrix, Vector vector) { - if (vector == null) - { - throw new ArgumentNullException(); - } - var result = new DenseVector(matrix.RowCount); Solve(matrix, vector, result); return result; @@ -432,27 +428,11 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers _hasBeenStopped = false; _currentSolver = null; - // Error checks - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - if (matrix.RowCount != matrix.ColumnCount) { throw new ArgumentException(Resources.ArgumentMatrixSquare, "matrix"); } - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (result.Count != input.Count) { throw new ArgumentException(Resources.ArgumentVectorsSameLength); @@ -568,16 +548,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// The result matrix, X. public Matrix Solve(Matrix matrix, Matrix input) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - var result = matrix.CreateMatrix(input.RowCount, input.ColumnCount); Solve(matrix, input, result); return result; @@ -592,21 +562,6 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers /// The result matrix, X public void Solve(Matrix matrix, Matrix input, Matrix result) { - if (matrix == null) - { - throw new ArgumentNullException("matrix"); - } - - if (input == null) - { - throw new ArgumentNullException("input"); - } - - if (result == null) - { - throw new ArgumentNullException("result"); - } - if (matrix.RowCount != input.RowCount || input.RowCount != result.RowCount || input.ColumnCount != result.ColumnCount) { throw Matrix.DimensionsDontMatch(matrix, input, result); diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/DivergenceStopCriterium.cs b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/DivergenceStopCriterium.cs index 77ff444b..af4fd7ad 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/DivergenceStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/DivergenceStopCriterium.cs @@ -309,7 +309,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/FailureStopCriterium.cs b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/FailureStopCriterium.cs index 614b7579..a2b117dc 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/FailureStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/FailureStopCriterium.cs @@ -113,7 +113,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _lastIteration = DefaultLastIterationNumber; diff --git a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/ResidualStopCriterium.cs b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/ResidualStopCriterium.cs index c07e5b23..386ee27f 100644 --- a/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/ResidualStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Single/Solvers/StopCriterium/ResidualStopCriterium.cs @@ -304,7 +304,7 @@ namespace MathNet.Numerics.LinearAlgebra.Single.Solvers.StopCriterium /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; _iterationCount = 0; diff --git a/src/Numerics/LinearAlgebra/Solvers/IIterationStopCriterium.cs b/src/Numerics/LinearAlgebra/Solvers/IIterationStopCriterium.cs index d216220c..29718f91 100644 --- a/src/Numerics/LinearAlgebra/Solvers/IIterationStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Solvers/IIterationStopCriterium.cs @@ -64,7 +64,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers /// To implementers: Invoking this method should not clear the user defined /// property values, only the state that is used to track the progress of the /// calculation. - void ResetToPrecalculationState(); + void Reset(); IIterationStopCriterium Clone(); } diff --git a/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterium.cs b/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterium.cs index de7bad30..6b97771b 100644 --- a/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterium.cs +++ b/src/Numerics/LinearAlgebra/Solvers/IterationCountStopCriterium.cs @@ -150,7 +150,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers /// /// Resets the to the pre-calculation state. /// - public void ResetToPrecalculationState() + public void Reset() { _status = IterationStatus.Indetermined; } diff --git a/src/Numerics/LinearAlgebra/Solvers/Iterator.cs b/src/Numerics/LinearAlgebra/Solvers/Iterator.cs index 1504dba7..07371111 100644 --- a/src/Numerics/LinearAlgebra/Solvers/Iterator.cs +++ b/src/Numerics/LinearAlgebra/Solvers/Iterator.cs @@ -175,7 +175,7 @@ namespace MathNet.Numerics.LinearAlgebra.Solvers foreach (var stopCriterium in _stopCriteria) { - stopCriterium.ResetToPrecalculationState(); + stopCriterium.Reset(); } } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs index 85d95ca6..3a89ea90 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs @@ -257,7 +257,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit Assert.AreEqual(IterationStatus.Diverged, status, "Status check fail."); // Reset the state - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(Increase, criterium.MaximumRelativeIncrease, "Incorrect maximum"); Assert.AreEqual(Iterations, criterium.MinimumNumberOfIterations, "Incorrect iteration count"); diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/FailureStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/FailureStopCriteriumTest.cs index e0639912..a8cb630d 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/FailureStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/FailureStopCriteriumTest.cs @@ -145,7 +145,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index 39fcc962..bca21dc9 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -117,7 +117,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit var status = criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/ResidualStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/ResidualStopCriteriumTest.cs index bff3d30e..536bda16 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/ResidualStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex/Solvers/StopCriterium/ResidualStopCriteriumTest.cs @@ -261,7 +261,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex.Solvers.StopCrit var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs index 44c68367..96e1ac4a 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs @@ -256,7 +256,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr Assert.AreEqual(IterationStatus.Diverged, status, "Status check fail."); // Reset the state - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(Increase, criterium.MaximumRelativeIncrease, "Incorrect maximum"); Assert.AreEqual(Iterations, criterium.MinimumNumberOfIterations, "Incorrect iteration count"); diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/FailureStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/FailureStopCriteriumTest.cs index ce1fc772..1f0e8232 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/FailureStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/FailureStopCriteriumTest.cs @@ -145,7 +145,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index 8fa01ba5..ddef76be 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -117,7 +117,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr var status = criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/ResidualStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/ResidualStopCriteriumTest.cs index 34170a44..727a83ba 100644 --- a/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/ResidualStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Complex32/Solvers/StopCriterium/ResidualStopCriteriumTest.cs @@ -261,7 +261,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Complex32.Solvers.StopCr var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs index b2b94922..72f07284 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite Assert.AreEqual(IterationStatus.Diverged, status, "Status check fail."); // Reset the state - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(Increase, criterium.MaximumRelativeIncrease, "Incorrect maximum"); Assert.AreEqual(Iterations, criterium.MinimumNumberOfIterations, "Incorrect iteration count"); diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/FailureStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/FailureStopCriteriumTest.cs index 97a9710c..0d5c91ad 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/FailureStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/FailureStopCriteriumTest.cs @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index f133235e..e104384f 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -115,7 +115,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite var status = criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/ResidualStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/ResidualStopCriteriumTest.cs index 5ae0bc1b..65476a09 100644 --- a/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/ResidualStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Double/Solvers/StopCriterium/ResidualStopCriteriumTest.cs @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Double.Solvers.StopCrite var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs index dfc24463..f89cea99 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/DivergenceStopCriteriumTest.cs @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite Assert.AreEqual(IterationStatus.Diverged, status, "Status check fail."); // Reset the state - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(Increase, criterium.MaximumRelativeIncrease, "Incorrect maximum"); Assert.AreEqual(Iterations, criterium.MinimumNumberOfIterations, "Incorrect iteration count"); diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/FailureStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/FailureStopCriteriumTest.cs index 7289b48f..ba04813a 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/FailureStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/FailureStopCriteriumTest.cs @@ -143,7 +143,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs index 51924ff8..3b92f738 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/IterationCountStopCriteriumTest.cs @@ -115,7 +115,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite var status = criterium.DetermineStatus(5, DenseVector.Create(3, i => 1), DenseVector.Create(3, i => 2), DenseVector.Create(3, i => 3)); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); } diff --git a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/ResidualStopCriteriumTest.cs b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/ResidualStopCriteriumTest.cs index f3955bee..e0099ed9 100644 --- a/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/ResidualStopCriteriumTest.cs +++ b/src/UnitTests/LinearAlgebraTests/Single/Solvers/StopCriterium/ResidualStopCriteriumTest.cs @@ -255,7 +255,7 @@ namespace MathNet.Numerics.UnitTests.LinearAlgebraTests.Single.Solvers.StopCrite var status = criterium.DetermineStatus(5, solution, source, residual); Assert.AreEqual(IterationStatus.Running, status, "Should be running"); - criterium.ResetToPrecalculationState(); + criterium.Reset(); Assert.AreEqual(IterationStatus.Indetermined, criterium.Status, "Should not have started"); }