📄 aasincos.cpp
字号:
#include "stdafx.h"
/* arc sin, cosine, tan2 and sqrt that will NOT fail */#ifndef lintstatic const char SCCSID[]="@(#)aasincos.c 4.6 93/12/12 GIE REL";#endif#include "projects.h"
#include <math.h>
#define ONE_TOL 1.00000000000001#define TOL 0.000000001#define ATOL 1e-50 doubleaasin(double v) { double av; if ((av = fabs(v)) >= 1.) { if (av > ONE_TOL) pj_errno = -19; return (v < 0. ? -HALFPI : HALFPI); } return asin(v);} doubleaacos(double v) { double av; if ((av = fabs(v)) >= 1.) { if (av > ONE_TOL) pj_errno = -19; return (v < 0. ? PI : 0.); } return acos(v);} doubleasqrt(double v) { return ((v <= 0) ? 0. : sqrt(v)); } doubleaatan2(double n, double d) { return ((fabs(n) < ATOL && fabs(d) < ATOL) ? 0. : atan2(n,d));}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -