diff --git a/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs b/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs index 6bf604ec..069c98b2 100644 --- a/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs +++ b/src/Numerics/Algorithms/LinearAlgebra/ManagedLinearAlgebraProvider.cs @@ -434,8 +434,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra cColumns = bColumns; } - if (Precision.AlmostEqual(0.0, alpha) - && Precision.AlmostEqual(0.0, beta)) + if (alpha == 0.0 && beta == 0.0) { Array.Clear(c, 0, c.Length); return; @@ -465,9 +464,9 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra bdata = b; } - if (Precision.AlmostEqual(1.0, alpha)) + if (alpha == 1.0) { - if (Precision.AlmostEqual(0.0, beta)) + if (beta == 0.0) { if ((int)transposeA > 111 && (int)transposeB > 111) { @@ -1227,8 +1226,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra cColumns = bColumns; } - if (Precision.AlmostEqual(0.0, alpha) - && Precision.AlmostEqual(0.0, beta)) + if (alpha == 0.0 && beta == 0.0) { Array.Clear(c, 0, c.Length); return; @@ -1258,9 +1256,9 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra bdata = b; } - if (Precision.AlmostEqual(1.0, alpha)) + if (alpha == 1.0) { - if (Precision.AlmostEqual(0.0, beta)) + if (beta == 0.0) { if ((int)transposeA > 111 && (int)transposeB > 111) { @@ -2020,8 +2018,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra cColumns = bColumns; } - if (Precision.AlmostEqual(0.0, alpha) - && Precision.AlmostEqual(0.0, beta)) + if (alpha == 0.0 && beta == 0.0) { Array.Clear(c, 0, c.Length); return; @@ -2051,9 +2048,9 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra bdata = b; } - if (Precision.AlmostEqual(1.0, alpha)) + if (alpha == 1.0) { - if (Precision.AlmostEqual(0.0, beta)) + if (beta == 0.0) { if ((int)transposeA > 111 && (int)transposeB > 111) { @@ -2781,8 +2778,7 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra cColumns = bColumns; } - if (Precision.AlmostEqual((Complex32)0.0, alpha) - && Precision.AlmostEqual((Complex32)0.0, beta)) + if (alpha.IsZero && beta.IsZero) { Array.Clear(c, 0, c.Length); return; @@ -2812,9 +2808,9 @@ namespace MathNet.Numerics.Algorithms.LinearAlgebra bdata = b; } - if (Precision.AlmostEqual((Complex32)1.0, alpha)) + if (alpha.IsOne) { - if (Precision.AlmostEqual((Complex32)0.0, beta)) + if (beta.IsZero) { if ((int)transposeA > 111 && (int)transposeB > 111) { diff --git a/src/Numerics/LinearAlgebra/Double/DenseVector.cs b/src/Numerics/LinearAlgebra/Double/DenseVector.cs index daf377e2..deae7518 100644 --- a/src/Numerics/LinearAlgebra/Double/DenseVector.cs +++ b/src/Numerics/LinearAlgebra/Double/DenseVector.cs @@ -612,10 +612,11 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// The scalar to multiply. public override void Multiply(double scalar) { - if (scalar.AlmostEqual(1.0)) + if (scalar == 1.0) { return; } + Control.LinearAlgebraProvider.ScaleArray(scalar, Data); } diff --git a/src/Numerics/LinearAlgebra/Double/Vector.cs b/src/Numerics/LinearAlgebra/Double/Vector.cs index 81dc647c..58e61b51 100644 --- a/src/Numerics/LinearAlgebra/Double/Vector.cs +++ b/src/Numerics/LinearAlgebra/Double/Vector.cs @@ -335,7 +335,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// The scalar to multiply. public virtual void Multiply(double scalar) { - if (scalar.AlmostEqual(1.0)) + if (scalar == 1.0) { return; } @@ -376,7 +376,7 @@ namespace MathNet.Numerics.LinearAlgebra.Double /// The scalar to divide with. public virtual void Divide(double scalar) { - if (scalar.AlmostEqual(1.0)) + if (scalar == 1.0) { return; }