asin.c

来自「这是一个同样来自贝尔实验室的和UNIX有着渊源的操作系统, 其简洁的设计和实现易」· C语言 代码 · 共 48 行

C
48
字号
/*	asin(arg) and acos(arg) return the arcsin, arccos,	respectively of their arguments.	Arctan is called after appropriate range reduction. */#include <math.h>#include <errno.h>static double pio2	= 1.570796326794896619231e0;doubleasin(double arg){	double temp;	int sign;	sign = 0;	if(arg < 0) {		arg = -arg;		sign++;	}	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);	if(sign)		temp = -temp;	return temp;}doubleacos(double arg){	if(arg > 1 || arg < -1) {		errno = EDOM;		return 0;	}	return pio2 - asin(arg);}

⌨️ 快捷键说明

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