OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 class Double implements double { | 5 class Double implements double { |
6 factory Double.fromInteger(int value) | 6 factory Double.fromInteger(int value) |
7 native "Double_doubleFromInteger"; | 7 native "Double_doubleFromInteger"; |
8 int hashCode() { | 8 int hashCode() { |
9 try { | 9 try { |
10 return toInt(); | 10 return toInt(); |
11 } catch (BadNumberFormatException e) { | 11 } catch (FormatException e) { |
12 return 0; | 12 return 0; |
13 } | 13 } |
14 } | 14 } |
15 double operator +(num other) { | 15 double operator +(num other) { |
16 return add_(other.toDouble()); | 16 return add_(other.toDouble()); |
17 } | 17 } |
18 double add_(double other) native "Double_add"; | 18 double add_(double other) native "Double_add"; |
19 | 19 |
20 double operator -(num other) { | 20 double operator -(num other) { |
21 return sub_(other.toDouble()); | 21 return sub_(other.toDouble()); |
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 } | 93 } |
94 | 94 |
95 bool greaterThanFromInteger(int other) native "Double_greaterThanFromInteger"; | 95 bool greaterThanFromInteger(int other) native "Double_greaterThanFromInteger"; |
96 | 96 |
97 bool isNegative() native "Double_isNegative"; | 97 bool isNegative() native "Double_isNegative"; |
98 bool isInfinite() native "Double_isInfinite"; | 98 bool isInfinite() native "Double_isInfinite"; |
99 bool isNaN() native "Double_isNaN"; | 99 bool isNaN() native "Double_isNaN"; |
100 | 100 |
101 double abs() { | 101 double abs() { |
102 // Handle negative 0.0. | 102 // Handle negative 0.0. |
103 if (this == 0.0) return 0.0; | 103 if (this == 0.0) return 0.0; |
104 return this < 0.0 ? -this : this; | 104 return this < 0.0 ? -this : this; |
105 } | 105 } |
106 | 106 |
107 double round() native "Double_round"; | 107 double round() native "Double_round"; |
108 double floor() native "Double_floor"; | 108 double floor() native "Double_floor"; |
109 double ceil () native "Double_ceil"; | 109 double ceil () native "Double_ceil"; |
110 double truncate() native "Double_truncate"; | 110 double truncate() native "Double_truncate"; |
111 int toInt() native "Double_toInt"; | 111 int toInt() native "Double_toInt"; |
112 double toDouble() { return this; } | 112 double toDouble() { return this; } |
113 | 113 |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
222 return EQUAL; | 222 return EQUAL; |
223 } | 223 } |
224 } else if (isNaN()) { | 224 } else if (isNaN()) { |
225 return other.isNaN() ? EQUAL : GREATER; | 225 return other.isNaN() ? EQUAL : GREATER; |
226 } else { | 226 } else { |
227 // Other is NaN. | 227 // Other is NaN. |
228 return LESS; | 228 return LESS; |
229 } | 229 } |
230 } | 230 } |
231 } | 231 } |
OLD | NEW |