Mercurial > hg > CbC > CbC_gcc
diff libquadmath/math/asinhq.c @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | 04ced10e8804 |
children |
line wrap: on
line diff
--- a/libquadmath/math/asinhq.c Thu Oct 25 07:37:49 2018 +0900 +++ b/libquadmath/math/asinhq.c Thu Feb 13 11:34:05 2020 +0900 @@ -1,4 +1,4 @@ -/* asinhq.c -- __float128 version of s_asinh.c. +/* s_asinhl.c -- long double version of s_asinh.c. * Conversion to long double by Ulrich Drepper, * Cygnus Support, drepper@cygnus.com. */ @@ -14,21 +14,25 @@ * ==================================================== */ -/* asinhl(x) +#if defined(LIBM_SCCS) && !defined(lint) +static char rcsid[] = "$NetBSD: $"; +#endif + +/* asinhq(x) * Method : * Based on - * asinhl(x) = signl(x) * logl [ |x| + sqrtl(x*x+1) ] + * asinhq(x) = signl(x) * logq [ |x| + sqrtq(x*x+1) ] * we have - * asinhl(x) := x if 1+x*x=1, - * := signl(x)*(logl(x)+ln2)) for large |x|, else - * := signl(x)*logl(2|x|+1/(|x|+sqrtl(x*x+1))) if|x|>2, else - * := signl(x)*log1pl(|x| + x^2/(1 + sqrtl(1+x^2))) + * asinhq(x) := x if 1+x*x=1, + * := signl(x)*(logq(x)+ln2)) for large |x|, else + * := signl(x)*logq(2|x|+1/(|x|+sqrtq(x*x+1))) if|x|>2, else + * := signl(x)*log1pq(|x| + x^2/(1 + sqrtq(1+x^2))) */ #include "quadmath-imp.h" static const __float128 - one = 1.0Q, + one = 1, ln2 = 6.931471805599453094172321214581765681e-1Q, huge = 1.0e+4900Q;