]> git.ipfire.org Git - thirdparty/glibc.git/commitdiff
Consolidate conditionals in mp sin/cos functions
authorSiddhesh Poyarekar <siddhesh@redhat.com>
Mon, 28 Oct 2013 10:12:41 +0000 (15:42 +0530)
committerSiddhesh Poyarekar <siddhesh@redhat.com>
Mon, 28 Oct 2013 10:51:54 +0000 (16:21 +0530)
Consolidate conditionals in multiple precision sin and cos functions
to prepare the code for addition of probe points.

ChangeLog
sysdeps/ieee754/dbl-64/sincos32.c

index fbb9e46fe8523fbadb9517372e6d59a1383e8f1b..fb8f43fa307551b6405a59d8ab1039474eaa83af 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2013-10-28  Siddhesh Poyarekar  <siddhesh@redhat.com>
+
+       * sysdeps/ieee754/dbl-64/sincos32.c (__sin32): Consolidate
+       conditional check for return value.
+       (__cos32): Likewise.
+
 2013-10-26  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>
 
        * sysdeps/powerpc/powerpc64/strcpy.S (strcpy): Add word load/store
index f253b8ce8b69c77e111bb2ff951d9d1e1ebd8782..49aa14895338dc44e4714637b1316d39e29de5c5 100644 (file)
@@ -147,10 +147,9 @@ __sin32 (double x, double res, double res1)
   __dbl_mp (x, &c, p);         /* c = x  */
   __sub (&b, &c, &a, p);
   /* if a > 0 return min (res, res1), otherwise return max (res, res1).  */
-  if (a.d[0] > 0)
-    return (res < res1) ? res : res1;
-  else
-    return (res > res1) ? res : res1;
+  if ((a.d[0] > 0 && res >= res1) || (a.d[0] <= 0 && res <= res1))
+    res = res1;
+  return res;
 }
 
 /* Receive double x and two double results of cos(x) and return result which is
@@ -181,10 +180,9 @@ __cos32 (double x, double res, double res1)
   __dbl_mp (x, &c, p);         /* c = x                  */
   __sub (&b, &c, &a, p);
   /* if a > 0 return max (res, res1), otherwise return min (res, res1).  */
-  if (a.d[0] > 0)
-    return (res > res1) ? res : res1;
-  else
-    return (res < res1) ? res : res1;
+  if ((a.d[0] > 0 && res <= res1) || (a.d[0] <= 0 && res >= res1))
+    res = res1;
+  return res;
 }
 
 /* Compute sin() of double-length number (X + DX) as Multi Precision number and