23 const double a1 = -0.250000000000000;
24 const double a2 = -0.111111111111111;
25 const double a3 = -0.010000000000000;
26 const double a4 = -0.017006802721088;
27 const double a5 = -0.019444444444444;
28 const double a6 = -0.020661157024793;
29 const double a7 = -0.021417300648069;
30 const double a8 = -0.021948866377231;
31 const double a9 = -0.022349233811171;
32 const double a10 = -0.022663689135191;
33 const double zeta2 = 1.644934066848226;
40 double r2 = xr * xr + xi * xi;
44 if ( r2 > 1. && ( xr / r2 ) > 0.5 ) {
68 a10 * z2 ) ) ) ) ) ) ) ) ) ) +
69 zeta2 - log( x ) * log( 1.0 - x ) + 0.5 * log( x ) * log( x );
72 }
else if ( r2 > 1 && ( xr / r2 ) <= 0.5 ) {
97 a10 * z2 ) ) ) ) ) ) ) ) ) ) +
98 zeta2 - 0.5 * log( -x ) * log( -x );
101 }
else if ( r2 == 1 && xi == 0 ) {
105 }
else if ( r2 <= 1 && xr > 0.5 ) {
130 a10 * z2 ) ) ) ) ) ) ) ) ) ) +
131 zeta2 - log( x ) * log( 1.0 - x );
134 }
else if ( r2 <= 1 && xr <= 0.5 ) {
159 a10 * z2 ) ) ) ) ) ) ) ) ) );
double li2spence(double x)