|
@@ -0,0 +1,31 @@
|
|
|
+# HG changeset patch
|
|
|
+# User Mike Hommey <mh+mozilla@glandium.org>
|
|
|
+# User Bill Gianopoulos <wgianopoulos@gmail.com>
|
|
|
+# Date 1704285067 0
|
|
|
+Patch from Bug 1729459 comment 25.
|
|
|
+
|
|
|
+diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
|
|
|
+--- a/modules/fdlibm/src/math_private.h
|
|
|
++++ b/modules/fdlibm/src/math_private.h
|
|
|
+@@ -25,17 +25,21 @@
|
|
|
+
|
|
|
+ #include "fdlibm.h"
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Emulate FreeBSD internal double types.
|
|
|
+ * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
|
|
|
+ */
|
|
|
+
|
|
|
++#if defined __FLT_EVAL_METHOD__ && (__FLT_EVAL_METHOD__ == 2)
|
|
|
++typedef long double __double_t;
|
|
|
++#else
|
|
|
+ typedef double __double_t;
|
|
|
++#endif
|
|
|
+ typedef __double_t double_t;
|
|
|
+ typedef float __float_t;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * The original fdlibm code used statements like:
|
|
|
+ * n0 = ((*(int*)&one)>>29)^1; * index of high word *
|
|
|
+ * ix0 = *(n0+(int*)&x); * high word of x *
|
|
|
+ * ix1 = *((1-n0)+(int*)&x); * low word of x *
|