Formerly ieee754/__drem.c.~2~
authorroland <roland>
Fri, 6 Mar 1992 17:53:39 +0000 (17:53 +0000)
committerroland <roland>
Fri, 6 Mar 1992 17:53:39 +0000 (17:53 +0000)
sysdeps/ieee754/drem.c

index 8dc01fa..72c1426 100644 (file)
@@ -16,6 +16,25 @@ License along with the GNU C Library; see the file COPYING.LIB.  If
 not, write to the Free Software Foundation, Inc., 675 Mass Ave,
 Cambridge, MA 02139, USA.  */
 
+/*
+ * Copyright (c) 1985 Regents of the University of California.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted provided
+ * that: (1) source distributions retain this entire copyright notice and
+ * comment, and (2) distributions including binaries display the following
+ * acknowledgement:  ``This product includes software developed by the
+ * University of California, Berkeley and its contributors'' in the
+ * documentation or other materials provided with the distribution and in
+ * all advertising materials mentioning features or use of this software.
+ * Neither the name of the University nor the names of its contributors may
+ * be used to endorse or promote products derived from this software without
+ * specific prior written permission.
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
+ * WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ */
+
 #include <ansidecl.h>
 #include <math.h>
 #include <float.h>
@@ -66,11 +85,11 @@ DEFUN(__drem, (x, y),
       a.d = y + y;
       b = y / 2;
       ux.ieee.negative = 0;
-      while (x > a)
+      while (x > a.d)
        {
          unsigned short int k = ux.ieee.exponent - a.ieee.exponent;
          union ieee754_double tmp;
-         tmp.d = a;
+         tmp.d = a.d;
          tmp.ieee.exponent += k;
          if (x < tmp.d)
            --tmp.ieee.exponent;
@@ -80,7 +99,7 @@ DEFUN(__drem, (x, y),
        {
          x -= y;
          if (x >= b)
-           x -= p;
+           x -= y;
        }
       ux.ieee.negative = negative;
       return x;