diff options
author | EgorBo <egorbo@gmail.com> | 2018-07-16 22:52:46 +0300 |
---|---|---|
committer | Marek Safar <marek.safar@gmail.com> | 2018-07-16 23:21:48 +0300 |
commit | ce4fbb9952794b46e8c71134eb5edcb5666c34ea (patch) | |
tree | 8aef693127c7b64d0151c8bd4330d9990c361264 | |
parent | 9b6f88ba79a17ec4b38c4c30d243d4e37ed743cc (diff) |
Cherry-pick changes from dotnet/corert
-rw-r--r-- | src/System.Private.CoreLib/src/System/Number.Unix.cs | 8 | ||||
-rw-r--r-- | src/System.Private.CoreLib/src/System/Number.Windows.cs | 7 |
2 files changed, 7 insertions, 8 deletions
diff --git a/src/System.Private.CoreLib/src/System/Number.Unix.cs b/src/System.Private.CoreLib/src/System/Number.Unix.cs index 72f53f2c0..f9825b141 100644 --- a/src/System.Private.CoreLib/src/System/Number.Unix.cs +++ b/src/System.Private.CoreLib/src/System/Number.Unix.cs @@ -19,10 +19,10 @@ namespace System Debug.Assert(precision > 0 && precision < 40); number.precision = precision; - if (DoubleHelper.Exponent(value) == 0x7ff) + if (!Double.IsFinite(value)) { - number.scale = DoubleHelper.Mantissa(value) != 0 ? ScaleNAN : ScaleINF; - number.sign = DoubleHelper.Sign(value); + number.scale = Double.IsNaN(value) ? ScaleNAN : ScaleINF; + number.sign = Double.IsNegative(value); number.digits[0] = '\0'; return; } @@ -162,4 +162,4 @@ namespace System } } } -} +}
\ No newline at end of file diff --git a/src/System.Private.CoreLib/src/System/Number.Windows.cs b/src/System.Private.CoreLib/src/System/Number.Windows.cs index f5180e99e..1d9e25a4e 100644 --- a/src/System.Private.CoreLib/src/System/Number.Windows.cs +++ b/src/System.Private.CoreLib/src/System/Number.Windows.cs @@ -12,10 +12,10 @@ namespace System private static unsafe void DoubleToNumber(double value, int precision, ref NumberBuffer number) { number.precision = precision; - if (DoubleHelper.Exponent(value) == 0x7ff) + if (!Double.IsFinite(value)) { - number.scale = DoubleHelper.Mantissa(value) != 0 ? ScaleNAN : ScaleINF; - number.sign = DoubleHelper.Sign(value); + number.scale = Double.IsNaN(value) ? ScaleNAN : ScaleINF; + number.sign = Double.IsNegative(value); number.digits[0] = '\0'; } else @@ -40,4 +40,3 @@ namespace System } } - |