mlib update: implementation updates
[cake.git] / compiler / mlib / w_acos.c
blobabc4f861888014e09f72e922d553e956dd0eb7c5
1 /* @(#)w_acos.c 5.1 93/09/24 */
2 /*
3 * ====================================================
4 * Copyright (C) 1993 by Sun Microsystems, Inc. All rights reserved.
6 * Developed at SunPro, a Sun Microsystems, Inc. business.
7 * Permission to use, copy, modify, and distribute this
8 * software is freely granted, provided that this notice
9 * is preserved.
10 * ====================================================
13 #ifndef lint
14 static char rcsid[] = "$FreeBSD: src/lib/msun/src/w_acos.c,v 1.5 1999/08/28 00:06:57 peter Exp $";
15 #endif
18 * wrap_acos(x)
21 #include "math.h"
22 #include "math_private.h"
25 double
26 acos(double x) /* wrapper acos */
28 #ifdef _IEEE_LIBM
29 return __ieee754_acos(x);
30 #else
31 double z;
32 z = __ieee754_acos(x);
33 if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
34 if(fabs(x)>1.0) {
35 return __kernel_standard(x,x,1); /* acos(|x|>1) */
36 } else
37 return z;
38 #endif