diff --git a/src/Numerics/Interpolation/AkimaSplineInterpolation.cs b/src/Numerics/Interpolation/AkimaSplineInterpolation.cs index de5180cf..91a452d7 100644 --- a/src/Numerics/Interpolation/AkimaSplineInterpolation.cs +++ b/src/Numerics/Interpolation/AkimaSplineInterpolation.cs @@ -60,9 +60,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public AkimaSplineInterpolation( - IList samplePoints, - IList sampleValues) + public AkimaSplineInterpolation(IList samplePoints, IList sampleValues) { _spline = new CubicHermiteSplineInterpolation(); Initialize(samplePoints, sampleValues); @@ -92,14 +90,9 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { - double[] derivatives = EvaluateSplineDerivatives( - samplePoints, - sampleValues); - + double[] derivatives = EvaluateSplineDerivatives(samplePoints, sampleValues); _spline.Initialize(samplePoints, sampleValues, derivatives); } @@ -110,9 +103,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t, sorted ascending. /// Sample Values x(t) /// Spline Derivative Vector - public static double[] EvaluateSplineDerivatives( - IList samplePoints, - IList sampleValues) + public static double[] EvaluateSplineDerivatives(IList samplePoints, IList sampleValues) { if (null == samplePoints) { @@ -188,18 +179,10 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t, sorted ascending. /// Sample Values x(t) /// Spline Coefficient Vector - public static double[] EvaluateSplineCoefficients( - IList samplePoints, - IList sampleValues) + public static double[] EvaluateSplineCoefficients(IList samplePoints, IList sampleValues) { - double[] derivatives = EvaluateSplineDerivatives( - samplePoints, - sampleValues); - - return CubicHermiteSplineInterpolation.EvaluateSplineCoefficients( - samplePoints, - sampleValues, - derivatives); + double[] derivatives = EvaluateSplineDerivatives(samplePoints, sampleValues); + return CubicHermiteSplineInterpolation.EvaluateSplineCoefficients(samplePoints, sampleValues, derivatives); } /// @@ -213,12 +196,8 @@ namespace MathNet.Numerics.Interpolation /// Index of the third sample. /// The derivative approximation. static double DifferentiateThreePoint( - IList samplePoints, - IList sampleValues, - int indexT, - int index0, - int index1, - int index2) + IList samplePoints, IList sampleValues, + int indexT, int index0, int index1, int index2) { double x0 = sampleValues[index0]; double x1 = sampleValues[index1]; diff --git a/src/Numerics/Interpolation/BarycentricInterpolation.cs b/src/Numerics/Interpolation/BarycentricInterpolation.cs index 3ba724b6..89cc0ccb 100644 --- a/src/Numerics/Interpolation/BarycentricInterpolation.cs +++ b/src/Numerics/Interpolation/BarycentricInterpolation.cs @@ -69,10 +69,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t (no sorting assumed) /// Sample Values x(t) /// Barycentric weights w(t) - public BarycentricInterpolation( - IList samplePoints, - IList sampleValues, - IList barycentricWeights) + public BarycentricInterpolation(IList samplePoints, IList sampleValues, IList barycentricWeights) { Initialize(samplePoints, sampleValues, barycentricWeights); } @@ -102,10 +99,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t /// Sample Values x(t) /// Barycentric weights w(t) - public void Initialize( - IList samplePoints, - IList sampleValues, - IList barycentricWeights) + public void Initialize(IList samplePoints, IList sampleValues, IList barycentricWeights) { if (null == samplePoints) { diff --git a/src/Numerics/Interpolation/BulirschStoerRationalInterpolation.cs b/src/Numerics/Interpolation/BulirschStoerRationalInterpolation.cs index 433203e8..cc36a6ca 100644 --- a/src/Numerics/Interpolation/BulirschStoerRationalInterpolation.cs +++ b/src/Numerics/Interpolation/BulirschStoerRationalInterpolation.cs @@ -65,9 +65,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t /// Sample Values x(t) - public BulirschStoerRationalInterpolation( - IList samplePoints, - IList sampleValues) + public BulirschStoerRationalInterpolation(IList samplePoints, IList sampleValues) { Initialize(samplePoints, sampleValues); } @@ -96,9 +94,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { if (null == samplePoints) { diff --git a/src/Numerics/Interpolation/CubicHermiteSplineInterpolation.cs b/src/Numerics/Interpolation/CubicHermiteSplineInterpolation.cs index 23649bd6..b4b88682 100644 --- a/src/Numerics/Interpolation/CubicHermiteSplineInterpolation.cs +++ b/src/Numerics/Interpolation/CubicHermiteSplineInterpolation.cs @@ -61,10 +61,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t, sorted ascending. /// Sample Values x(t) /// Sample Derivatives x'(t) - public CubicHermiteSplineInterpolation( - IList samplePoints, - IList sampleValues, - IList sampleDerivatives) + public CubicHermiteSplineInterpolation(IList samplePoints, IList sampleValues, IList sampleDerivatives) { _spline = new SplineInterpolation(); Initialize(samplePoints, sampleValues, sampleDerivatives); @@ -95,16 +92,9 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t, sorted ascending. /// Sample Values x(t) /// Sample Derivatives x'(t) - public void Initialize( - IList samplePoints, - IList sampleValues, - IList sampleDerivatives) + public void Initialize(IList samplePoints, IList sampleValues, IList sampleDerivatives) { - double[] coefficients = EvaluateSplineCoefficients( - samplePoints, - sampleValues, - sampleDerivatives); - + double[] coefficients = EvaluateSplineCoefficients(samplePoints, sampleValues, sampleDerivatives); _spline.Initialize(samplePoints, coefficients); } @@ -116,10 +106,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Values x(t) /// Sample Derivatives x'(t) /// Spline Coefficient Vector - public static double[] EvaluateSplineCoefficients( - IList samplePoints, - IList sampleValues, - IList sampleDerivatives) + public static double[] EvaluateSplineCoefficients(IList samplePoints, IList sampleValues, IList sampleDerivatives) { if (null == samplePoints) { @@ -151,7 +138,7 @@ namespace MathNet.Numerics.Interpolation if (samplePoints[i] <= samplePoints[i - 1]) throw new ArgumentException(Resources.Interpolation_Initialize_SamplePointsNotStrictlyAscendingOrder, "samplePoints"); - double[] coefficients = new double[4*(samplePoints.Count - 1)]; + var coefficients = new double[4*(samplePoints.Count - 1)]; for (int i = 0, j = 0; i < samplePoints.Count - 1; i++, j += 4) { diff --git a/src/Numerics/Interpolation/CubicSplineInterpolation.cs b/src/Numerics/Interpolation/CubicSplineInterpolation.cs index 4efb1419..4d695d5d 100644 --- a/src/Numerics/Interpolation/CubicSplineInterpolation.cs +++ b/src/Numerics/Interpolation/CubicSplineInterpolation.cs @@ -60,15 +60,10 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public CubicSplineInterpolation( - IList samplePoints, - IList sampleValues) + public CubicSplineInterpolation(IList samplePoints, IList sampleValues) { _spline = new CubicHermiteSplineInterpolation(); - - Initialize( - samplePoints, - sampleValues); + Initialize(samplePoints, sampleValues); } /// @@ -81,22 +76,16 @@ namespace MathNet.Numerics.Interpolation /// Condition of the right boundary. /// Right boundary value. Ignored in the parabolic case. public CubicSplineInterpolation( - IList samplePoints, - IList sampleValues, - SplineBoundaryCondition leftBoundaryCondition, - double leftBoundary, - SplineBoundaryCondition rightBoundaryCondition, - double rightBoundary) + IList samplePoints, IList sampleValues, + SplineBoundaryCondition leftBoundaryCondition, double leftBoundary, + SplineBoundaryCondition rightBoundaryCondition, double rightBoundary) { _spline = new CubicHermiteSplineInterpolation(); Initialize( - samplePoints, - sampleValues, - leftBoundaryCondition, - leftBoundary, - rightBoundaryCondition, - rightBoundary); + samplePoints, sampleValues, + leftBoundaryCondition, leftBoundary, + rightBoundaryCondition, rightBoundary); } /// @@ -123,18 +112,11 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { - double[] derivatives = EvaluateSplineDerivatives( - samplePoints, - sampleValues, - SplineBoundaryCondition.SecondDerivative, - 0.0, - SplineBoundaryCondition.SecondDerivative, - 0.0); - + double[] derivatives = EvaluateSplineDerivatives(samplePoints, sampleValues, + SplineBoundaryCondition.SecondDerivative, 0.0, + SplineBoundaryCondition.SecondDerivative, 0.0); _spline.Initialize(samplePoints, sampleValues, derivatives); } @@ -148,21 +130,14 @@ namespace MathNet.Numerics.Interpolation /// Condition of the right boundary. /// Right boundary value. Ignored in the parabolic case. public void Initialize( - IList samplePoints, - IList sampleValues, - SplineBoundaryCondition leftBoundaryCondition, - double leftBoundary, - SplineBoundaryCondition rightBoundaryCondition, - double rightBoundary) + IList samplePoints, IList sampleValues, + SplineBoundaryCondition leftBoundaryCondition, double leftBoundary, + SplineBoundaryCondition rightBoundaryCondition, double rightBoundary) { double[] derivatives = EvaluateSplineDerivatives( - samplePoints, - sampleValues, - leftBoundaryCondition, - leftBoundary, - rightBoundaryCondition, - rightBoundary); - + samplePoints, sampleValues, + leftBoundaryCondition, leftBoundary, + rightBoundaryCondition, rightBoundary); _spline.Initialize(samplePoints, sampleValues, derivatives); } @@ -178,12 +153,9 @@ namespace MathNet.Numerics.Interpolation /// Right boundary value. Ignored in the parabolic case. /// Spline Derivative Vector public static double[] EvaluateSplineDerivatives( - IList samplePoints, - IList sampleValues, - SplineBoundaryCondition leftBoundaryCondition, - double leftBoundary, - SplineBoundaryCondition rightBoundaryCondition, - double rightBoundary) + IList samplePoints, IList sampleValues, + SplineBoundaryCondition leftBoundaryCondition, double leftBoundary, + SplineBoundaryCondition rightBoundaryCondition, double rightBoundary) { if (null == samplePoints) { @@ -314,25 +286,15 @@ namespace MathNet.Numerics.Interpolation /// Right boundary value. Ignored in the parabolic case. /// Spline Coefficient Vector public static double[] EvaluateSplineCoefficients( - IList samplePoints, - IList sampleValues, - SplineBoundaryCondition leftBoundaryCondition, - double leftBoundary, - SplineBoundaryCondition rightBoundaryCondition, - double rightBoundary) + IList samplePoints, IList sampleValues, + SplineBoundaryCondition leftBoundaryCondition, double leftBoundary, + SplineBoundaryCondition rightBoundaryCondition, double rightBoundary) { double[] derivatives = EvaluateSplineDerivatives( - samplePoints, - sampleValues, - leftBoundaryCondition, - leftBoundary, - rightBoundaryCondition, - rightBoundary); - - return CubicHermiteSplineInterpolation.EvaluateSplineCoefficients( - samplePoints, - sampleValues, - derivatives); + samplePoints, sampleValues, + leftBoundaryCondition, leftBoundary, + rightBoundaryCondition, rightBoundary); + return CubicHermiteSplineInterpolation.EvaluateSplineCoefficients(samplePoints, sampleValues, derivatives); } /// @@ -343,11 +305,7 @@ namespace MathNet.Numerics.Interpolation /// The c-vector[n]. /// The d-vector[n], will be modified by this function. /// The x-vector[n] - static double[] SolveTridiagonal( - double[] a, - double[] b, - double[] c, - double[] d) + static double[] SolveTridiagonal(double[] a, double[] b, double[] c, double[] d) { double[] x = new double[a.Length]; diff --git a/src/Numerics/Interpolation/EquidistantPolynomialInterpolation.cs b/src/Numerics/Interpolation/EquidistantPolynomialInterpolation.cs index 3b8d5742..bf3d155f 100644 --- a/src/Numerics/Interpolation/EquidistantPolynomialInterpolation.cs +++ b/src/Numerics/Interpolation/EquidistantPolynomialInterpolation.cs @@ -60,10 +60,7 @@ namespace MathNet.Numerics.Interpolation /// Left bound of the sample point interval. /// Right bound of the sample point interval. /// Sample Values x(t) where t is equidistant over [a,b], i.e. x[i] = x(a+(b-a)*i/(n-1)) - public EquidistantPolynomialInterpolation( - double leftBound, - double rightBound, - IList sampleValues) + public EquidistantPolynomialInterpolation(double leftBound, double rightBound, IList sampleValues) { _barycentric = new BarycentricInterpolation(); Initialize(leftBound, rightBound, sampleValues); @@ -74,9 +71,7 @@ namespace MathNet.Numerics.Interpolation /// /// Equidistant Sample Points t = a+(b-a)*i/(n-1) /// Sample Values x(t) where t are equidistant over [a,b], i.e. x[i] = x(a+(b-a)*i/(n-1)) - public EquidistantPolynomialInterpolation( - IList samplePoints, - IList sampleValues) + public EquidistantPolynomialInterpolation(IList samplePoints, IList sampleValues) { _barycentric = new BarycentricInterpolation(); Initialize(samplePoints, sampleValues); @@ -107,10 +102,7 @@ namespace MathNet.Numerics.Interpolation /// Left bound of the sample point interval. /// Right bound of the sample point interval. /// Sample Values x(t) where t are equidistant over [a,b], i.e. x[i] = x(a+(b-a)*i/(n-1)) - public void Initialize( - double leftBound, - double rightBound, - IList sampleValues) + public void Initialize(double leftBound, double rightBound, IList sampleValues) { if (null == sampleValues) { @@ -140,9 +132,7 @@ namespace MathNet.Numerics.Interpolation /// /// Equidistant Sample Points t = a+(b-a)*i/(n-1) /// Sample Values x(t) where t are equidistant over [a,b], i.e. x[i] = x(a+(b-a)*i/(n-1)) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { if (null == sampleValues) { @@ -150,7 +140,6 @@ namespace MathNet.Numerics.Interpolation } var weights = EvaluateBarycentricWeights(sampleValues.Count); - _barycentric.Initialize(samplePoints, sampleValues, weights); } @@ -160,8 +149,7 @@ namespace MathNet.Numerics.Interpolation /// /// Count of Sample Values x(t). /// Barycentric Weight Vector - public static double[] EvaluateBarycentricWeights( - int sampleCount) + public static double[] EvaluateBarycentricWeights(int sampleCount) { if (sampleCount < 1) { diff --git a/src/Numerics/Interpolation/FloaterHormannRationalInterpolation.cs b/src/Numerics/Interpolation/FloaterHormannRationalInterpolation.cs index 90ea01c3..a6c40b0d 100644 --- a/src/Numerics/Interpolation/FloaterHormannRationalInterpolation.cs +++ b/src/Numerics/Interpolation/FloaterHormannRationalInterpolation.cs @@ -59,9 +59,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t /// Sample Values x(t) - public FloaterHormannRationalInterpolation( - IList samplePoints, - IList sampleValues) + public FloaterHormannRationalInterpolation(IList samplePoints, IList sampleValues) { _barycentric = new BarycentricInterpolation(); Initialize(samplePoints, sampleValues); @@ -76,10 +74,7 @@ namespace MathNet.Numerics.Interpolation /// Order of the interpolation scheme, 0 <= order <= N. /// In most cases a value between 3 and 8 gives good results. /// - public FloaterHormannRationalInterpolation( - IList samplePoints, - IList sampleValues, - int order) + public FloaterHormannRationalInterpolation(IList samplePoints, IList sampleValues, int order) { _barycentric = new BarycentricInterpolation(); Initialize(samplePoints, sampleValues, order); @@ -112,18 +107,14 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t (no sorting assumed) /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { if (null == samplePoints) { throw new ArgumentNullException("samplePoints"); } - double[] weights = EvaluateBarycentricWeights( - samplePoints, - sampleValues, + double[] weights = EvaluateBarycentricWeights(samplePoints, sampleValues, Math.Min(3, samplePoints.Count - 1)); _barycentric.Initialize(samplePoints, sampleValues, weights); @@ -138,16 +129,9 @@ namespace MathNet.Numerics.Interpolation /// Order of the interpolation scheme, 0 <= order <= N. /// In most cases a value between 3 and 8 gives good results. /// - public void Initialize( - IList samplePoints, - IList sampleValues, - int order) + public void Initialize(IList samplePoints, IList sampleValues, int order) { - double[] weights = EvaluateBarycentricWeights( - samplePoints, - sampleValues, - order); - + double[] weights = EvaluateBarycentricWeights(samplePoints, sampleValues, order); _barycentric.Initialize(samplePoints, sampleValues, weights); } @@ -162,10 +146,7 @@ namespace MathNet.Numerics.Interpolation /// In most cases a value between 3 and 8 gives good results. /// /// Barycentric Weight Vector - public static double[] EvaluateBarycentricWeights( - IList samplePoints, - IList sampleValues, - int order) + public static double[] EvaluateBarycentricWeights(IList samplePoints, IList sampleValues, int order) { if (null == samplePoints) { diff --git a/src/Numerics/Interpolation/LinearSplineInterpolation.cs b/src/Numerics/Interpolation/LinearSplineInterpolation.cs index 9d122360..5db1a084 100644 --- a/src/Numerics/Interpolation/LinearSplineInterpolation.cs +++ b/src/Numerics/Interpolation/LinearSplineInterpolation.cs @@ -60,9 +60,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public LinearSplineInterpolation( - IList samplePoints, - IList sampleValues) + public LinearSplineInterpolation(IList samplePoints, IList sampleValues) { _spline = new SplineInterpolation(); Initialize(samplePoints, sampleValues); @@ -92,14 +90,9 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t, sorted ascending. /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { - double[] coefficients = EvaluateSplineCoefficients( - samplePoints, - sampleValues); - + double[] coefficients = EvaluateSplineCoefficients(samplePoints, sampleValues); _spline.Initialize(samplePoints, coefficients); } @@ -110,9 +103,7 @@ namespace MathNet.Numerics.Interpolation /// Sample Points t, sorted ascending. /// Sample Values x(t) /// Spline Coefficient Vector - public static double[] EvaluateSplineCoefficients( - IList samplePoints, - IList sampleValues) + public static double[] EvaluateSplineCoefficients(IList samplePoints, IList sampleValues) { if (null == samplePoints) { diff --git a/src/Numerics/Interpolation/NevillePolynomialInterpolation.cs b/src/Numerics/Interpolation/NevillePolynomialInterpolation.cs index af8fe7a7..c63ed4ca 100644 --- a/src/Numerics/Interpolation/NevillePolynomialInterpolation.cs +++ b/src/Numerics/Interpolation/NevillePolynomialInterpolation.cs @@ -71,9 +71,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t /// Sample Values x(t) - public NevillePolynomialInterpolation( - IList samplePoints, - IList sampleValues) + public NevillePolynomialInterpolation(IList samplePoints, IList sampleValues) { Initialize(samplePoints, sampleValues); } @@ -102,9 +100,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t /// Sample Values x(t) - public void Initialize( - IList samplePoints, - IList sampleValues) + public void Initialize(IList samplePoints, IList sampleValues) { if (null == samplePoints) { @@ -141,7 +137,7 @@ namespace MathNet.Numerics.Interpolation /// Interpolated value x(t). public double Interpolate(double t) { - double[] x = new double[_values.Count]; + var x = new double[_values.Count]; _values.CopyTo(x, 0); for (int level = 1; level < x.Length; level++) @@ -167,8 +163,8 @@ namespace MathNet.Numerics.Interpolation /// public double Differentiate(double t) { - double[] x = new double[_values.Count]; - double[] dx = new double[_values.Count]; + var x = new double[_values.Count]; + var dx = new double[_values.Count]; _values.CopyTo(x, 0); for (int level = 1; level < x.Length; level++) diff --git a/src/Numerics/Interpolation/SplineInterpolation.cs b/src/Numerics/Interpolation/SplineInterpolation.cs index d678c06a..cca27bbd 100644 --- a/src/Numerics/Interpolation/SplineInterpolation.cs +++ b/src/Numerics/Interpolation/SplineInterpolation.cs @@ -69,9 +69,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t (length: N), sorted ascending. /// Spline Coefficients (length: 4*(N-1)). - public SplineInterpolation( - IList samplePoints, - IList splineCoefficients) + public SplineInterpolation(IList samplePoints, IList splineCoefficients) { Initialize(samplePoints, splineCoefficients); } @@ -100,9 +98,7 @@ namespace MathNet.Numerics.Interpolation /// /// Sample Points t (length: N), sorted ascending. /// Spline Coefficients (length: 4*(N-1)). - public void Initialize( - IList samplePoints, - IList splineCoefficients) + public void Initialize(IList samplePoints, IList splineCoefficients) { if (null == samplePoints) {