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 + -
显示快捷键?