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
}