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 |
|