author | Petr Sumbera <petr.sumbera@oracle.com> |
Mon, 05 Sep 2016 05:00:46 -0700 | |
branch | s11u3-sru |
changeset 7035 | 4c2f26e9d5ab |
permissions | -rw-r--r-- |
7035
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
1 |
We use a different function from the one in ieeefp.h. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
2 |
This may be a studio specific patch. Need to investigate if this can be |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
3 |
removed. |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
4 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
5 |
diff --git a/mfbt/decimal/Decimal.cpp b/mfbt/decimal/Decimal.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
6 |
--- a/mfbt/decimal/Decimal.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
7 |
+++ b/mfbt/decimal/Decimal.cpp |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
8 |
@@ -33,6 +33,7 @@ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
9 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
10 |
#include <algorithm> |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
11 |
#include <float.h> |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
12 |
+#include <ieeefp.h> |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
13 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
14 |
using namespace moz_decimal_utils; |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
15 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
16 |
@@ -686,13 +687,13 @@ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
17 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
18 |
Decimal Decimal::fromDouble(double doubleValue) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
19 |
{ |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
20 |
- if (std::isfinite(doubleValue)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
21 |
+ if (finite(doubleValue)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
22 |
return fromString(mozToString(doubleValue)); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
23 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
24 |
- if (std::isinf(doubleValue)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
25 |
- return infinity(doubleValue < 0 ? Negative : Positive); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
26 |
+ if (isnand(doubleValue)) |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
27 |
+ return nan(); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
28 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
29 |
- return nan(); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
30 |
+ return infinity(doubleValue < 0 ? Negative : Positive); |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
31 |
} |
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
32 |
|
4c2f26e9d5ab
24361911 Upgrade Firefox to version 45.4.0 ESR
Petr Sumbera <petr.sumbera@oracle.com>
parents:
diff
changeset
|
33 |
Decimal Decimal::fromString(const String& str) |