MIPS: math-emu: Get rid of typedefs.
authorRalf Baechle <ralf@linux-mips.org>
Tue, 15 Apr 2014 23:31:11 +0000 (01:31 +0200)
committerRalf Baechle <ralf@linux-mips.org>
Wed, 21 May 2014 09:12:48 +0000 (11:12 +0200)
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
40 files changed:
arch/mips/math-emu/cp1emu.c
arch/mips/math-emu/dp_add.c
arch/mips/math-emu/dp_cmp.c
arch/mips/math-emu/dp_div.c
arch/mips/math-emu/dp_fint.c
arch/mips/math-emu/dp_flong.c
arch/mips/math-emu/dp_frexp.c
arch/mips/math-emu/dp_fsp.c
arch/mips/math-emu/dp_logb.c
arch/mips/math-emu/dp_modf.c
arch/mips/math-emu/dp_mul.c
arch/mips/math-emu/dp_scalb.c
arch/mips/math-emu/dp_simple.c
arch/mips/math-emu/dp_sqrt.c
arch/mips/math-emu/dp_sub.c
arch/mips/math-emu/dp_tint.c
arch/mips/math-emu/dp_tlong.c
arch/mips/math-emu/ieee754.h
arch/mips/math-emu/ieee754d.c
arch/mips/math-emu/ieee754dp.c
arch/mips/math-emu/ieee754dp.h
arch/mips/math-emu/ieee754m.c
arch/mips/math-emu/ieee754sp.c
arch/mips/math-emu/ieee754sp.h
arch/mips/math-emu/sp_add.c
arch/mips/math-emu/sp_cmp.c
arch/mips/math-emu/sp_div.c
arch/mips/math-emu/sp_fdp.c
arch/mips/math-emu/sp_fint.c
arch/mips/math-emu/sp_flong.c
arch/mips/math-emu/sp_frexp.c
arch/mips/math-emu/sp_logb.c
arch/mips/math-emu/sp_modf.c
arch/mips/math-emu/sp_mul.c
arch/mips/math-emu/sp_scalb.c
arch/mips/math-emu/sp_simple.c
arch/mips/math-emu/sp_sqrt.c
arch/mips/math-emu/sp_sub.c
arch/mips/math-emu/sp_tint.c
arch/mips/math-emu/sp_tlong.c

index 7b3c9acae6895120e751dc4efe19b7ee8a6572ea..d670e3973bf1fcad815c928cefbf649344188100 100644 (file)
@@ -1349,8 +1349,8 @@ static const unsigned char cmptab[8] = {
  */
 
 #define DEF3OP(name, p, f1, f2, f3) \
-static ieee754##p fpemu_##p##_##name(ieee754##p r, ieee754##p s, \
-    ieee754##p t) \
+static union ieee754##p fpemu_##p##_##name(union ieee754##p r, union ieee754##p s, \
+    union ieee754##p t) \
 { \
        struct _ieee754_csr ieee754_csr_save; \
        s = f1(s, t); \
@@ -1364,22 +1364,22 @@ static ieee754##p fpemu_##p##_##name(ieee754##p r, ieee754##p s, \
        return s; \
 }
 
-static ieee754dp fpemu_dp_recip(ieee754dp d)
+static union ieee754dp fpemu_dp_recip(union ieee754dp d)
 {
        return ieee754dp_div(ieee754dp_one(0), d);
 }
 
-static ieee754dp fpemu_dp_rsqrt(ieee754dp d)
+static union ieee754dp fpemu_dp_rsqrt(union ieee754dp d)
 {
        return ieee754dp_div(ieee754dp_one(0), ieee754dp_sqrt(d));
 }
 
-static ieee754sp fpemu_sp_recip(ieee754sp s)
+static union ieee754sp fpemu_sp_recip(union ieee754sp s)
 {
        return ieee754sp_div(ieee754sp_one(0), s);
 }
 
-static ieee754sp fpemu_sp_rsqrt(ieee754sp s)
+static union ieee754sp fpemu_sp_rsqrt(union ieee754sp s)
 {
        return ieee754sp_div(ieee754sp_one(0), ieee754sp_sqrt(s));
 }
@@ -1403,8 +1403,8 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
        switch (MIPSInst_FMA_FFMT(ir)) {
        case s_fmt:{            /* 0 */
 
-               ieee754sp(*handler) (ieee754sp, ieee754sp, ieee754sp);
-               ieee754sp fd, fr, fs, ft;
+               union ieee754sp(*handler) (union ieee754sp, union ieee754sp, union ieee754sp);
+               union ieee754sp fd, fr, fs, ft;
                u32 __user *va;
                u32 val;
 
@@ -1492,8 +1492,8 @@ static int fpux_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
        }
 
        case d_fmt:{            /* 1 */
-               ieee754dp(*handler) (ieee754dp, ieee754dp, ieee754dp);
-               ieee754dp fd, fr, fs, ft;
+               union ieee754dp(*handler) (union ieee754dp, union ieee754dp, union ieee754dp);
+               union ieee754dp fd, fr, fs, ft;
                u64 __user *va;
                u64 val;
 
@@ -1588,8 +1588,8 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
        unsigned rcsr = 0;      /* resulting csr */
        unsigned cond;
        union {
-               ieee754dp d;
-               ieee754sp s;
+               union ieee754dp d;
+               union ieee754sp s;
                int w;
 #ifdef __mips64
                s64 l;
@@ -1600,8 +1600,8 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
        switch (rfmt = (MIPSInst_FFMT(ir) & 0xf)) {
        case s_fmt:{            /* 0 */
                union {
-                       ieee754sp(*b) (ieee754sp, ieee754sp);
-                       ieee754sp(*u) (ieee754sp);
+                       union ieee754sp(*b) (union ieee754sp, union ieee754sp);
+                       union ieee754sp(*u) (union ieee754sp);
                } handler;
 
                switch (MIPSInst_FUNC(ir)) {
@@ -1666,7 +1666,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                        /* binary op on handler */
                      scopbop:
                        {
-                               ieee754sp fs, ft;
+                               union ieee754sp fs, ft;
 
                                SPFROMREG(fs, MIPSInst_FS(ir));
                                SPFROMREG(ft, MIPSInst_FT(ir));
@@ -1676,7 +1676,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                        }
                      scopuop:
                        {
-                               ieee754sp fs;
+                               union ieee754sp fs;
 
                                SPFROMREG(fs, MIPSInst_FS(ir));
                                rv.s = (*handler.u) (fs);
@@ -1699,7 +1699,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                case fcvts_op:
                        return SIGILL;  /* not defined */
                case fcvtd_op:{
-                       ieee754sp fs;
+                       union ieee754sp fs;
 
                        SPFROMREG(fs, MIPSInst_FS(ir));
                        rv.d = ieee754dp_fsp(fs);
@@ -1707,7 +1707,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                        goto copcsr;
                }
                case fcvtw_op:{
-                       ieee754sp fs;
+                       union ieee754sp fs;
 
                        SPFROMREG(fs, MIPSInst_FS(ir));
                        rv.w = ieee754sp_tint(fs);
@@ -1721,7 +1721,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                case fceil_op:
                case ffloor_op:{
                        unsigned int oldrm = ieee754_csr.rm;
-                       ieee754sp fs;
+                       union ieee754sp fs;
 
                        SPFROMREG(fs, MIPSInst_FS(ir));
                        ieee754_csr.rm = ieee_rm[modeindex(MIPSInst_FUNC(ir))];
@@ -1734,7 +1734,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
 
 #if defined(__mips64)
                case fcvtl_op:{
-                       ieee754sp fs;
+                       union ieee754sp fs;
 
                        SPFROMREG(fs, MIPSInst_FS(ir));
                        rv.l = ieee754sp_tlong(fs);
@@ -1747,7 +1747,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                case fceill_op:
                case ffloorl_op:{
                        unsigned int oldrm = ieee754_csr.rm;
-                       ieee754sp fs;
+                       union ieee754sp fs;
 
                        SPFROMREG(fs, MIPSInst_FS(ir));
                        ieee754_csr.rm = ieee_rm[modeindex(MIPSInst_FUNC(ir))];
@@ -1761,7 +1761,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                default:
                        if (MIPSInst_FUNC(ir) >= fcmp_op) {
                                unsigned cmpop = MIPSInst_FUNC(ir) - fcmp_op;
-                               ieee754sp fs, ft;
+                               union ieee754sp fs, ft;
 
                                SPFROMREG(fs, MIPSInst_FS(ir));
                                SPFROMREG(ft, MIPSInst_FT(ir));
@@ -1785,8 +1785,8 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
 
        case d_fmt:{
                union {
-                       ieee754dp(*b) (ieee754dp, ieee754dp);
-                       ieee754dp(*u) (ieee754dp);
+                       union ieee754dp(*b) (union ieee754dp, union ieee754dp);
+                       union ieee754dp(*u) (union ieee754dp);
                } handler;
 
                switch (MIPSInst_FUNC(ir)) {
@@ -1852,7 +1852,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
 
                        /* binary op on handler */
                      dcopbop:{
-                               ieee754dp fs, ft;
+                               union ieee754dp fs, ft;
 
                                DPFROMREG(fs, MIPSInst_FS(ir));
                                DPFROMREG(ft, MIPSInst_FT(ir));
@@ -1861,7 +1861,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                                goto copcsr;
                        }
                      dcopuop:{
-                               ieee754dp fs;
+                               union ieee754dp fs;
 
                                DPFROMREG(fs, MIPSInst_FS(ir));
                                rv.d = (*handler.u) (fs);
@@ -1870,7 +1870,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
 
                        /* unary conv ops */
                case fcvts_op:{
-                       ieee754dp fs;
+                       union ieee754dp fs;
 
                        DPFROMREG(fs, MIPSInst_FS(ir));
                        rv.s = ieee754sp_fdp(fs);
@@ -1881,7 +1881,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                        return SIGILL;  /* not defined */
 
                case fcvtw_op:{
-                       ieee754dp fs;
+                       union ieee754dp fs;
 
                        DPFROMREG(fs, MIPSInst_FS(ir));
                        rv.w = ieee754dp_tint(fs);      /* wrong */
@@ -1895,7 +1895,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                case fceil_op:
                case ffloor_op:{
                        unsigned int oldrm = ieee754_csr.rm;
-                       ieee754dp fs;
+                       union ieee754dp fs;
 
                        DPFROMREG(fs, MIPSInst_FS(ir));
                        ieee754_csr.rm = ieee_rm[modeindex(MIPSInst_FUNC(ir))];
@@ -1908,7 +1908,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
 
 #if defined(__mips64)
                case fcvtl_op:{
-                       ieee754dp fs;
+                       union ieee754dp fs;
 
                        DPFROMREG(fs, MIPSInst_FS(ir));
                        rv.l = ieee754dp_tlong(fs);
@@ -1921,7 +1921,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                case fceill_op:
                case ffloorl_op:{
                        unsigned int oldrm = ieee754_csr.rm;
-                       ieee754dp fs;
+                       union ieee754dp fs;
 
                        DPFROMREG(fs, MIPSInst_FS(ir));
                        ieee754_csr.rm = ieee_rm[modeindex(MIPSInst_FUNC(ir))];
@@ -1935,7 +1935,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
                default:
                        if (MIPSInst_FUNC(ir) >= fcmp_op) {
                                unsigned cmpop = MIPSInst_FUNC(ir) - fcmp_op;
-                               ieee754dp fs, ft;
+                               union ieee754dp fs, ft;
 
                                DPFROMREG(fs, MIPSInst_FS(ir));
                                DPFROMREG(ft, MIPSInst_FT(ir));
@@ -1960,7 +1960,7 @@ static int fpu_emu(struct pt_regs *xcp, struct mips_fpu_struct *ctx,
        }
 
        case w_fmt:{
-               ieee754sp fs;
+               union ieee754sp fs;
 
                switch (MIPSInst_FUNC(ir)) {
                case fcvts_op:
index c57c8adc42c46aed52bfa6599b48f66b919080d0..b5aac129e9f1749be9dd0206b2b7847f908213ef 100644 (file)
@@ -27,7 +27,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_add(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_add(union ieee754dp x, union ieee754dp y)
 {
        COMPXDP;
        COMPYDP;
index 0f32486b0ed9f09f32749bd321ebdba145948c2c..a3b4984d2e83f5cf98b772ebc944d308455fc6c2 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-int ieee754dp_cmp(ieee754dp x, ieee754dp y, int cmp, int sig)
+int ieee754dp_cmp(union ieee754dp x, union ieee754dp y, int cmp, int sig)
 {
        COMPXDP;
        COMPYDP;
index a1bce1b7c09c8a116d079d4d86adc4ad2fb86039..30cc7fa3ce37f2efd52aa98b9319b2fd20029ada 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_div(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_div(union ieee754dp x, union ieee754dp y)
 {
        COMPXDP;
        COMPYDP;
index 88571288c9e0044584f7fcf45def526ac9bd87bb..60ed6ec7ddc7b599e7af8df8ec61526619ef5183 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_fint(int x)
+union ieee754dp ieee754dp_fint(int x)
 {
        u64 xm;
        int xe;
@@ -70,7 +70,7 @@ ieee754dp ieee754dp_fint(int x)
 #endif
 }
 
-ieee754dp ieee754dp_funs(unsigned int u)
+union ieee754dp ieee754dp_funs(unsigned int u)
 {
        if ((int) u < 0)
                return ieee754dp_add(ieee754dp_1e31(),
index 14fc01ec742d2c0d45833bdd610d7590a0ef2c49..2418f9d030559edd84e724f79622c64eee55ab7f 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_flong(s64 x)
+union ieee754dp ieee754dp_flong(s64 x)
 {
        u64 xm;
        int xe;
@@ -68,7 +68,7 @@ ieee754dp ieee754dp_flong(s64 x)
        DPNORMRET1(xs, xe, xm, "dp_flong", x);
 }
 
-ieee754dp ieee754dp_fulong(u64 u)
+union ieee754dp ieee754dp_fulong(u64 u)
 {
        if ((s64) u < 0)
                return ieee754dp_add(ieee754dp_1e63(),
index cb15a5eaecbb29a42b39daf398023c9f797d19c9..6ab7df9583629dd60bb4a32130fddaab506edc30 100644 (file)
@@ -28,7 +28,7 @@
 
 /* close to ieeep754dp_logb
 */
-ieee754dp ieee754dp_frexp(ieee754dp x, int *eptr)
+union ieee754dp ieee754dp_frexp(union ieee754dp x, int *eptr)
 {
        COMPXDP;
        CLEARCX;
index daed6834dc153bbd543d2783a161003a699070b0..d69cb1ad3f60d45114a1717ff68d59f3f4ed1300 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_fsp(ieee754sp x)
+union ieee754dp ieee754dp_fsp(union ieee754sp x)
 {
        COMPXSP;
 
index 151127e59f5c47b8b20b18f0baa378e0aeb76923..80116e2f331f034a288ce68da64174418ec9f6f4 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_logb(ieee754dp x)
+union ieee754dp ieee754dp_logb(union ieee754dp x)
 {
        COMPXDP;
 
index b01f9cf6d40275cb6ce2dd07f03977f8f62c84fe..cbc1386cdfca32ddc563f9000fe602d88263ff27 100644 (file)
@@ -28,7 +28,7 @@
 
 /* modf function is always exact for a finite number
 */
-ieee754dp ieee754dp_modf(ieee754dp x, ieee754dp *ip)
+union ieee754dp ieee754dp_modf(union ieee754dp x, union ieee754dp *ip)
 {
        COMPXDP;
 
index 09175f461920c0a41bbd0d29a57745feab9afd6a..c4cad69c377e28dc7b1e60872358280375fd4470 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_mul(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_mul(union ieee754dp x, union ieee754dp y)
 {
        COMPXDP;
        COMPYDP;
index 6f5df438dda83f4f52797d438c1724e1e2d9fca7..4f8b65622942a24934cff6465cbade926b1319ae 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_scalb(ieee754dp x, int n)
+union ieee754dp ieee754dp_scalb(union ieee754dp x, int n)
 {
        COMPXDP;
 
@@ -51,7 +51,7 @@ ieee754dp ieee754dp_scalb(ieee754dp x, int n)
 }
 
 
-ieee754dp ieee754dp_ldexp(ieee754dp x, int n)
+union ieee754dp ieee754dp_ldexp(union ieee754dp x, int n)
 {
        return ieee754dp_scalb(x, n);
 }
index 79ce2673a71418e810d40a878160313834b415c8..b341cc83eeb0fe24c81839d80dc8863e2db59fac 100644 (file)
 
 #include "ieee754dp.h"
 
-int ieee754dp_finite(ieee754dp x)
+int ieee754dp_finite(union ieee754dp x)
 {
        return DPBEXP(x) != DP_EMAX + 1 + DP_EBIAS;
 }
 
-ieee754dp ieee754dp_copysign(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_copysign(union ieee754dp x, union ieee754dp y)
 {
        CLEARCX;
        DPSIGN(x) = DPSIGN(y);
@@ -39,7 +39,7 @@ ieee754dp ieee754dp_copysign(ieee754dp x, ieee754dp y)
 }
 
 
-ieee754dp ieee754dp_neg(ieee754dp x)
+union ieee754dp ieee754dp_neg(union ieee754dp x)
 {
        COMPXDP;
 
@@ -55,7 +55,7 @@ ieee754dp ieee754dp_neg(ieee754dp x)
        DPSIGN(x) ^= 1;
 
        if (xc == IEEE754_CLASS_SNAN) {
-               ieee754dp y = ieee754dp_indef();
+               union ieee754dp y = ieee754dp_indef();
                SETCX(IEEE754_INVALID_OPERATION);
                DPSIGN(y) = DPSIGN(x);
                return ieee754dp_nanxcpt(y, "neg");
@@ -65,7 +65,7 @@ ieee754dp ieee754dp_neg(ieee754dp x)
 }
 
 
-ieee754dp ieee754dp_abs(ieee754dp x)
+union ieee754dp ieee754dp_abs(union ieee754dp x)
 {
        COMPXDP;
 
index b874d60a942bd0fde028acd1c82f64546ee701a5..cee9f3c2700d0b4331f76cc2f2cb1b75d4c657ec 100644 (file)
@@ -34,10 +34,10 @@ static const unsigned table[] = {
        1742, 661, 130
 };
 
-ieee754dp ieee754dp_sqrt(ieee754dp x)
+union ieee754dp ieee754dp_sqrt(union ieee754dp x)
 {
        struct _ieee754_csr oldcsr;
-       ieee754dp y, z, t;
+       union ieee754dp y, z, t;
        unsigned scalx, yh;
        COMPXDP;
 
index 91e0a4b5cbc76ebad10302781fcf753d09bec6dd..1e8f19ae6cd5b23bbf33f195b035d3d1bee20822 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-ieee754dp ieee754dp_sub(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_sub(union ieee754dp x, union ieee754dp y)
 {
        COMPXDP;
        COMPYDP;
index 0ebe8598b94ae6ad0f7542d3cd263d874d3c1c73..2a00805fdbebc6c5fc19edc73bc830832874948a 100644 (file)
@@ -27,7 +27,7 @@
 #include <linux/kernel.h>
 #include "ieee754dp.h"
 
-int ieee754dp_tint(ieee754dp x)
+int ieee754dp_tint(union ieee754dp x)
 {
        COMPXDP;
 
@@ -109,9 +109,9 @@ int ieee754dp_tint(ieee754dp x)
 }
 
 
-unsigned int ieee754dp_tuns(ieee754dp x)
+unsigned int ieee754dp_tuns(union ieee754dp x)
 {
-       ieee754dp hb = ieee754dp_1e31();
+       union ieee754dp hb = ieee754dp_1e31();
 
        /* what if x < 0 ?? */
        if (ieee754dp_lt(x, hb))
index 133ce2ba0012eb61e09a4a5729cf25bb32ea82e3..3366399eebe8f4143dc1b9ff3560bf1c05f6919d 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754dp.h"
 
-s64 ieee754dp_tlong(ieee754dp x)
+s64 ieee754dp_tlong(union ieee754dp x)
 {
        COMPXDP;
 
@@ -112,9 +112,9 @@ s64 ieee754dp_tlong(ieee754dp x)
 }
 
 
-u64 ieee754dp_tulong(ieee754dp x)
+u64 ieee754dp_tulong(union ieee754dp x)
 {
-       ieee754dp hb = ieee754dp_1e63();
+       union ieee754dp hb = ieee754dp_1e63();
 
        /* what if x < 0 ?? */
        if (ieee754dp_lt(x, hb))
index 9e8c26e850fed037c5a3faa0f20e947955686742..05705fa785c37b279098a21af0fc7546e315416f 100644 (file)
@@ -46,7 +46,7 @@ struct ieee754dp_const {
        ;))))
 };
 
-typedef union _ieee754dp {
+union ieee754dp {
        struct ieee754dp_const oparts;
        struct {
                __BITFIELD_FIELD(unsigned int sign:1,
@@ -56,7 +56,7 @@ typedef union _ieee754dp {
        } parts;
        double d;
        u64 bits;
-} ieee754dp;
+};
 
 struct ieee754sp_const {
        __BITFIELD_FIELD(unsigned sign:1,
@@ -65,106 +65,106 @@ struct ieee754sp_const {
        ;)))
 };
 
-typedef union _ieee754sp {
+union ieee754sp {
        struct ieee754sp_const parts;
        float f;
        u32 bits;
-} ieee754sp;
+};
 
 /*
  * single precision (often aka float)
 */
-int ieee754sp_finite(ieee754sp x);
-int ieee754sp_class(ieee754sp x);
+int ieee754sp_finite(union ieee754sp x);
+int ieee754sp_class(union ieee754sp x);
 
-ieee754sp ieee754sp_abs(ieee754sp x);
-ieee754sp ieee754sp_neg(ieee754sp x);
-ieee754sp ieee754sp_scalb(ieee754sp x, int);
-ieee754sp ieee754sp_logb(ieee754sp x);
+union ieee754sp ieee754sp_abs(union ieee754sp x);
+union ieee754sp ieee754sp_neg(union ieee754sp x);
+union ieee754sp ieee754sp_scalb(union ieee754sp x, int);
+union ieee754sp ieee754sp_logb(union ieee754sp x);
 
 /* x with sign of y */
-ieee754sp ieee754sp_copysign(ieee754sp x, ieee754sp y);
+union ieee754sp ieee754sp_copysign(union ieee754sp x, union ieee754sp y);
 
-ieee754sp ieee754sp_add(ieee754sp x, ieee754sp y);
-ieee754sp ieee754sp_sub(ieee754sp x, ieee754sp y);
-ieee754sp ieee754sp_mul(ieee754sp x, ieee754sp y);
-ieee754sp ieee754sp_div(ieee754sp x, ieee754sp y);
+union ieee754sp ieee754sp_add(union ieee754sp x, union ieee754sp y);
+union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y);
+union ieee754sp ieee754sp_mul(union ieee754sp x, union ieee754sp y);
+union ieee754sp ieee754sp_div(union ieee754sp x, union ieee754sp y);
 
-ieee754sp ieee754sp_fint(int x);
-ieee754sp ieee754sp_funs(unsigned x);
-ieee754sp ieee754sp_flong(s64 x);
-ieee754sp ieee754sp_fulong(u64 x);
-ieee754sp ieee754sp_fdp(ieee754dp x);
+union ieee754sp ieee754sp_fint(int x);
+union ieee754sp ieee754sp_funs(unsigned x);
+union ieee754sp ieee754sp_flong(s64 x);
+union ieee754sp ieee754sp_fulong(u64 x);
+union ieee754sp ieee754sp_fdp(union ieee754dp x);
 
-int ieee754sp_tint(ieee754sp x);
-unsigned int ieee754sp_tuns(ieee754sp x);
-s64 ieee754sp_tlong(ieee754sp x);
-u64 ieee754sp_tulong(ieee754sp x);
+int ieee754sp_tint(union ieee754sp x);
+unsigned int ieee754sp_tuns(union ieee754sp x);
+s64 ieee754sp_tlong(union ieee754sp x);
+u64 ieee754sp_tulong(union ieee754sp x);
 
-int ieee754sp_cmp(ieee754sp x, ieee754sp y, int cop, int sig);
+int ieee754sp_cmp(union ieee754sp x, union ieee754sp y, int cop, int sig);
 /*
  * basic sp math
  */
-ieee754sp ieee754sp_modf(ieee754sp x, ieee754sp * ip);
-ieee754sp ieee754sp_frexp(ieee754sp x, int *exp);
-ieee754sp ieee754sp_ldexp(ieee754sp x, int exp);
+union ieee754sp ieee754sp_modf(union ieee754sp x, union ieee754sp * ip);
+union ieee754sp ieee754sp_frexp(union ieee754sp x, int *exp);
+union ieee754sp ieee754sp_ldexp(union ieee754sp x, int exp);
 
-ieee754sp ieee754sp_ceil(ieee754sp x);
-ieee754sp ieee754sp_floor(ieee754sp x);
-ieee754sp ieee754sp_trunc(ieee754sp x);
+union ieee754sp ieee754sp_ceil(union ieee754sp x);
+union ieee754sp ieee754sp_floor(union ieee754sp x);
+union ieee754sp ieee754sp_trunc(union ieee754sp x);
 
-ieee754sp ieee754sp_sqrt(ieee754sp x);
+union ieee754sp ieee754sp_sqrt(union ieee754sp x);
 
 /*
  * double precision (often aka double)
 */
-int ieee754dp_finite(ieee754dp x);
-int ieee754dp_class(ieee754dp x);
+int ieee754dp_finite(union ieee754dp x);
+int ieee754dp_class(union ieee754dp x);
 
 /* x with sign of y */
-ieee754dp ieee754dp_copysign(ieee754dp x, ieee754dp y);
+union ieee754dp ieee754dp_copysign(union ieee754dp x, union ieee754dp y);
 
-ieee754dp ieee754dp_add(ieee754dp x, ieee754dp y);
-ieee754dp ieee754dp_sub(ieee754dp x, ieee754dp y);
-ieee754dp ieee754dp_mul(ieee754dp x, ieee754dp y);
-ieee754dp ieee754dp_div(ieee754dp x, ieee754dp y);
+union ieee754dp ieee754dp_add(union ieee754dp x, union ieee754dp y);
+union ieee754dp ieee754dp_sub(union ieee754dp x, union ieee754dp y);
+union ieee754dp ieee754dp_mul(union ieee754dp x, union ieee754dp y);
+union ieee754dp ieee754dp_div(union ieee754dp x, union ieee754dp y);
 
-ieee754dp ieee754dp_abs(ieee754dp x);
-ieee754dp ieee754dp_neg(ieee754dp x);
-ieee754dp ieee754dp_scalb(ieee754dp x, int);
+union ieee754dp ieee754dp_abs(union ieee754dp x);
+union ieee754dp ieee754dp_neg(union ieee754dp x);
+union ieee754dp ieee754dp_scalb(union ieee754dp x, int);
 
 /* return exponent as integer in floating point format
  */
-ieee754dp ieee754dp_logb(ieee754dp x);
+union ieee754dp ieee754dp_logb(union ieee754dp x);
 
-ieee754dp ieee754dp_fint(int x);
-ieee754dp ieee754dp_funs(unsigned x);
-ieee754dp ieee754dp_flong(s64 x);
-ieee754dp ieee754dp_fulong(u64 x);
-ieee754dp ieee754dp_fsp(ieee754sp x);
+union ieee754dp ieee754dp_fint(int x);
+union ieee754dp ieee754dp_funs(unsigned x);
+union ieee754dp ieee754dp_flong(s64 x);
+union ieee754dp ieee754dp_fulong(u64 x);
+union ieee754dp ieee754dp_fsp(union ieee754sp x);
 
-ieee754dp ieee754dp_ceil(ieee754dp x);
-ieee754dp ieee754dp_floor(ieee754dp x);
-ieee754dp ieee754dp_trunc(ieee754dp x);
+union ieee754dp ieee754dp_ceil(union ieee754dp x);
+union ieee754dp ieee754dp_floor(union ieee754dp x);
+union ieee754dp ieee754dp_trunc(union ieee754dp x);
 
-int ieee754dp_tint(ieee754dp x);
-unsigned int ieee754dp_tuns(ieee754dp x);
-s64 ieee754dp_tlong(ieee754dp x);
-u64 ieee754dp_tulong(ieee754dp x);
+int ieee754dp_tint(union ieee754dp x);
+unsigned int ieee754dp_tuns(union ieee754dp x);
+s64 ieee754dp_tlong(union ieee754dp x);
+u64 ieee754dp_tulong(union ieee754dp x);
 
-int ieee754dp_cmp(ieee754dp x, ieee754dp y, int cop, int sig);
+int ieee754dp_cmp(union ieee754dp x, union ieee754dp y, int cop, int sig);
 /*
  * basic sp math
  */
-ieee754dp ieee754dp_modf(ieee754dp x, ieee754dp * ip);
-ieee754dp ieee754dp_frexp(ieee754dp x, int *exp);
-ieee754dp ieee754dp_ldexp(ieee754dp x, int exp);
+union ieee754dp ieee754dp_modf(union ieee754dp x, union ieee754dp * ip);
+union ieee754dp ieee754dp_frexp(union ieee754dp x, int *exp);
+union ieee754dp ieee754dp_ldexp(union ieee754dp x, int exp);
 
-ieee754dp ieee754dp_ceil(ieee754dp x);
-ieee754dp ieee754dp_floor(ieee754dp x);
-ieee754dp ieee754dp_trunc(ieee754dp x);
+union ieee754dp ieee754dp_ceil(union ieee754dp x);
+union ieee754dp ieee754dp_floor(union ieee754dp x);
+union ieee754dp ieee754dp_trunc(union ieee754dp x);
 
-ieee754dp ieee754dp_sqrt(ieee754dp x);
+union ieee754dp ieee754dp_sqrt(union ieee754dp x);
 
 
 
@@ -204,65 +204,65 @@ ieee754dp ieee754dp_sqrt(ieee754dp x);
 
 /* "normal" comparisons
 */
-static inline int ieee754sp_eq(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_eq(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y, IEEE754_CEQ, 0);
 }
 
-static inline int ieee754sp_ne(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_ne(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y,
                             IEEE754_CLT | IEEE754_CGT | IEEE754_CUN, 0);
 }
 
-static inline int ieee754sp_lt(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_lt(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y, IEEE754_CLT, 0);
 }
 
-static inline int ieee754sp_le(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_le(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y, IEEE754_CLT | IEEE754_CEQ, 0);
 }
 
-static inline int ieee754sp_gt(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_gt(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y, IEEE754_CGT, 0);
 }
 
 
-static inline int ieee754sp_ge(ieee754sp x, ieee754sp y)
+static inline int ieee754sp_ge(union ieee754sp x, union ieee754sp y)
 {
        return ieee754sp_cmp(x, y, IEEE754_CGT | IEEE754_CEQ, 0);
 }
 
-static inline int ieee754dp_eq(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_eq(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y, IEEE754_CEQ, 0);
 }
 
-static inline int ieee754dp_ne(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_ne(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y,
                             IEEE754_CLT | IEEE754_CGT | IEEE754_CUN, 0);
 }
 
-static inline int ieee754dp_lt(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_lt(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y, IEEE754_CLT, 0);
 }
 
-static inline int ieee754dp_le(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_le(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y, IEEE754_CLT | IEEE754_CEQ, 0);
 }
 
-static inline int ieee754dp_gt(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_gt(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y, IEEE754_CGT, 0);
 }
 
-static inline int ieee754dp_ge(ieee754dp x, ieee754dp y)
+static inline int ieee754dp_ge(union ieee754dp x, union ieee754dp y)
 {
        return ieee754dp_cmp(x, y, IEEE754_CGT | IEEE754_CEQ, 0);
 }
@@ -271,8 +271,8 @@ static inline int ieee754dp_ge(ieee754dp x, ieee754dp y)
 /*
  * Like strtod
  */
-ieee754dp ieee754dp_fstr(const char *s, char **endp);
-char *ieee754dp_tstr(ieee754dp x, int prec, int fmt, int af);
+union ieee754dp ieee754dp_fstr(const char *s, char **endp);
+char *ieee754dp_tstr(union ieee754dp x, int prec, int fmt, int af);
 
 
 /*
@@ -338,8 +338,8 @@ static inline int ieee754_sxtest(unsigned n)
 }
 
 /* debugging */
-ieee754sp ieee754sp_dump(char *s, ieee754sp x);
-ieee754dp ieee754dp_dump(char *s, ieee754dp x);
+union ieee754sp ieee754sp_dump(char *s, union ieee754sp x);
+union ieee754dp ieee754dp_dump(char *s, union ieee754dp x);
 
 #define IEEE754_SPCVAL_PZERO   0
 #define IEEE754_SPCVAL_NZERO   1
@@ -361,8 +361,8 @@ ieee754dp ieee754dp_dump(char *s, ieee754dp x);
 
 extern const struct ieee754dp_const __ieee754dp_spcvals[];
 extern const struct ieee754sp_const __ieee754sp_spcvals[];
-#define ieee754dp_spcvals ((const ieee754dp *)__ieee754dp_spcvals)
-#define ieee754sp_spcvals ((const ieee754sp *)__ieee754sp_spcvals)
+#define ieee754dp_spcvals ((const union ieee754dp *)__ieee754dp_spcvals)
+#define ieee754sp_spcvals ((const union ieee754sp *)__ieee754sp_spcvals)
 
 /*
  * Return infinity with given sign
@@ -404,8 +404,8 @@ struct ieee754xctx {
        const char *op;         /* operation name */
        int rt;                 /* result type */
        union {
-               ieee754sp sp;   /* single precision */
-               ieee754dp dp;   /* double precision */
+               union ieee754sp sp;     /* single precision */
+               union ieee754dp dp;     /* double precision */
 #ifdef IEEE854_XP
                ieee754xp xp;   /* extended precision */
 #endif
index 9599bdd32585c2d016a98f87c78ed99066fb9586..627932839d57840b15f15e5d2debe4f190f32c7f 100644 (file)
@@ -56,7 +56,7 @@
 #define DPBEXP(dp)     (dp.parts.bexp)
 #define DPMANT(dp)     (dp.parts.mant)
 
-ieee754dp ieee754dp_dump(char *m, ieee754dp x)
+union ieee754dp ieee754dp_dump(char *m, union ieee754dp x)
 {
        int i;
 
@@ -96,7 +96,7 @@ ieee754dp ieee754dp_dump(char *m, ieee754dp x)
        return x;
 }
 
-ieee754sp ieee754sp_dump(char *m, ieee754sp x)
+union ieee754sp ieee754sp_dump(char *m, union ieee754sp x)
 {
        int i;
 
index df59d16bd4fdd3cb79f4270444cf866bb8adf840..3692362b80723aa3bded228d8b237173c53baa2f 100644 (file)
 
 #include "ieee754dp.h"
 
-int ieee754dp_class(ieee754dp x)
+int ieee754dp_class(union ieee754dp x)
 {
        COMPXDP;
        EXPLODEXDP;
        return xc;
 }
 
-int ieee754dp_isnan(ieee754dp x)
+int ieee754dp_isnan(union ieee754dp x)
 {
        return ieee754dp_class(x) >= IEEE754_CLASS_SNAN;
 }
 
-int ieee754dp_issnan(ieee754dp x)
+int ieee754dp_issnan(union ieee754dp x)
 {
        assert(ieee754dp_isnan(x));
        return ((DPMANT(x) & DP_MBIT(DP_MBITS-1)) == DP_MBIT(DP_MBITS-1));
 }
 
 
-ieee754dp __cold ieee754dp_xcpt(ieee754dp r, const char *op, ...)
+union ieee754dp __cold ieee754dp_xcpt(union ieee754dp r, const char *op, ...)
 {
        struct ieee754xctx ax;
        if (!TSTX())
@@ -61,7 +61,7 @@ ieee754dp __cold ieee754dp_xcpt(ieee754dp r, const char *op, ...)
        return ax.rv.dp;
 }
 
-ieee754dp __cold ieee754dp_nanxcpt(ieee754dp r, const char *op, ...)
+union ieee754dp __cold ieee754dp_nanxcpt(union ieee754dp r, const char *op, ...)
 {
        struct ieee754xctx ax;
 
@@ -88,7 +88,7 @@ ieee754dp __cold ieee754dp_nanxcpt(ieee754dp r, const char *op, ...)
        return ax.rv.dp;
 }
 
-ieee754dp ieee754dp_bestnan(ieee754dp x, ieee754dp y)
+union ieee754dp ieee754dp_bestnan(union ieee754dp x, union ieee754dp y)
 {
        assert(ieee754dp_isnan(x));
        assert(ieee754dp_isnan(y));
@@ -131,7 +131,7 @@ static u64 get_rounding(int sn, u64 xm)
  * xe is an unbiased exponent
  * xm is 3bit extended precision value.
  */
-ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
+union ieee754dp ieee754dp_format(int sn, int xe, u64 xm)
 {
        assert(xm);             /* we don't gen exact zeros (probably should) */
 
index ce2af5b04b48d8103561fb6f8604bc4cecb3eb67..ad2568fa0b054dc1d58e50982ea8e82366c8dd08 100644 (file)
@@ -46,9 +46,9 @@
 #define DPDNORMX       DPDNORMx(xm, xe)
 #define DPDNORMY       DPDNORMx(ym, ye)
 
-static inline ieee754dp builddp(int s, int bx, u64 m)
+static inline union ieee754dp builddp(int s, int bx, u64 m)
 {
-       ieee754dp r;
+       union ieee754dp r;
 
        assert((s) == 0 || (s) == 1);
        assert((bx) >= DP_EMIN - 1 + DP_EBIAS
@@ -61,19 +61,19 @@ static inline ieee754dp builddp(int s, int bx, u64 m)
        return r;
 }
 
-extern int ieee754dp_isnan(ieee754dp);
-extern int ieee754dp_issnan(ieee754dp);
+extern int ieee754dp_isnan(union ieee754dp);
+extern int ieee754dp_issnan(union ieee754dp);
 extern int __cold ieee754si_xcpt(int, const char *, ...);
 extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
-extern ieee754dp __cold ieee754dp_xcpt(ieee754dp, const char *, ...);
-extern ieee754dp __cold ieee754dp_nanxcpt(ieee754dp, const char *, ...);
-extern ieee754dp ieee754dp_bestnan(ieee754dp, ieee754dp);
-extern ieee754dp ieee754dp_format(int, int, u64);
+extern union ieee754dp __cold ieee754dp_xcpt(union ieee754dp, const char *, ...);
+extern union ieee754dp __cold ieee754dp_nanxcpt(union ieee754dp, const char *, ...);
+extern union ieee754dp ieee754dp_bestnan(union ieee754dp, union ieee754dp);
+extern union ieee754dp ieee754dp_format(int, int, u64);
 
 
 #define DPNORMRET2(s, e, m, name, a0, a1) \
 { \
-    ieee754dp V = ieee754dp_format(s, e, m); \
+    union ieee754dp V = ieee754dp_format(s, e, m); \
     if(TSTX()) \
       return ieee754dp_xcpt(V, name, a0, a1); \
     else \
index 24190f3c9dd63dbc4eb5972de3c9fa5440636f81..06224064333bef1f8f9daddcf62bf65e85ab37f8 100644 (file)
@@ -26,9 +26,9 @@
 
 #include "ieee754.h"
 
-ieee754dp ieee754dp_floor(ieee754dp x)
+union ieee754dp ieee754dp_floor(union ieee754dp x)
 {
-       ieee754dp i;
+       union ieee754dp i;
 
        if (ieee754dp_lt(ieee754dp_modf(x, &i), ieee754dp_zero(0)))
                return ieee754dp_sub(i, ieee754dp_one(0));
@@ -36,9 +36,9 @@ ieee754dp ieee754dp_floor(ieee754dp x)
                return i;
 }
 
-ieee754dp ieee754dp_ceil(ieee754dp x)
+union ieee754dp ieee754dp_ceil(union ieee754dp x)
 {
-       ieee754dp i;
+       union ieee754dp i;
 
        if (ieee754dp_gt(ieee754dp_modf(x, &i), ieee754dp_zero(0)))
                return ieee754dp_add(i, ieee754dp_one(0));
@@ -46,9 +46,9 @@ ieee754dp ieee754dp_ceil(ieee754dp x)
                return i;
 }
 
-ieee754dp ieee754dp_trunc(ieee754dp x)
+union ieee754dp ieee754dp_trunc(union ieee754dp x)
 {
-       ieee754dp i;
+       union ieee754dp i;
 
        (void) ieee754dp_modf(x, &i);
        return i;
index dd3ecd62e4694af92d5db511ae63720b841732c7..ac84d19e7c87edc284c4eadacc63237c961032e7 100644 (file)
 
 #include "ieee754sp.h"
 
-int ieee754sp_class(ieee754sp x)
+int ieee754sp_class(union ieee754sp x)
 {
        COMPXSP;
        EXPLODEXSP;
        return xc;
 }
 
-int ieee754sp_isnan(ieee754sp x)
+int ieee754sp_isnan(union ieee754sp x)
 {
        return ieee754sp_class(x) >= IEEE754_CLASS_SNAN;
 }
 
-int ieee754sp_issnan(ieee754sp x)
+int ieee754sp_issnan(union ieee754sp x)
 {
        assert(ieee754sp_isnan(x));
        return (SPMANT(x) & SP_MBIT(SP_MBITS-1));
 }
 
 
-ieee754sp __cold ieee754sp_xcpt(ieee754sp r, const char *op, ...)
+union ieee754sp __cold ieee754sp_xcpt(union ieee754sp r, const char *op, ...)
 {
        struct ieee754xctx ax;
 
@@ -62,7 +62,7 @@ ieee754sp __cold ieee754sp_xcpt(ieee754sp r, const char *op, ...)
        return ax.rv.sp;
 }
 
-ieee754sp __cold ieee754sp_nanxcpt(ieee754sp r, const char *op, ...)
+union ieee754sp __cold ieee754sp_nanxcpt(union ieee754sp r, const char *op, ...)
 {
        struct ieee754xctx ax;
 
@@ -89,7 +89,7 @@ ieee754sp __cold ieee754sp_nanxcpt(ieee754sp r, const char *op, ...)
        return ax.rv.sp;
 }
 
-ieee754sp ieee754sp_bestnan(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_bestnan(union ieee754sp x, union ieee754sp y)
 {
        assert(ieee754sp_isnan(x));
        assert(ieee754sp_isnan(y));
@@ -132,7 +132,7 @@ static unsigned get_rounding(int sn, unsigned xm)
  * xe is an unbiased exponent
  * xm is 3bit extended precision value.
  */
-ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
+union ieee754sp ieee754sp_format(int sn, int xe, unsigned xm)
 {
        assert(xm);             /* we don't gen exact zeros (probably should) */
 
index e3933bed0be4d5b2f37430253a0c798d9523e4a3..5836fa1e69d81eee97f4e8e60f93d9af0198c35c 100644 (file)
@@ -51,9 +51,9 @@
 #define SPDNORMX       SPDNORMx(xm, xe)
 #define SPDNORMY       SPDNORMx(ym, ye)
 
-static inline ieee754sp buildsp(int s, int bx, unsigned m)
+static inline union ieee754sp buildsp(int s, int bx, unsigned m)
 {
-       ieee754sp r;
+       union ieee754sp r;
 
        assert((s) == 0 || (s) == 1);
        assert((bx) >= SP_EMIN - 1 + SP_EBIAS
@@ -67,19 +67,19 @@ static inline ieee754sp buildsp(int s, int bx, unsigned m)
        return r;
 }
 
-extern int ieee754sp_isnan(ieee754sp);
-extern int ieee754sp_issnan(ieee754sp);
+extern int ieee754sp_isnan(union ieee754sp);
+extern int ieee754sp_issnan(union ieee754sp);
 extern int __cold ieee754si_xcpt(int, const char *, ...);
 extern s64 __cold ieee754di_xcpt(s64, const char *, ...);
-extern ieee754sp __cold ieee754sp_xcpt(ieee754sp, const char *, ...);
-extern ieee754sp __cold ieee754sp_nanxcpt(ieee754sp, const char *, ...);
-extern ieee754sp ieee754sp_bestnan(ieee754sp, ieee754sp);
-extern ieee754sp ieee754sp_format(int, int, unsigned);
+extern union ieee754sp __cold ieee754sp_xcpt(union ieee754sp, const char *, ...);
+extern union ieee754sp __cold ieee754sp_nanxcpt(union ieee754sp, const char *, ...);
+extern union ieee754sp ieee754sp_bestnan(union ieee754sp, union ieee754sp);
+extern union ieee754sp ieee754sp_format(int, int, unsigned);
 
 
 #define SPNORMRET2(s, e, m, name, a0, a1) \
 { \
-    ieee754sp V = ieee754sp_format(s, e, m); \
+    union ieee754sp V = ieee754sp_format(s, e, m); \
     if(TSTX()) \
       return ieee754sp_xcpt(V, name, a0, a1); \
     else \
index c446e64637e212d3a852bc0ccb3a9e8671436f20..4938d8f1d4bcffeb41dfdd7c7dae3d2aee25094c 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_add(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_add(union ieee754sp x, union ieee754sp y)
 {
        COMPXSP;
        COMPYSP;
index 716cf37e24653b78f98ad26826ef1dc5f17f91dd..b98d68617cfe2fa7638eb48d0ab762457682dc3c 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-int ieee754sp_cmp(ieee754sp x, ieee754sp y, int cmp, int sig)
+int ieee754sp_cmp(union ieee754sp x, union ieee754sp y, int cmp, int sig)
 {
        COMPXSP;
        COMPYSP;
index d7747928c95492986fdcb3b671abf2e6d126b32f..1f62865ffcbdced89cf14bb69a335d97b83820f1 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_div(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_div(union ieee754sp x, union ieee754sp y)
 {
        COMPXSP;
        COMPYSP;
index e1515aae0166d4653eb395a38555b9b7b0630997..cbefb88a14efabafd526575b3168fe34cc362cfd 100644 (file)
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_fdp(ieee754dp x)
+union ieee754sp ieee754sp_fdp(union ieee754dp x)
 {
        COMPXDP;
-       ieee754sp nan;
+       union ieee754sp nan;
 
        EXPLODEXDP;
 
index 9694d6c016cb12081d94c139ef5b97efa9f378d4..7ba2b40348c46d299a7577574163aff0217af982 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_fint(int x)
+union ieee754sp ieee754sp_fint(int x)
 {
        unsigned xm;
        int xe;
@@ -70,7 +70,7 @@ ieee754sp ieee754sp_fint(int x)
 }
 
 
-ieee754sp ieee754sp_funs(unsigned int u)
+union ieee754sp ieee754sp_funs(unsigned int u)
 {
        if ((int) u < 0)
                return ieee754sp_add(ieee754sp_1e31(),
index 16a651f2986544c489d6a5db0a06ac5a4543cc66..c457a9f8a148d27e45a15f940c0344933e6576a9 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_flong(s64 x)
+union ieee754sp ieee754sp_flong(s64 x)
 {
        u64 xm;         /* <--- need 64-bit mantissa temp */
        int xe;
@@ -69,7 +69,7 @@ ieee754sp ieee754sp_flong(s64 x)
 }
 
 
-ieee754sp ieee754sp_fulong(u64 u)
+union ieee754sp ieee754sp_fulong(u64 u)
 {
        if ((s64) u < 0)
                return ieee754sp_add(ieee754sp_1e63(),
index 5bc993c300447f9b38e84f50d887966ceedd6508..668252bca5131f4e0cc6bd5e0f778937133d5c39 100644 (file)
@@ -28,7 +28,7 @@
 
 /* close to ieeep754sp_logb
 */
-ieee754sp ieee754sp_frexp(ieee754sp x, int *eptr)
+union ieee754sp ieee754sp_frexp(union ieee754sp x, int *eptr)
 {
        COMPXSP;
        CLEARCX;
index 9c14e0c75bd2bcc5b6d71ade8901d9f2474e7ebb..4dfe5386e89d513aad198160224cee808a42717f 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_logb(ieee754sp x)
+union ieee754sp ieee754sp_logb(union ieee754sp x)
 {
        COMPXSP;
 
index 25a0fbaa0556cec6269c2305a967472cac7c408b..30d53ec1f7eb4d1fbf0487ba2a5eecfbc79165f9 100644 (file)
@@ -28,7 +28,7 @@
 
 /* modf function is always exact for a finite number
 */
-ieee754sp ieee754sp_modf(ieee754sp x, ieee754sp *ip)
+union ieee754sp ieee754sp_modf(union ieee754sp x, union ieee754sp *ip)
 {
        COMPXSP;
 
index fa4675cf2aad13d2deef5b4d86f6c059d1fdb1ec..c628f3c495dcacedf474562f1111a4b6c0b1d55d 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_mul(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_mul(union ieee754sp x, union ieee754sp y)
 {
        COMPXSP;
        COMPYSP;
index dd76196984c876ea2f5c26a5fa85530fcaa848cc..9831d428af6fafa26336226cf52de63839e510fb 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_scalb(ieee754sp x, int n)
+union ieee754sp ieee754sp_scalb(union ieee754sp x, int n)
 {
        COMPXSP;
 
@@ -51,7 +51,7 @@ ieee754sp ieee754sp_scalb(ieee754sp x, int n)
 }
 
 
-ieee754sp ieee754sp_ldexp(ieee754sp x, int n)
+union ieee754sp ieee754sp_ldexp(union ieee754sp x, int n)
 {
        return ieee754sp_scalb(x, n);
 }
index ae4fcfafd85335533bd117967faa9d3f975da595..633c7a54cf1e52faa48267183741a4773fcb7a7c 100644 (file)
 
 #include "ieee754sp.h"
 
-int ieee754sp_finite(ieee754sp x)
+int ieee754sp_finite(union ieee754sp x)
 {
        return SPBEXP(x) != SP_EMAX + 1 + SP_EBIAS;
 }
 
-ieee754sp ieee754sp_copysign(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_copysign(union ieee754sp x, union ieee754sp y)
 {
        CLEARCX;
        SPSIGN(x) = SPSIGN(y);
@@ -39,7 +39,7 @@ ieee754sp ieee754sp_copysign(ieee754sp x, ieee754sp y)
 }
 
 
-ieee754sp ieee754sp_neg(ieee754sp x)
+union ieee754sp ieee754sp_neg(union ieee754sp x)
 {
        COMPXSP;
 
@@ -55,7 +55,7 @@ ieee754sp ieee754sp_neg(ieee754sp x)
        SPSIGN(x) ^= 1;
 
        if (xc == IEEE754_CLASS_SNAN) {
-               ieee754sp y = ieee754sp_indef();
+               union ieee754sp y = ieee754sp_indef();
                SETCX(IEEE754_INVALID_OPERATION);
                SPSIGN(y) = SPSIGN(x);
                return ieee754sp_nanxcpt(y, "neg");
@@ -65,7 +65,7 @@ ieee754sp ieee754sp_neg(ieee754sp x)
 }
 
 
-ieee754sp ieee754sp_abs(ieee754sp x)
+union ieee754sp ieee754sp_abs(union ieee754sp x)
 {
        COMPXSP;
 
index fed20175f5fb5f516b28b650987ce1b2c15f61d0..4c60d91961f4f31933bc7e1ba40e9c56f462e343 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_sqrt(ieee754sp x)
+union ieee754sp ieee754sp_sqrt(union ieee754sp x)
 {
        int ix, s, q, m, t, i;
        unsigned int r;
index e595c6f3d0bb9d4e3711eecb002635d38af45209..ed67acfb114fe2d6438056698c920c6fe4ab8d88 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-ieee754sp ieee754sp_sub(ieee754sp x, ieee754sp y)
+union ieee754sp ieee754sp_sub(union ieee754sp x, union ieee754sp y)
 {
        COMPXSP;
        COMPYSP;
index 0fe9acc7716edecdf005be7836bb4544bcca9473..37cb096ee9312a7b14b00f41d85b80f71edd94d4 100644 (file)
@@ -27,7 +27,7 @@
 #include <linux/kernel.h>
 #include "ieee754sp.h"
 
-int ieee754sp_tint(ieee754sp x)
+int ieee754sp_tint(union ieee754sp x)
 {
        COMPXSP;
 
@@ -113,9 +113,9 @@ int ieee754sp_tint(ieee754sp x)
 }
 
 
-unsigned int ieee754sp_tuns(ieee754sp x)
+unsigned int ieee754sp_tuns(union ieee754sp x)
 {
-       ieee754sp hb = ieee754sp_1e31();
+       union ieee754sp hb = ieee754sp_1e31();
 
        /* what if x < 0 ?? */
        if (ieee754sp_lt(x, hb))
index d0ca6e22be29278daf1d52fe7c7c9129d1c0d403..da412d38d5ef28c10e32dd2336cdad8aa5fb332a 100644 (file)
@@ -26,7 +26,7 @@
 
 #include "ieee754sp.h"
 
-s64 ieee754sp_tlong(ieee754sp x)
+s64 ieee754sp_tlong(union ieee754sp x)
 {
        COMPXDP;                /* <-- need 64-bit mantissa tmp */
 
@@ -108,9 +108,9 @@ s64 ieee754sp_tlong(ieee754sp x)
 }
 
 
-u64 ieee754sp_tulong(ieee754sp x)
+u64 ieee754sp_tulong(union ieee754sp x)
 {
-       ieee754sp hb = ieee754sp_1e63();
+       union ieee754sp hb = ieee754sp_1e63();
 
        /* what if x < 0 ?? */
        if (ieee754sp_lt(x, hb))