mlib update: new isnan()/isnanf() implementation
[tangerine.git] / compiler / mlib / w_acoshf.c
blobdf8b123ec1b03025dda786102b8ee59a3c3a6ff1
1 /* w_acoshf.c -- float version of w_acosh.c.
2 * Conversion to float by Ian Lance Taylor, Cygnus Support, ian@cygnus.com.
3 */
5 /*
6 * ====================================================
7 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
9 * Developed at SunPro, a Sun Microsystems, Inc. business.
10 * Permission to use, copy, modify, and distribute this
11 * software is freely granted, provided that this notice
12 * is preserved.
13 * ====================================================
17 #ifndef lint
18 static char rcsid[] = "$FreeBSD: src/lib/msun/src/w_acoshf.c,v 1.5 1999/08/28 00:06:57 peter Exp $";
19 #endif
22 * wrapper acoshf(x)
25 #include "math.h"
26 #include "math_private.h"
28 float
29 acoshf(float x) /* wrapper acoshf */
31 #ifdef _IEEE_LIBM
32 return __ieee754_acoshf(x);
33 #else
34 float z;
35 z = __ieee754_acoshf(x);
36 if(_LIB_VERSION == _IEEE_ || isnanf(x)) return z;
37 if(x<(float)1.0) {
38 /* acosh(x<1) */
39 return (float)__kernel_standard((double)x,(double)x,129);
40 } else
41 return z;
42 #endif