e_sinh.c (8fa0b743820f61c661ba5f3ea0e3be0dc137910e) e_sinh.c (a48e1f224c561c156d130496638b5defbb3081d0)
1
2/* @(#)e_sinh.c 1.3 95/01/18 */
3/*
4 * ====================================================
5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 *
7 * Developed at SunSoft, a Sun Microsystems, Inc. business.
8 * Permission to use, copy, modify, and distribute this

--- 18 unchanged lines hidden (view full) ---

27 * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2)
28 * ln2ovft < x : sinh(x) := x*shuge (overflow)
29 *
30 * Special cases:
31 * sinh(x) is |x| if x is +INF, -INF, or NaN.
32 * only sinh(0)=0 is exact for finite x.
33 */
34
1
2/* @(#)e_sinh.c 1.3 95/01/18 */
3/*
4 * ====================================================
5 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 *
7 * Developed at SunSoft, a Sun Microsystems, Inc. business.
8 * Permission to use, copy, modify, and distribute this

--- 18 unchanged lines hidden (view full) ---

27 * lnovft <= x <= ln2ovft: sinh(x) := exp(x/2)/2 * exp(x/2)
28 * ln2ovft < x : sinh(x) := x*shuge (overflow)
29 *
30 * Special cases:
31 * sinh(x) is |x| if x is +INF, -INF, or NaN.
32 * only sinh(0)=0 is exact for finite x.
33 */
34
35#include <float.h>
36
35#include "math.h"
36#include "math_private.h"
37
38static const double one = 1.0, shuge = 1.0e307;
39
40double
41__ieee754_sinh(double x)
42{

--- 23 unchanged lines hidden (view full) ---

66
67 /* |x| in [log(maxdouble), overflowthresold] */
68 if (ix<=0x408633CE)
69 return h*2.0*__ldexp_exp(fabs(x), -1);
70
71 /* |x| > overflowthresold, sinh(x) overflow */
72 return x*shuge;
73}
37#include "math.h"
38#include "math_private.h"
39
40static const double one = 1.0, shuge = 1.0e307;
41
42double
43__ieee754_sinh(double x)
44{

--- 23 unchanged lines hidden (view full) ---

68
69 /* |x| in [log(maxdouble), overflowthresold] */
70 if (ix<=0x408633CE)
71 return h*2.0*__ldexp_exp(fabs(x), -1);
72
73 /* |x| > overflowthresold, sinh(x) overflow */
74 return x*shuge;
75}
76
77#if (LDBL_MANT_DIG == 53)
78__weak_reference(sinh, sinhl);
79#endif