asin.c

来自「<B>Digital的Unix操作系统VAX 4.2源码</B>」· C语言 代码 · 共 51 行

C
51
字号
/*	@(#)asin.c	4.1	12/25/82	*//*	asin(arg) and acos(arg) return the arcsin, arccos,	respectively of their arguments.	Arctan is called after appropriate range reduction.*/#include	<errno.h>int errno;double atan();double sqrt();static double pio2	= 1.570796326794896619;doubleasin(arg) double arg; {	double sign, temp;	sign = 1.;	if(arg <0){		arg = -arg;		sign = -1.;	}	if(arg > 1.){		errno = EDOM;		return(0.);	}	temp = sqrt(1. - arg*arg);	if(arg > 0.7)		temp = pio2 - atan(temp/arg);	else		temp = atan(arg/temp);	return(sign*temp);}doubleacos(arg) double arg; {	if((arg > 1.) || (arg < -1.)){		errno = EDOM;		return(0.);	}	return(pio2 - asin(arg));}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?