mozilla-bmo531915.patch
author Wolfgang Rosenauer <wr@rosenauer.org>
Mon, 17 Oct 2022 21:08:02 +0200
branchfirefox105
changeset 1179 c19c9e7820ef
parent 1162 af5e283c2e5d
child 1181 ba646dddffef
permissions -rw-r--r--
Firefox 105.0.3
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     1
# HG changeset patch
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     2
# User Wolfgang Rosenauer <wr@rosenauer.org>
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
     3
# Parent  5573047016750e02413781dac0ac4c2361946ed2
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     4
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     5
diff --git a/modules/fdlibm/src/math_private.h b/modules/fdlibm/src/math_private.h
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     6
--- a/modules/fdlibm/src/math_private.h
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     7
+++ b/modules/fdlibm/src/math_private.h
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
     8
@@ -25,19 +25,24 @@
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
     9
 
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    10
 #include "fdlibm.h"
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    11
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    12
 /*
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    13
  * Emulate FreeBSD internal double types.
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    14
  * Adapted from https://github.com/freebsd/freebsd-src/search?q=__double_t
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    15
  */
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    16
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    17
+#ifdef __i386__
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    18
+typedef long double __double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    19
+typedef long double __float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    20
+#else
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    21
 typedef double      __double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    22
+typedef float       __float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    23
+#endif
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    24
 typedef __double_t  double_t;
1179
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    25
-typedef float       __float_t;
c19c9e7820ef Firefox 105.0.3
Wolfgang Rosenauer <wr@rosenauer.org>
parents: 1162
diff changeset
    26
 typedef __float_t   float_t;
1162
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    27
 
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    28
 /*
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    29
  * The original fdlibm code used statements like:
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    30
  *	n0 = ((*(int*)&one)>>29)^1;		* index of high word *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    31
  *	ix0 = *(n0+(int*)&x);			* high word of x *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    32
  *	ix1 = *((1-n0)+(int*)&x);		* low word of x *
af5e283c2e5d Firefox 91.1
Wolfgang Rosenauer <wr@rosenauer.org>
parents:
diff changeset
    33
  * to dig two 32 bit words out of the 64 bit IEEE floating point