about summary refs log tree commit diff
path: root/sysdeps/ieee754/dbl-64/e_sinh.c
diff options
context:
space:
mode:
authorOndřej Bílka <neleai@seznam.cz>2013-10-17 16:03:24 +0200
committerOndřej Bílka <neleai@seznam.cz>2013-10-17 16:03:24 +0200
commitc5d5d574cbfa96d0f6c1db24d1e072c472627e41 (patch)
tree83b97e29ee65636dfe1247ea8d2344ca3f0b04b4 /sysdeps/ieee754/dbl-64/e_sinh.c
parente5c2c2d0c0315ca24cc9cd638cdb1a2d8dcc4b0d (diff)
downloadglibc-c5d5d574cbfa96d0f6c1db24d1e072c472627e41.tar.gz
glibc-c5d5d574cbfa96d0f6c1db24d1e072c472627e41.tar.xz
glibc-c5d5d574cbfa96d0f6c1db24d1e072c472627e41.zip
Format floating routines.
Diffstat (limited to 'sysdeps/ieee754/dbl-64/e_sinh.c')
-rw-r--r--sysdeps/ieee754/dbl-64/e_sinh.c69
1 files changed, 38 insertions, 31 deletions
diff --git a/sysdeps/ieee754/dbl-64/e_sinh.c b/sysdeps/ieee754/dbl-64/e_sinh.c
index b954100baa..851b510aaa 100644
--- a/sysdeps/ieee754/dbl-64/e_sinh.c
+++ b/sysdeps/ieee754/dbl-64/e_sinh.c
@@ -38,43 +38,50 @@ static char rcsid[] = "$NetBSD: e_sinh.c,v 1.7 1995/05/10 20:46:13 jtc Exp $";
 static const double one = 1.0, shuge = 1.0e307;
 
 double
-__ieee754_sinh(double x)
+__ieee754_sinh (double x)
 {
-	double t,w,h;
-	int32_t ix,jx;
-	u_int32_t lx;
+  double t, w, h;
+  int32_t ix, jx;
+  u_int32_t lx;
 
-    /* High word of |x|. */
-	GET_HIGH_WORD(jx,x);
-	ix = jx&0x7fffffff;
+  /* High word of |x|. */
+  GET_HIGH_WORD (jx, x);
+  ix = jx & 0x7fffffff;
 
-    /* x is INF or NaN */
-	if(__builtin_expect(ix>=0x7ff00000, 0)) return x+x;
+  /* x is INF or NaN */
+  if (__builtin_expect (ix >= 0x7ff00000, 0))
+    return x + x;
 
-	h = 0.5;
-	if (jx<0) h = -h;
-    /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */
-	if (ix < 0x40360000) {		/* |x|<22 */
-	    if (__builtin_expect(ix<0x3e300000, 0))	/* |x|<2**-28 */
-		if(shuge+x>one)
-		    return x;/* sinh(tiny) = tiny with inexact */
-	    t = __expm1(fabs(x));
-	    if(ix<0x3ff00000) return h*(2.0*t-t*t/(t+one));
-	    return h*(t+t/(t+one));
-	}
+  h = 0.5;
+  if (jx < 0)
+    h = -h;
+  /* |x| in [0,22], return sign(x)*0.5*(E+E/(E+1))) */
+  if (ix < 0x40360000)                  /* |x|<22 */
+    {
+      if (__builtin_expect (ix < 0x3e300000, 0))        /* |x|<2**-28 */
+	if (shuge + x > one)
+	  return x;
+      /* sinh(tiny) = tiny with inexact */
+      t = __expm1 (fabs (x));
+      if (ix < 0x3ff00000)
+	return h * (2.0 * t - t * t / (t + one));
+      return h * (t + t / (t + one));
+    }
 
-    /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
-	if (ix < 0x40862e42)  return h*__ieee754_exp(fabs(x));
+  /* |x| in [22, log(maxdouble)] return 0.5*exp(|x|) */
+  if (ix < 0x40862e42)
+    return h * __ieee754_exp (fabs (x));
 
-    /* |x| in [log(maxdouble), overflowthresold] */
-	GET_LOW_WORD(lx,x);
-	if (ix<0x408633ce || ((ix==0x408633ce)&&(lx<=(u_int32_t)0x8fb9f87d))) {
-	    w = __ieee754_exp(0.5*fabs(x));
-	    t = h*w;
-	    return t*w;
-	}
+  /* |x| in [log(maxdouble), overflowthresold] */
+  GET_LOW_WORD (lx, x);
+  if (ix < 0x408633ce || ((ix == 0x408633ce) && (lx <= (u_int32_t) 0x8fb9f87d)))
+    {
+      w = __ieee754_exp (0.5 * fabs (x));
+      t = h * w;
+      return t * w;
+    }
 
-    /* |x| > overflowthresold, sinh(x) overflow */
-	return x*shuge;
+  /* |x| > overflowthresold, sinh(x) overflow */
+  return x * shuge;
 }
 strong_alias (__ieee754_sinh, __sinh_finite)