📄 cel.c
字号:
#include <math.h>
#include "jswlutil.h"
#define CA 0.0003
#define PIO2 1.57079632679490
float cel(float qqc, float pp, float aa, float bb)
{
float a,b,e,f,g,em,p,q,qc;
if (qqc == 0.0) jswlerror("Bad qqc in routine CEL");
qc=fabs(qqc);
a=aa;
b=bb;
p=pp;
e=qc;
em=1.0;
if (p > 0.0) {
p=sqrt(p);
b /= p;
} else {
f=qc*qc;
q=1.0-f;
g=1.0-p;
f -= p;
q *= (b-a*p);
p=sqrt(f/g);
a=(a-b)/g;
b = -q/(g*g*p)+a*p;
}
for (;;) {
f=a;
a += (b/p);
g=e/p;
b += (f*g);
b += b;
p=g+p;
g=em;
em += qc;
if (fabs(g-qc) <= g*CA) break;
qc=sqrt(e);
qc += qc;
e=qc*em;
}
return PIO2*(b+a*em)/(em*(em+p));
}
#undef CA
#undef PIO2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -