00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #if defined(LIBM_SCCS) && !defined(lint)
00014 static char rcsid[] = "$NetBSD: w_asin.c,v 1.6 1995/05/10 20:48:35 jtc Exp $";
00015 #endif
00016
00017
00018
00019
00020
00021
00022 #include "math.h"
00023 #include "mathP.h"
00024
00025
00026 #ifdef __STDC__
00027 double asin(double x)
00028 #else
00029 double asin(x)
00030 double x;
00031 #endif
00032 {
00033 #ifdef _IEEE_LIBM
00034 return __ieee754_asin(x);
00035 #else
00036 double z;
00037 z = __ieee754_asin(x);
00038 if(_LIB_VERSION == _IEEE_ || isnan(x)) return z;
00039 if(fabs(x)>1.0) {
00040 return __kernel_standard(x,x,2);
00041 } else
00042 return z;
00043 #endif
00044 }