1 # HG changeset patch |
1 # HG changeset patch |
2 # User Wolfgang Rosenauer <wr@rosenauer.org> |
2 # User Wolfgang Rosenauer <wr@rosenauer.org> |
3 # Parent 7332dfc4c47d73f1b88850b7727d33096d68e329 |
3 # Parent 5573047016750e02413781dac0ac4c2361946ed2 |
4 |
4 |
5 diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h |
5 diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h |
6 --- a/modules/fdlibm/src/math_private.h |
6 --- a/modules/fdlibm/src/math_private.h |
7 +++ b/modules/fdlibm/src/math_private.h |
7 +++ b/modules/fdlibm/src/math_private.h |
8 @@ -25,17 +25,21 @@ |
8 @@ -25,19 +25,24 @@ |
9 |
9 |
10 #include "mozilla/EndianUtils.h" |
10 #include "fdlibm.h" |
11 |
11 |
12 /* |
12 /* |
13 * Emulate FreeBSD internal double types. |
13 * Emulate FreeBSD internal double types. |
14 * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t |
14 * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t |
15 */ |
15 */ |
16 |
16 |
17 +#ifdef __i386__ |
17 +#ifdef __i386__ |
18 +typedef long double __double_t; |
18 +typedef long double __double_t; |
|
19 +typedef long double __float_t; |
19 +#else |
20 +#else |
20 typedef double __double_t; |
21 typedef double __double_t; |
|
22 +typedef float __float_t; |
21 +#endif |
23 +#endif |
22 typedef __double_t double_t; |
24 typedef __double_t double_t; |
|
25 -typedef float __float_t; |
|
26 typedef __float_t float_t; |
23 |
27 |
24 /* |
28 /* |
25 * The original fdlibm code used statements like: |
29 * The original fdlibm code used statements like: |
26 * n0 = ((*(int*)&one)>>29)^1; * index of high word * |
30 * n0 = ((*(int*)&one)>>29)^1; * index of high word * |
27 * ix0 = *(n0+(int*)&x); * high word of x * |
31 * ix0 = *(n0+(int*)&x); * high word of x * |