72 double a, A, F, tmp, b0, recipb0, asq, F2, gamma2, siggam2, gam2p1;
73 double gamman, gammad, ta0, ta1, ta2, tb0, tb1, tb2, aa1, ab1;
75 a = tan(M_PI * (cf - 0.25));
77 A = pow(10.0, boost / 20.0);
78 if ((boost < 6.0) && (boost > -6.0)) F = sqrt(A);
79 else if (A > 1.0) F = A / sqrt(2.0);
84 if (fabs(tmp) <=
SPN) gammad = 1.0;
85 else gammad = pow((F2 - 1.0) / tmp, 0.25);
86 gamman = sqrt(A) * gammad;
88 gamma2 = gamman * gamman;
89 gam2p1 = 1.0 + gamma2;
90 siggam2 = 2.0 * sqrt(2.0) / 2.0 * gamman;
91 ta0 = gam2p1 + siggam2;
92 ta1 = -2.0 * (1.0 - gamma2);
93 ta2 = gam2p1 - siggam2;
95 gamma2 = gammad * gammad;
96 gam2p1 = 1.0 + gamma2;
97 siggam2 = 2.0 * sqrt(2.0) / 2.0 * gammad;
98 tb0 = gam2p1 + siggam2;
99 tb1 = -2.0 * (1.0 - gamma2);
100 tb2 = gam2p1 - siggam2;
103 *a0 = ta0 + aa1 + asq * ta2;
104 *a1 = 2.0 * a * (ta0 + ta2) + (1.0 + asq) * ta1;
105 *a2 = asq * ta0 + aa1 + ta2;
108 b0 = tb0 + ab1 + asq * tb2;
109 *b1 = 2.0 * a * (tb0 + tb2) + (1.0 + asq) * tb1;
110 *b2 = asq * tb0 + ab1 + tb2;