Chromium Code Reviews| Index: runtime/lib/double.dart |
| diff --git a/runtime/lib/double.dart b/runtime/lib/double.dart |
| index 95f026da931a9b59c3bfdd8f53a1c53869e8d8b4..280bf3b4a470ec0d8a898c2c4ce684c4a2eb2e01 100644 |
| --- a/runtime/lib/double.dart |
| +++ b/runtime/lib/double.dart |
| @@ -47,12 +47,11 @@ class _Double extends _Num implements double { |
| } |
| double _remainder(double other) native "Double_remainder"; |
| double operator -() { |
| - if (this == 0.0) { |
| - // -0.0 is canonicalized by the VM's parser, therefore no cycles. |
| - return isNegative ? 0.0 : -0.0; |
| - } |
| - return 0.0 - this; |
| + // Handles properly 0.0, NAN, and other doubles. |
| + return this._flipSignBit; |
|
srdjan
2015/06/02 22:32:10
Calling out to native should not be a performance
|
| } |
| + double get _flipSignBit native "Double_flipSignBit"; |
| + |
| bool operator ==(other) { |
| if (!(other is num)) return false; |
| return _equal(other.toDouble()); |