|
@@ -67,28 +67,6 @@ long double complex catanl(long double complex z)
|
|
|
return catan(z);
|
|
|
}
|
|
|
#else
|
|
|
-static const long double PIL = 3.141592653589793238462643383279502884197169L;
|
|
|
-static const long double DP1 = 3.14159265358979323829596852490908531763125L;
|
|
|
-static const long double DP2 = 1.6667485837041756656403424829301998703007e-19L;
|
|
|
-static const long double DP3 = 1.8830410776607851167459095484560349402753e-39L;
|
|
|
-
|
|
|
-static long double redupil(long double x)
|
|
|
-{
|
|
|
- long double t;
|
|
|
- long i;
|
|
|
-
|
|
|
- t = x / PIL;
|
|
|
- if (t >= 0.0L)
|
|
|
- t += 0.5L;
|
|
|
- else
|
|
|
- t -= 0.5L;
|
|
|
-
|
|
|
- i = t; /* the multiple */
|
|
|
- t = i;
|
|
|
- t = ((x - t * DP1) - t * DP2) - t * DP3;
|
|
|
- return t;
|
|
|
-}
|
|
|
-
|
|
|
long double complex catanl(long double complex z)
|
|
|
{
|
|
|
long double complex w;
|
|
@@ -101,7 +79,7 @@ long double complex catanl(long double complex z)
|
|
|
a = 1.0L - x2 - (y * y);
|
|
|
|
|
|
t = atan2l(2.0L * x, a) * 0.5L;
|
|
|
- w = redupil(t);
|
|
|
+ w = t;
|
|
|
|
|
|
t = y - 1.0L;
|
|
|
a = x2 + (t * t);
|