Browse Source

Changed Precision.Value to Precision.GetMagnitudeScaledValue

Signed-off-by: Christoph Ruegg <git@cdrnet.ch>
pull/36/head
P. van der Velde 17 years ago
committed by Christoph Ruegg
parent
commit
5f38d4e010
  1. 48
      src/Managed.UnitTests/PrecisionTest.cs
  2. 2
      src/Managed/Precision.cs

48
src/Managed.UnitTests/PrecisionTest.cs

@ -91,40 +91,40 @@ namespace MathNet.Numerics.UnitTests
[Test]
public void Value()
{
Assert.AreApproximatelyEqual<double,double>(0, Precision.Value(0), _acceptableError);
Assert.AreApproximatelyEqual<double,double>(0, Precision.GetMagnitudeScaledValue(0), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(1), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(10), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(100), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(1000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(10000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(100000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.Value(1000000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(1), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(10), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(100), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(1000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(10000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(100000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(1, Precision.GetMagnitudeScaledValue(1000000), _acceptableError);
Assert.AreApproximatelyEqual<double,double>(1.1, Precision.Value(1.1e5), _acceptableError);
Assert.AreApproximatelyEqual<double,double>(2.2, Precision.Value(2.2e-5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(3.3, Precision.Value(3.3e9), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(4.4, Precision.Value(4.4e-11), _acceptableError);
Assert.AreApproximatelyEqual<double,double>(1.1, Precision.GetMagnitudeScaledValue(1.1e5), _acceptableError);
Assert.AreApproximatelyEqual<double,double>(2.2, Precision.GetMagnitudeScaledValue(2.2e-5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(3.3, Precision.GetMagnitudeScaledValue(3.3e9), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(4.4, Precision.GetMagnitudeScaledValue(4.4e-11), _acceptableError);
}
// Bug fix test: Magnitude of negative numbers returns zero
[Test]
public void ValueWithNegativeValues()
{
Assert.AreApproximatelyEqual<double, double>(0, Precision.Value(0), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(0, Precision.GetMagnitudeScaledValue(0), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-1), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-10), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-100), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-1000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-10000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-100000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.Value(-1000000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-1), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-10), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-100), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-1000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-10000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-100000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1, Precision.GetMagnitudeScaledValue(-1000000), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1.1, Precision.Value(-1.1e5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-2.2, Precision.Value(-2.2e-5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-3.3, Precision.Value(-3.3e9), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-4.4, Precision.Value(-4.4e-11), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-1.1, Precision.GetMagnitudeScaledValue(-1.1e5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-2.2, Precision.GetMagnitudeScaledValue(-2.2e-5), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-3.3, Precision.GetMagnitudeScaledValue(-3.3e9), _acceptableError);
Assert.AreApproximatelyEqual<double, double>(-4.4, Precision.GetMagnitudeScaledValue(-4.4e-11), _acceptableError);
}
[Test]

2
src/Managed/Precision.cs

@ -161,7 +161,7 @@ namespace MathNet.Numerics
/// </summary>
/// <param name="value">The value.</param>
/// <returns>The value of the number.</returns>
public static double Value(this double value)
public static double GetMagnitudeScaledValue(this double value)
{
if (value.Equals(0.0))
{

Loading…
Cancel
Save