OSDN Git Service

2009-06-28 Ozkan Sezer <sezero@users.sourceforge.net>
[pf3gnuchains/pf3gnuchains3x.git] / winsup / mingw / mingwex / gdtoa / ulp.c
index 8e7b4d8..bfa9bde 100755 (executable)
@@ -31,40 +31,31 @@ THIS SOFTWARE.
 
 #include "gdtoaimp.h"
 
- double
-ulp
-#ifdef KR_headers
-       (x) double x;
-#else
-       (double x)
-#endif
+double ulp (dbl_union *x)
 {
        Long L;
-       double a;
+       union _dbl_union a;
 
        L = (word0(x) & Exp_mask) - (P-1)*Exp_msk1;
 #ifndef Sudden_Underflow
        if (L > 0) {
 #endif
-#ifdef IBM
-               L |= Exp_msk1 >> 4;
-#endif
-               word0(a) = L;
-               word1(a) = 0;
+               word0(&a) = L;
+               word1(&a) = 0;
 #ifndef Sudden_Underflow
-               }
+       }
        else {
                L = -L >> Exp_shift;
                if (L < Exp_shift) {
-                       word0(a) = 0x80000 >> L;
-                       word1(a) = 0;
-                       }
+                       word0(&a) = 0x80000 >> L;
+                       word1(&a) = 0;
+               }
                else {
-                       word0(a) = 0;
+                       word0(&a) = 0;
                        L -= Exp_shift;
-                       word1(a) = L >= 31 ? 1 : 1 << (31 - L);
-                       }
+                       word1(&a) = L >= 31 ? 1 : 1 << (31 - L);
                }
-#endif
-       return a;
        }
+#endif
+       return dval(&a);
+}