uc-sdk
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
w_asin.c
Go to the documentation of this file.
1 
2 /* @(#)w_asin.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
9  * software is freely granted, provided that this notice
10  * is preserved.
11  * ====================================================
12  *
13  */
14 
15 /*
16  * wrapper asin(x)
17  */
18 
19 
20 #include "fdlibm.h"
21 
22 
23 #ifdef __STDC__
24  double asin(double x) /* wrapper asin */
25 #else
26  double asin(x) /* wrapper asin */
27  double x;
28 #endif
29 {
30 #ifdef _IEEE_LIBM
31  return __ieee754_asin(x);
32 #else
33  double z;
34  z = __ieee754_asin(x);
35  if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
36  if(fabs(x)>1.0) {
37  return __kernel_standard(x,x,2); /* asin(|x|>1) */
38  } else
39  return z;
40 #endif
41 }