1162
|
1 |
# HG changeset patch
|
|
2 |
# User Wolfgang Rosenauer <wr@rosenauer.org>
|
|
3 |
# Parent 7332dfc4c47d73f1b88850b7727d33096d68e329
|
|
4 |
|
|
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
|
|
7 |
+++ b/modules/fdlibm/src/math_private.h
|
|
8 |
@@ -25,17 +25,21 @@
|
|
9 |
|
|
10 |
#include "mozilla/EndianUtils.h"
|
|
11 |
|
|
12 |
/*
|
|
13 |
* Emulate FreeBSD internal double types.
|
|
14 |
* Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
|
15 |
*/
|
|
16 |
|
|
17 |
+#ifdef __i386__
|
|
18 |
+typedef long double __double_t;
|
|
19 |
+#else
|
|
20 |
typedef double __double_t;
|
|
21 |
+#endif
|
|
22 |
typedef __double_t double_t;
|
|
23 |
|
|
24 |
/*
|
|
25 |
* The original fdlibm code used statements like:
|
|
26 |
* n0 = ((*(int*)&one)>>29)^1; * index of high word *
|
|
27 |
* ix0 = *(n0+(int*)&x); * high word of x *
|
|
28 |
* ix1 = *((1-n0)+(int*)&x); * low word of x *
|
|
29 |
* to dig two 32 bit words out of the 64 bit IEEE floating point
|