aasincos.c
来自「开源投影系统 Cartographic Projections library」· C语言 代码 · 共 37 行
C
37 行
/* 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>#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 + =
减小字号Ctrl + -
显示快捷键?