113 for ( i = 0; i < n; i++ )
256 double pi = 3.141592653589793;
287 for ( i = 1; i <= k; i++ )
289 if ( ( i % 2 ) == 1 )
291 x[m+i-1] = tu / 2.0 / ( double ) ( k );
296 x[m+i-1] = td / 2.0 / ( double ) ( k );
306 for ( i = 0; i < n; i++ )
308 x[i] = std::cos ( x[i] * pi );
498 double pi = 3.141592653589793;
503 std::cerr <<
"CHEBYSHEV1_COMPUTE - Fatal error!\n";
504 std::cerr <<
" Illegal value of N = " << n <<
"\n";
508 for ( i = 0; i < n; i++ )
510 w[i] = pi / ( double ) ( n );
512 for ( i = 0; i < n; i++ )
514 x[i] = std::cos ( pi * (
double ) ( 2 * n - 1 - 2 * i )
515 / (
double ) ( 2 * n ) );
517 if ( ( n % 2 ) == 1 )
624 double pi = 3.141592653589793;
629 std::cerr <<
"CHEBYSHEV1_COMPUTE_POINTS - Fatal error!\n";
630 std::cerr <<
" Illegal value of N = " << n <<
"\n";
634 for ( i = 0; i < n; i++ )
636 x[i] = std::cos ( pi * (
double ) ( 2 * n - 1 - 2 * i )
637 / (
double ) ( 2 * n ) );
639 if ( ( n % 2 ) == 1 )
733 double pi = 3.141592653589793;
738 std::cerr <<
"CHEBYSHEV1_COMPUTE_WEIGHTS - Fatal error!\n";
739 std::cerr <<
" Illegal value of N = " << n <<
"\n";
743 for ( i = 0; i < n; i++ )
745 w[i] = pi / ( double ) ( n );
835 double pi = 3.141592653589793;
840 if ( ( expon % 2 ) == 0 )
844 for ( i = 2; i <= expon; i = i + 2 )
846 top = top * ( i - 1 );
850 exact = pi * ( double ) ( top ) / ( double ) ( bot );
912 double pi = 3.141592653589793;
917 std::cerr <<
"CHEBYSHEV2_COMPUTE - Fatal error!\n";
918 std::cerr <<
" Illegal value of N = " << n <<
"\n";
922 for ( i = 0; i < n; i++ )
924 angle = pi * ( double ) ( n - i ) / ( double ) ( n + 1 );
925 w[i] = pi / ( double ) ( n + 1 ) * std::pow ( std::sin ( angle ), 2 );
926 x[i] = std::cos ( angle );
929 if ( ( n % 2 ) == 1 )
1037 double pi = 3.141592653589793;
1042 std::cerr <<
"CHEBYSHEV2_COMPUTE_POINTS - Fatal error!\n";
1043 std::cerr <<
" Illegal value of N = " << n <<
"\n";
1047 for ( i = 0; i < n; i++ )
1049 angle = pi * ( double ) ( n - i ) / ( double ) ( n + 1 );
1050 x[i] = std::cos ( angle );
1053 if ( ( n % 2 ) == 1 )
1148 double pi = 3.141592653589793;
1153 std::cerr <<
"CHEBYSHEV2_COMPUTE_WEIGHTS - Fatal error!\n";
1154 std::cerr <<
" Illegal value of N = " << n <<
"\n";
1158 for ( i = 0; i < n; i++ )
1160 angle = pi * ( double ) ( n - i ) / ( double ) ( n + 1 );
1161 w[i] = pi / ( double ) ( n + 1 ) * std::pow ( std::sin ( angle ), 2 );
1251 double pi = 3.141592653589793;
1256 if ( ( expon % 2 ) == 0 )
1260 for ( i = 2; i <= expon; i = i + 2 )
1262 top = top * ( i - 1 );
1266 bot = bot * ( double ) ( expon + 2 );
1268 exact = pi * ( double ) ( top ) / ( double ) ( bot );
1321 double pi = 3.141592653589793;
1327 std::cerr <<
"CLENSHAW_CURTIS_COMPUTE - Fatal error!\n";
1328 std::cerr <<
" Illegal value of N = " << n <<
"\n";
1338 for ( i = 0; i < n; i++ )
1340 x[i] = std::cos ( (
double ) ( n - 1 - i ) * pi
1341 / (
double ) ( n - 1 ) );
1344 if ( ( n % 2 ) == 1 )
1350 for ( i = 0; i < n; i++ )
1352 theta = ( double ) ( i ) * pi / ( double ) ( n - 1 );
1356 for ( j = 1; j <= ( n - 1 ) / 2; j++ )
1358 if ( 2 * j == ( n - 1 ) )
1367 w[i] = w[i] - b * std::cos ( 2.0 * (
double ) ( j ) * theta )
1368 / ( double ) ( 4 * j * j - 1 );
1372 w[0] = w[0] / ( double ) ( n - 1 );
1373 for ( i = 1; i < n - 1; i++ )
1375 w[i] = 2.0 * w[i] / ( double ) ( n - 1 );
1377 w[n-1] = w[n-1] / ( double ) ( n - 1 );
1469 double pi = 3.141592653589793;
1474 std::cerr <<
"CLENSHAW_CURTIS_COMPUTE_POINTS - Fatal error!\n";
1475 std::cerr <<
" N < 1.\n";
1484 for ( index = 1; index <= n; index++ )
1486 x[index-1] = std::cos ( (
double ) ( n - index ) * pi
1487 / (
double ) ( n - 1 ) );
1490 if ( ( n % 2 ) == 1 )
1584 double pi = 3.141592653589793;
1590 std::cerr <<
"CLENSHAW_CURTIS_COMPUTE_WEIGHTS - Fatal error!\n";
1591 std::cerr <<
" N < 1.\n";
1600 for ( i = 1; i <= n; i++ )
1602 theta = ( double ) ( i - 1 ) * pi / ( double ) ( n - 1 );
1606 for ( j = 1; j <= ( n - 1 ) / 2; j++ )
1608 if ( 2 * j == ( n - 1 ) )
1617 w[i-1] = w[i-1] - b * std::cos ( 2.0 * (
double ) ( j ) * theta )
1618 / ( double ) ( 4 * j * j - 1 );
1622 w[0] = w[0] / ( double ) ( n - 1 );
1623 for ( i = 1; i < n - 1; i++ )
1625 w[i] = 2.0 * w[i] / ( double ) ( n - 1 );
1627 w[n-1] = w[n-1] / ( double ) ( n - 1 );
1799 for ( i = 1; i < k; i++ )
1817 *more = ( a[k-1] != n );
1850 value = ( double ) std::clock ( ) / ( double ) CLOCKS_PER_SEC;
1910 xd_temp =
new double[nd];
1911 yd_temp =
new double[nd];
1913 for ( i = 0; i < nd; i++ )
1917 for ( i = 0; i < nd; i++ )
1928 for ( i = 0; i < *ndp; i++ )
1933 for ( i = 0; i < *ndp; i++ )
1935 ydp[i] = ( double ) ( i + 1 ) * yd_temp[i+1];
2009 for ( i = nd - 2; 0 <= i; i-- )
2011 yd[i] = yd[i] + ( xv - xd[i] ) * yd[i+1];
2016 for ( i = nd - 1; 0 < i; i-- )
2082 for ( i = 1; i <= nd; i++ )
2136 for ( i = 0; i < nd; i++ )
2143 for ( j = 1; j <= nd - 1; j++ )
2145 for ( i = 1; i <= nd - j; i++ )
2147 c[nd-i-1] = c[nd-i-1] - xd[nd-i-j] * c[nd-i];
2194 double pi = 3.141592653589793;
2200 std::cerr <<
"FEJER2_COMPUTE - Fatal error!\n";
2201 std::cerr <<
" Illegal value of N = " << n <<
"\n";
2211 for ( i = 0; i < n; i++ )
2213 x[i] = std::cos ( (
double ) ( n - i ) * pi
2214 / (
double ) ( n + 1 ) );
2216 if ( ( n % 2 ) == 1 )
2228 for ( i = 0; i < n; i++ )
2230 theta = ( double ) ( n - i ) * pi
2231 / ( double ) ( n + 1 );
2235 for ( j = 1; j <= ( ( n - 1 ) / 2 ); j++ )
2237 w[i] = w[i] - 2.0 * std::cos ( 2.0 * (
double ) ( j ) * theta )
2238 / ( double ) ( 4 * j * j - 1 );
2240 p = 2.0 * ( double ) ( ( ( n + 1 ) / 2 ) ) - 1.0;
2241 w[i] = w[i] - std::cos ( ( p + 1.0 ) * theta ) / p;
2243 for ( i = 0; i < n; i++ )
2245 w[i] = 2.0 * w[i] / ( double ) ( n + 1 );
2333 double pi = 3.141592653589793;
2338 std::cerr <<
"FEJER2_COMPUTE_POINTS - Fatal error!\n";
2339 std::cerr <<
" N < 1.\n";
2348 for ( i = 1; i <= n; i++ )
2350 x[i-1] = std::cos ( (
double ) ( n + 1 - i ) * pi
2351 / (
double ) ( n + 1 ) );
2353 if ( ( n % 2 ) == 1 )
2459 double pi = 3.141592653589793;
2465 std::cerr <<
"FEJER2_COMPUTE_WEIGHTS - Fatal error!\n";
2466 std::cerr <<
" N < 1.\n";
2480 for ( i = 1; i <= n; i++ )
2482 theta = ( double ) ( n + 1 - i ) * pi
2483 / ( double ) ( n + 1 );
2487 for ( j = 1; j <= ( ( n - 1 ) / 2 ); j++ )
2489 w[i-1] = w[i-1] - 2.0 * std::cos ( 2.0 * (
double ) ( j ) * theta )
2490 / ( double ) ( 4 * j * j - 1 );
2492 p = 2.0 * ( double ) ( ( ( n + 1 ) / 2 ) ) - 1.0;
2493 w[i-1] = w[i-1] - std::cos ( ( p + 1.0 ) * theta ) / p;
2495 for ( i = 0; i < n; i++ )
2497 w[i] = 2.0 * w[i] / ( double ) ( n + 1 );
2635 std::cerr <<
"GEGENBAUER_COMPUTE - Fatal error!\n";
2636 std::cerr <<
" 1 <= ORDER is required.\n";
2639 c =
new double[order];
2643 if ( alpha <= -1.0 )
2646 std::cerr <<
"GEGENBAUER_COMPUTE - Fatal error!\n";
2647 std::cerr <<
" -1.0 < ALPHA is required.\n";
2656 c[1] = 1.0 / ( 2.0 * alpha + 3.0 );
2659 for ( i = 3; i <= order; i++ )
2661 c[i-1] = ( double ) ( i - 1 )
2662 * ( alpha + alpha + ( double ) ( i - 1 ) ) /
2663 ( ( alpha + alpha + (
double ) ( 2 * i - 1 ) )
2664 * ( alpha + alpha + ( double ) ( 2 * i - 3 ) ) );
2669 /
r8_gamma ( alpha + alpha + 2.0 );
2672 for ( i = 2; i <= order; i++ )
2674 prod = prod * c[i-1];
2676 cc = delta * std::pow ( 2.0, alpha + alpha + 1.0 ) * prod;
2678 for ( i = 1; i <= order; i++ )
2682 an = alpha / ( double ) ( order );
2684 r1 = ( 1.0 + alpha )
2685 * ( 2.78 / ( 4.0 + (
double ) ( order * order ) )
2686 + 0.768 * an / ( double ) ( order ) );
2688 r2 = 1.0 + 2.44 * an + 1.282 * an * an;
2690 x0 = ( r2 - r1 ) / r2;
2694 r1 = ( 4.1 + alpha ) /
2695 ( ( 1.0 + alpha ) * ( 1.0 + 0.156 * alpha ) );
2697 r2 = 1.0 + 0.06 * ( ( double ) ( order ) - 8.0 ) *
2698 ( 1.0 + 0.12 * alpha ) / ( double ) ( order );
2700 r3 = 1.0 + 0.012 * alpha *
2701 ( 1.0 + 0.25 *
r8_abs ( alpha ) ) / (
double ) ( order );
2703 x0 = x0 - r1 * r2 * r3 * ( 1.0 - x0 );
2707 r1 = ( 1.67 + 0.28 * alpha ) / ( 1.0 + 0.37 * alpha );
2709 r2 = 1.0 + 0.22 * ( ( double ) ( order ) - 8.0 )
2710 / (
double ) ( order );
2712 r3 = 1.0 + 8.0 * alpha /
2713 ( ( 6.28 + alpha ) * (
double ) ( order * order ) );
2715 x0 = x0 - r1 * r2 * r3 * ( x[0] - x0 );
2717 else if ( i < order - 1 )
2719 x0 = 3.0 * x[i-2] - 3.0 * x[i-3] + x[i-4];
2721 else if ( i == order - 1 )
2723 r1 = ( 1.0 + 0.235 * alpha ) / ( 0.766 + 0.119 * alpha );
2725 r2 = 1.0 / ( 1.0 + 0.639
2726 * ( ( double ) ( order ) - 4.0 )
2727 / ( 1.0 + 0.71 * ( (
double ) ( order ) - 4.0 ) ) );
2729 r3 = 1.0 / ( 1.0 + 20.0 * alpha / ( ( 7.5 + alpha ) *
2730 (
double ) ( order * order ) ) );
2732 x0 = x0 + r1 * r2 * r3 * ( x0 - x[i-3] );
2734 else if ( i == order )
2736 r1 = ( 1.0 + 0.37 * alpha ) / ( 1.67 + 0.28 * alpha );
2739 ( 1.0 + 0.22 * ( ( double ) ( order ) - 8.0 )
2740 / (
double ) ( order ) );
2742 r3 = 1.0 / ( 1.0 + 8.0 * alpha /
2743 ( ( 6.28 + alpha ) * (
double ) ( order * order ) ) );
2745 x0 = x0 + r1 * r2 * r3 * ( x0 - x[i-3] );
2751 w[i-1] = cc / ( dp2 * p1 );
2756 for ( i = 1; i <= order/2; i++ )
2759 x[i-1] = x[order-i];
2763 for ( i = 1; i <=order/2; i++ )
2766 w[i-1] = w[order-i];
2881 w =
new double[order];
2980 x =
new double[order];
3079 if ( ( expon % 2 ) == 1 )
3085 c = ( double ) ( expon );
3089 arg3 = 2.0 + alpha + c;
3095 *
r8_gamma ( 1.0 + alpha ) * value1
3103 int order,
double alpha,
double c[] )
3158 for ( i = 2; i <= order; i++ )
3166 *p2 = x * ( *p1 ) - c[i-1] * p0;
3167 *dp2 = x * dp1 + ( *p1 ) - c[i-1] * dp0;
3174 double *p1,
double c[] )
3225 for ( step = 1; step <= step_max; step++ )
3301 zemu =
r8_gamma ( ( alpha + 1.0 ) / 2.0 );
3307 for ( i = 0; i < n; i++ )
3309 i_r8 = ( double ) ( i + 1 );
3310 if ( ( i % 2 ) == 0 )
3312 bj[i] = ( i_r8 + alpha ) / 2.0;
3320 for ( i = 0; i < n; i++ )
3322 bj[i] = std::sqrt ( bj[i] );
3325 for ( i = 0; i < n; i++ )
3330 w[0] = std::sqrt ( zemu );
3331 for ( i = 1; i < n; i++ )
3340 for ( i = 0; i < n; i++ )
3444 w =
new double[order];
3528 x =
new double[order];
3629 double alpha_laguerre;
3639 std::cerr <<
"GEN_HERMITE_DR_COMPUTE - Fatal error!\n";
3640 std::cerr <<
" Illegal value of ORDER = " << order <<
"\n";
3646 arg = ( alpha + 1.0 ) / 2.0;
3652 if ( ( order % 2 ) == 0 )
3654 order_laguerre = order / 2;
3655 alpha_laguerre = ( alpha - 1.0 ) / 2.0;
3659 order_laguerre = ( order - 1 ) / 2;
3660 alpha_laguerre = ( alpha + 1.0 ) / 2.0;
3663 w_laguerre =
new double[order_laguerre];
3664 x_laguerre =
new double[order_laguerre];
3669 if ( ( order % 2 ) == 0 )
3671 for ( i = 0; i < order_laguerre; i++ )
3673 x[i] = - std::sqrt ( x_laguerre[order_laguerre-1-i] );
3675 for ( i = 0; i < order_laguerre; i++ )
3677 x[order_laguerre+i] = std::sqrt ( x_laguerre[i] );
3679 for ( i = 0; i < order_laguerre; i++ )
3681 w[i] = 0.5 * w_laguerre[order_laguerre-1-i];
3683 for ( i = 0; i < order_laguerre; i++ )
3685 w[order_laguerre+i] = 0.5 * w_laguerre[i];
3688 else if ( ( order % 2 ) == 1 )
3690 for ( i = 0; i < order_laguerre; i++ )
3692 x[i] = - std::sqrt ( x_laguerre[order_laguerre-1-i] );
3694 x[order_laguerre] = 0.0;
3695 for ( i = 0; i < order_laguerre; i++ )
3697 x[order_laguerre+1+i] = std::sqrt ( x_laguerre[i] );
3699 for ( i = 0; i < order_laguerre; i++ )
3701 w[i] = 0.5 * w_laguerre[order_laguerre-1-i] / x_laguerre[order_laguerre-1-i];
3704 arg = ( alpha + 1.0 ) / 2.0;
3705 w[order_laguerre] =
r8_gamma ( arg );
3706 for ( i = 0; i < order_laguerre; i++ )
3708 w[order_laguerre] = w[order_laguerre] - w_laguerre[i] / x_laguerre[i];
3711 for ( i = 0; i < order_laguerre; i++ )
3713 w[order_laguerre+1+i] = 0.5 * w_laguerre[i] / x_laguerre[i];
3716 delete [] w_laguerre;
3717 delete [] x_laguerre;
3762 if ( ( expon % 2 ) == 1 )
3768 a = alpha + ( double ) ( expon );
3775 arg = ( a + 1.0 ) / 2.0;
3855 for ( i = 0; i < n; i++ )
3857 i_r8 = ( double ) ( i + 1 );
3858 bj[i] = std::sqrt ( i_r8 * ( i_r8 + alpha ) );
3861 for ( i = 0; i < n; i++ )
3863 i_r8 = ( double ) ( i + 1 );
3864 x[i] = 2.0 * i_r8 - 1.0 + alpha;
3867 w[0] = std::sqrt ( zemu );
3869 for ( i = 1; i < n; i++ )
3878 for ( i = 0; i < n; i++ )
4013 w =
new double[order];
4101 x =
new double[order];
4194 arg = alpha + ( double ) ( expon + 1.0 );
4295 std::cerr <<
"GEN_LAGUERRE_SS_COMPUTE - Fatal error!\n";
4296 std::cerr <<
" Illegal value of ORDER = " << order <<
"\n";
4300 b =
new double[order];
4301 c =
new double[order];
4305 for ( i = 0; i < order; i++ )
4307 b[i] = ( alpha + ( double ) ( 2 * i + 1 ) );
4310 for ( i = 0; i < order; i++ )
4312 c[i] = ( double ) ( i ) * ( alpha + ( double ) ( i ) );
4315 for ( i = 1; i < order; i++ )
4319 cc =
r8_gamma ( alpha + 1.0 ) * prod;
4321 for ( i = 0; i < order; i++ )
4328 x0 = ( 1.0 + alpha ) * ( 3.0+ 0.92 * alpha ) /
4329 ( 1.0 + 2.4 * ( double ) ( order ) + 1.8 * alpha );
4333 x0 = x0 + ( 15.0 + 6.25 * alpha ) /
4334 ( 1.0 + 0.9 * alpha + 2.5 * (
double ) ( order ) );
4338 r1 = ( 1.0 + 2.55 * ( double ) ( i - 1 ) )
4339 / ( 1.9 * (
double ) ( i - 1 ) );
4341 r2 = 1.26 * ( double ) ( i - 1 ) * alpha /
4342 ( 1.0 + 3.5 * ( double ) ( i - 1 ) );
4344 ratio = ( r1 + r2 ) / ( 1.0 + 0.3 * alpha );
4346 x0 = x0 + ratio * ( x0 - x[i-2] );
4356 w[i] = ( cc / dp2 ) / p1;
4367 int order,
double alpha,
double b[],
double c[] )
4421 *p2 = x - alpha - 1.0;
4424 for ( i = 1; i < order; i++ )
4432 *p2 = ( x - b[i] ) * ( *p1 ) - c[i] * p0;
4433 *dp2 = ( x - b[i] ) * dp1 + ( *p1 ) - c[i] * dp0;
4441 double *p1,
double b[],
double c[] )
4493 for ( step = 1; step <= step_max; step++ )
4556 w[0+0*2] = 0.5 * ( xhalf[1] - xhalf[0] );
4557 w[1+0*2] = std::pow ( xhalf[1] - xhalf[0], 2 ) / 12.0;
4559 for ( j = 1; j < nhalf - 1; j++ )
4561 w[0+j*2] = 0.5 * ( xhalf[j+1] - xhalf[j-1] );
4562 w[1+j*2] = ( xhalf[j+1] - xhalf[j-1] )
4563 * ( xhalf[j+1] - 2.0 * xhalf[j] + xhalf[j-1] ) / 12.0;
4566 w[0+(nhalf-1)*2] = 0.5 * ( xhalf[nhalf-1] - xhalf[nhalf-2] );
4567 w[1+(nhalf-1)*2] = - std::pow ( xhalf[nhalf-2] - xhalf[nhalf-1], 2 ) / 12.0;
4617 xhalf =
new double[nhalf];
4719 if ( ( n % 2 ) != 0 )
4722 std::cerr <<
"HCC_COMPUTE_POINTS - Fatal error!\n";
4723 std::cerr <<
" Order of rule N is not even.\n";
4728 xhalf =
new double[nhalf];
4826 if ( ( n % 2 ) != 0 )
4829 std::cerr <<
"HCC_COMPUTE_WEIGHTS - Fatal error!\n";
4830 std::cerr <<
" Order of rule N is not even.\n";
4835 xhalf =
new double[nhalf];
4932 double a_high = 1.0;
5044 if ( ( n % 2 ) != 0 )
5047 std::cerr <<
"HCE_COMPUTE_POINTS - Fatal error!\n";
5048 std::cerr <<
" Order of rule N is not even.\n";
5053 for ( j = 0; j < m; j++ )
5055 x_value = ( double ) ( 2 * j + 1 - m ) / ( double ) ( m - 1 );
5056 for ( i = 0; i < 2; i++ )
5152 if ( ( n % 2 ) != 0 )
5155 std::cerr <<
"HCE_COMPUTE_WEIGHTS - Fatal error!\n";
5156 std::cerr <<
" Order of rule N is not even.\n";
5161 xhalf =
new double[nhalf];
5284 for ( i = 0; i < n; i++ )
5286 bj[i] = std::sqrt ( (
double ) ( i + 1 ) / 2.0 );
5289 for ( i = 0; i < n; i++ )
5294 w[0] = std::sqrt ( zemu );
5295 for ( i = 1; i < n; i++ )
5304 for ( i = 0; i < n; i++ )
5405 w =
new double[order];
5481 x =
new double[order];
5680 x[ 0] = 0.0000000000000000E+00;
5684 x[ 0] = -1.2247448713915889E+00;
5685 x[ 1] = 0.0000000000000000E+00;
5686 x[ 2] = 1.2247448713915889E+00;
5690 x[ 0] = -2.9592107790638380E+00;
5691 x[ 1] = -2.0232301911005157E+00;
5692 x[ 2] = -1.2247448713915889E+00;
5693 x[ 3] = -5.2403354748695763E-01;
5694 x[ 4] = 0.0000000000000000E+00;
5695 x[ 5] = 5.2403354748695763E-01;
5696 x[ 6] = 1.2247448713915889E+00;
5697 x[ 7] = 2.0232301911005157E+00;
5698 x[ 8] = 2.9592107790638380E+00;
5702 x[ 0] = -4.4995993983103881E+00;
5703 x[ 1] = -3.6677742159463378E+00;
5704 x[ 2] = -2.9592107790638380E+00;
5705 x[ 3] = -2.2665132620567876E+00;
5706 x[ 4] = -2.0232301911005157E+00;
5707 x[ 5] = -1.8357079751751868E+00;
5708 x[ 6] = -1.2247448713915889E+00;
5709 x[ 7] = -8.7004089535290285E-01;
5710 x[ 8] = -5.2403354748695763E-01;
5711 x[ 9] = 0.0000000000000000E+00;
5712 x[10] = 5.2403354748695763E-01;
5713 x[11] = 8.7004089535290285E-01;
5714 x[12] = 1.2247448713915889E+00;
5715 x[13] = 1.8357079751751868E+00;
5716 x[14] = 2.0232301911005157E+00;
5717 x[15] = 2.2665132620567876E+00;
5718 x[16] = 2.9592107790638380E+00;
5719 x[17] = 3.6677742159463378E+00;
5720 x[18] = 4.4995993983103881E+00;
5724 x[ 0] = -6.3759392709822356E+00;
5725 x[ 1] = -5.6432578578857449E+00;
5726 x[ 2] = -5.0360899444730940E+00;
5727 x[ 3] = -4.4995993983103881E+00;
5728 x[ 4] = -4.0292201405043713E+00;
5729 x[ 5] = -3.6677742159463378E+00;
5730 x[ 6] = -3.3491639537131945E+00;
5731 x[ 7] = -2.9592107790638380E+00;
5732 x[ 8] = -2.5705583765842968E+00;
5733 x[ 9] = -2.2665132620567876E+00;
5734 x[10] = -2.0232301911005157E+00;
5735 x[11] = -1.8357079751751868E+00;
5736 x[12] = -1.5794121348467671E+00;
5737 x[13] = -1.2247448713915889E+00;
5738 x[14] = -8.7004089535290285E-01;
5739 x[15] = -5.2403354748695763E-01;
5740 x[16] = -1.7606414208200893E-01;
5741 x[17] = 0.0000000000000000E+00;
5742 x[18] = 1.7606414208200893E-01;
5743 x[19] = 5.2403354748695763E-01;
5744 x[20] = 8.7004089535290285E-01;
5745 x[21] = 1.2247448713915889E+00;
5746 x[22] = 1.5794121348467671E+00;
5747 x[23] = 1.8357079751751868E+00;
5748 x[24] = 2.0232301911005157E+00;
5749 x[25] = 2.2665132620567876E+00;
5750 x[26] = 2.5705583765842968E+00;
5751 x[27] = 2.9592107790638380E+00;
5752 x[28] = 3.3491639537131945E+00;
5753 x[29] = 3.6677742159463378E+00;
5754 x[30] = 4.0292201405043713E+00;
5755 x[31] = 4.4995993983103881E+00;
5756 x[32] = 5.0360899444730940E+00;
5757 x[33] = 5.6432578578857449E+00;
5758 x[34] = 6.3759392709822356E+00;
5762 x[ 0] = -6.853200069757519;
5763 x[ 1] = -6.124527854622158;
5764 x[ 2] = -5.521865209868350;
5765 x[ 3] = -4.986551454150765;
5766 x[ 4] = -4.499599398310388;
5767 x[ 5] = -4.057956316089741;
5768 x[ 6] = -3.667774215946338;
5769 x[ 7] = -3.315584617593290;
5770 x[ 8] = -2.959210779063838;
5771 x[ 9] = -2.597288631188366;
5772 x[10] = -2.266513262056788;
5773 x[11] = -2.023230191100516;
5774 x[12] = -1.835707975175187;
5775 x[13] = -1.561553427651873;
5776 x[14] = -1.224744871391589;
5777 x[15] = -0.870040895352903;
5778 x[16] = -0.524033547486958;
5779 x[17] = -0.214618180588171;
5780 x[18] = 0.000000000000000;
5781 x[19] = 0.214618180588171;
5782 x[20] = 0.524033547486958;
5783 x[21] = 0.870040895352903;
5784 x[22] = 1.224744871391589;
5785 x[23] = 1.561553427651873;
5786 x[24] = 1.835707975175187;
5787 x[25] = 2.023230191100516;
5788 x[26] = 2.266513262056788;
5789 x[27] = 2.597288631188366;
5790 x[28] = 2.959210779063838;
5791 x[29] = 3.315584617593290;
5792 x[30] = 3.667774215946338;
5793 x[31] = 4.057956316089741;
5794 x[32] = 4.499599398310388;
5795 x[33] = 4.986551454150765;
5796 x[34] = 5.521865209868350;
5797 x[35] = 6.124527854622158;
5798 x[36] = 6.853200069757519;
5802 x[ 0] = -7.251792998192644;
5803 x[ 1] = -6.547083258397540;
5804 x[ 2] = -5.961461043404500;
5805 x[ 3] = -5.437443360177798;
5806 x[ 4] = -4.953574342912980;
5807 x[ 5] = -4.4995993983103881;
5808 x[ 6] = -4.070919267883068;
5809 x[ 7] = -3.6677742159463378;
5810 x[ 8] = -3.296114596212218;
5811 x[ 9] = -2.9592107790638380;
5812 x[10] = -2.630415236459871;
5813 x[11] = -2.2665132620567876;
5814 x[12] = -2.043834754429505;
5815 x[13] = -2.0232301911005157;
5816 x[14] = -1.8357079751751868;
5817 x[15] = -1.585873011819188;
5818 x[16] = -1.2247448713915889;
5819 x[17] = -0.87004089535290285;
5820 x[18] = -0.52403354748695763;
5821 x[19] = -0.195324784415805;
5822 x[20] = 0.0000000000000000;
5823 x[21] = 0.195324784415805;
5824 x[22] = 0.52403354748695763;
5825 x[23] = 0.87004089535290285;
5826 x[24] = 1.2247448713915889;
5827 x[25] = 1.585873011819188;
5828 x[26] = 1.8357079751751868;
5829 x[27] = 2.0232301911005157;
5830 x[28] = 2.043834754429505;
5831 x[29] = 2.2665132620567876;
5832 x[30] = 2.630415236459871;
5833 x[31] = 2.9592107790638380;
5834 x[32] = 3.296114596212218;
5835 x[33] = 3.6677742159463378;
5836 x[34] = 4.070919267883068;
5837 x[35] = 4.4995993983103881;
5838 x[36] = 4.953574342912980;
5839 x[37] = 5.437443360177798;
5840 x[38] = 5.961461043404500;
5841 x[39] = 6.547083258397540;
5842 x[40] = 7.251792998192644;
5846 x[ 0] = -10.167574994881873;
5847 x[ 1] = -7.231746029072501;
5848 x[ 2] = -6.535398426382995;
5849 x[ 3] = -5.954781975039809;
5850 x[ 4] = -5.434053000365068;
5851 x[ 5] = -4.952329763008589;
5852 x[ 6] = -4.4995993983103881;
5853 x[ 7] = -4.071335874253583;
5854 x[ 8] = -3.6677742159463378;
5855 x[ 9] = -3.295265921534226;
5856 x[10] = -2.9592107790638380;
5857 x[11] = -2.633356763661946;
5858 x[12] = -2.2665132620567876;
5859 x[13] = -2.089340389294661;
5860 x[14] = -2.0232301911005157;
5861 x[15] = -1.8357079751751868;
5862 x[16] = -1.583643465293944;
5863 x[17] = -1.2247448713915889;
5864 x[18] = -0.87004089535290285;
5865 x[19] = -0.52403354748695763;
5866 x[20] = -0.196029453662011;
5867 x[21] = 0.0000000000000000;
5868 x[22] = 0.196029453662011;
5869 x[23] = 0.52403354748695763;
5870 x[24] = 0.87004089535290285;
5871 x[25] = 1.2247448713915889;
5872 x[26] = 1.583643465293944;
5873 x[27] = 1.8357079751751868;
5874 x[28] = 2.0232301911005157;
5875 x[29] = 2.089340389294661;
5876 x[30] = 2.2665132620567876;
5877 x[31] = 2.633356763661946;
5878 x[32] = 2.9592107790638380;
5879 x[33] = 3.295265921534226;
5880 x[34] = 3.6677742159463378;
5881 x[35] = 4.071335874253583;
5882 x[36] = 4.4995993983103881;
5883 x[37] = 4.952329763008589;
5884 x[38] = 5.434053000365068;
5885 x[39] = 5.954781975039809;
5886 x[40] = 6.535398426382995;
5887 x[41] = 7.231746029072501;
5888 x[42] = 10.167574994881873;
5893 std::cerr <<
"HERMITE_GENZ_KEISTER_LOOKUP_POINTS - Fatal error!\n";
5894 std::cerr <<
" Illegal input value of N.\n";
5895 std::cerr <<
" N must be 1, 3, 9, 19, 35, 37, 41 or 43.\n";
6060 w[ 0] = 1.7724538509055159E+00;
6064 w[ 0] = 2.9540897515091930E-01;
6065 w[ 1] = 1.1816359006036772E+00;
6066 w[ 2] = 2.9540897515091930E-01;
6070 w[ 0] = 1.6708826306882348E-04;
6071 w[ 1] = 1.4173117873979098E-02;
6072 w[ 2] = 1.6811892894767771E-01;
6073 w[ 3] = 4.7869428549114124E-01;
6074 w[ 4] = 4.5014700975378197E-01;
6075 w[ 5] = 4.7869428549114124E-01;
6076 w[ 6] = 1.6811892894767771E-01;
6077 w[ 7] = 1.4173117873979098E-02;
6078 w[ 8] = 1.6708826306882348E-04;
6082 w[ 0] = 1.5295717705322357E-09;
6083 w[ 1] = 1.0802767206624762E-06;
6084 w[ 2] = 1.0656589772852267E-04;
6085 w[ 3] = 5.1133174390883855E-03;
6086 w[ 4] = -1.1232438489069229E-02;
6087 w[ 5] = 3.2055243099445879E-02;
6088 w[ 6] = 1.1360729895748269E-01;
6089 w[ 7] = 1.0838861955003017E-01;
6090 w[ 8] = 3.6924643368920851E-01;
6091 w[ 9] = 5.3788160700510168E-01;
6092 w[10] = 3.6924643368920851E-01;
6093 w[11] = 1.0838861955003017E-01;
6094 w[12] = 1.1360729895748269E-01;
6095 w[13] = 3.2055243099445879E-02;
6096 w[14] = -1.1232438489069229E-02;
6097 w[15] = 5.1133174390883855E-03;
6098 w[16] = 1.0656589772852267E-04;
6099 w[17] = 1.0802767206624762E-06;
6100 w[18] = 1.5295717705322357E-09;
6104 w[ 0] = 1.8684014894510604E-18;
6105 w[ 1] = 9.6599466278563243E-15;
6106 w[ 2] = 5.4896836948499462E-12;
6107 w[ 3] = 8.1553721816916897E-10;
6108 w[ 4] = 3.7920222392319532E-08;
6109 w[ 5] = 4.3737818040926989E-07;
6110 w[ 6] = 4.8462799737020461E-06;
6111 w[ 7] = 6.3328620805617891E-05;
6112 w[ 8] = 4.8785399304443770E-04;
6113 w[ 9] = 1.4515580425155904E-03;
6114 w[10] = 4.0967527720344047E-03;
6115 w[11] = 5.5928828911469180E-03;
6116 w[12] = 2.7780508908535097E-02;
6117 w[13] = 8.0245518147390893E-02;
6118 w[14] = 1.6371221555735804E-01;
6119 w[15] = 2.6244871488784277E-01;
6120 w[16] = 3.3988595585585218E-01;
6121 w[17] = 9.1262675363737921E-04;
6122 w[18] = 3.3988595585585218E-01;
6123 w[19] = 2.6244871488784277E-01;
6124 w[20] = 1.6371221555735804E-01;
6125 w[21] = 8.0245518147390893E-02;
6126 w[22] = 2.7780508908535097E-02;
6127 w[23] = 5.5928828911469180E-03;
6128 w[24] = 4.0967527720344047E-03;
6129 w[25] = 1.4515580425155904E-03;
6130 w[26] = 4.8785399304443770E-04;
6131 w[27] = 6.3328620805617891E-05;
6132 w[28] = 4.8462799737020461E-06;
6133 w[29] = 4.3737818040926989E-07;
6134 w[30] = 3.7920222392319532E-08;
6135 w[31] = 8.1553721816916897E-10;
6136 w[32] = 5.4896836948499462E-12;
6137 w[33] = 9.6599466278563243E-15;
6138 w[34] = 1.8684014894510604E-18;
6142 w[ 0] = 0.337304188079177058E-20;
6143 w[ 1] = 0.332834739632930463E-16;
6144 w[ 2] = 0.323016866782871498E-13;
6145 w[ 3] = 0.809333688669950037E-11;
6146 w[ 4] = 0.748907559239519284E-09;
6147 w[ 5] = 0.294146671497083432E-07;
6148 w[ 6] = 0.524482423744884136E-06;
6149 w[ 7] = 0.586639457073896277E-05;
6150 w[ 8] = 0.571885531470621903E-04;
6151 w[ 9] = 0.41642095727577091E-03;
6152 w[10] = 0.174733389581099482E-02;
6153 w[11] = 0.313373786000304381E-02;
6154 w[12] = 0.768092665770660459E-02;
6155 w[13] = 0.274962713372148476E-01;
6156 w[14] = 0.783630990508037449E-01;
6157 w[15] = 0.16611584261479281E+00;
6158 w[16] = 0.253636910481387185E+00;
6159 w[17] = 0.261712932511430884E+00;
6160 w[18] = 0.171719680968980257E+00;
6161 w[19] = 0.261712932511430884E+00;
6162 w[20] = 0.253636910481387185E+00;
6163 w[21] = 0.16611584261479281E+00;
6164 w[22] = 0.783630990508037449E-01;
6165 w[23] = 0.274962713372148476E-01;
6166 w[24] = 0.768092665770660459E-02;
6167 w[25] = 0.313373786000304381E-02;
6168 w[26] = 0.174733389581099482E-02;
6169 w[27] = 0.41642095727577091E-03;
6170 w[28] = 0.571885531470621903E-04;
6171 w[29] = 0.586639457073896277E-05;
6172 w[30] = 0.524482423744884136E-06;
6173 w[31] = 0.294146671497083432E-07;
6174 w[32] = 0.748907559239519284E-09;
6175 w[33] = 0.809333688669950037E-11;
6176 w[34] = 0.323016866782871498E-13;
6177 w[35] = 0.332834739632930463E-16;
6178 w[36] = 0.337304188079177058E-20;
6182 w[ 0] = 0.117725656974405367E-22;
6183 w[ 1] = 0.152506745534300636E-18;
6184 w[ 2] = 0.202183949965101288E-15;
6185 w[ 3] = 0.724614869051195508E-13;
6186 w[ 4] = 0.103121966469463034E-10;
6187 w[ 5] = 0.710371395169350952E-09;
6188 w[ 6] = 0.264376044449260516E-07;
6189 w[ 7] = 0.558982787078644997E-06;
6190 w[ 8] = 0.675628907134744976E-05;
6191 w[ 9] = 0.512198007019776873E-04;
6192 w[10] = 0.335013114947200879E-03;
6193 w[11] = 0.249379691096933139E-02;
6194 w[12] = - 0.25616995850607458E-01;
6195 w[13] = 0.317007878644325588E-01;
6196 w[14] = 0.125041498584003435E-02;
6197 w[15] = 0.293244560924894295E-01;
6198 w[16] = 0.799536390803302298E-01;
6199 w[17] = 0.164543666806555251E+00;
6200 w[18] = 0.258718519718241095E+00;
6201 w[19] = 0.293588795735908566E+00;
6202 w[20] = 0.997525375254611951E-01;
6203 w[21] = 0.293588795735908566E+00;
6204 w[22] = 0.258718519718241095E+00;
6205 w[23] = 0.164543666806555251E+00;
6206 w[24] = 0.799536390803302298E-01;
6207 w[25] = 0.293244560924894295E-01;
6208 w[26] = 0.125041498584003435E-02;
6209 w[27] = 0.317007878644325588E-01;
6210 w[28] = - 0.25616995850607458E-01;
6211 w[29] = 0.249379691096933139E-02;
6212 w[30] = 0.335013114947200879E-03;
6213 w[31] = 0.512198007019776873E-04;
6214 w[32] = 0.675628907134744976E-05;
6215 w[33] = 0.558982787078644997E-06;
6216 w[34] = 0.264376044449260516E-07;
6217 w[35] = 0.710371395169350952E-09;
6218 w[36] = 0.103121966469463034E-10;
6219 w[37] = 0.724614869051195508E-13;
6220 w[38] = 0.202183949965101288E-15;
6221 w[39] = 0.152506745534300636E-18;
6222 w[40] = 0.117725656974405367E-22;
6226 w[ 0] = 0.968100020641528185E-37;
6227 w[ 1] = 0.15516931262860431E-22;
6228 w[ 2] = 0.175937309107750992E-18;
6229 w[ 3] = 0.217337608710893738E-15;
6230 w[ 4] = 0.747837010380540069E-13;
6231 w[ 5] = 0.104028132097205732E-10;
6232 w[ 6] = 0.70903573389336778E-09;
6233 w[ 7] = 0.263481722999966618E-07;
6234 w[ 8] = 0.560127964848432175E-06;
6235 w[ 9] = 0.680410934802210232E-05;
6236 w[10] = 0.508343873102544037E-04;
6237 w[11] = 0.32753080006610181E-03;
6238 w[12] = 0.267479828788552937E-02;
6239 w[13] = - 0.687704270963253854E-02;
6240 w[14] = 0.119383201790913588E-01;
6241 w[15] = 0.248083722871002796E-02;
6242 w[16] = 0.29000335749726387E-01;
6243 w[17] = 0.798689557875757008E-01;
6244 w[18] = 0.164609842422580606E+00;
6245 w[19] = 0.258535954731607738E+00;
6246 w[20] = 0.292243810406117141E+00;
6247 w[21] = 0.102730713753441829E+00;
6248 w[22] = 0.292243810406117141E+00;
6249 w[23] = 0.258535954731607738E+00;
6250 w[24] = 0.164609842422580606E+00;
6251 w[25] = 0.798689557875757008E-01;
6252 w[26] = 0.29000335749726387E-01;
6253 w[27] = 0.248083722871002796E-02;
6254 w[28] = 0.119383201790913588E-01;
6255 w[29] = - 0.687704270963253854E-02;
6256 w[30] = 0.267479828788552937E-02;
6257 w[31] = 0.32753080006610181E-03;
6258 w[32] = 0.508343873102544037E-04;
6259 w[33] = 0.680410934802210232E-05;
6260 w[34] = 0.560127964848432175E-06;
6261 w[35] = 0.263481722999966618E-07;
6262 w[36] = 0.70903573389336778E-09;
6263 w[37] = 0.104028132097205732E-10;
6264 w[38] = 0.747837010380540069E-13;
6265 w[39] = 0.217337608710893738E-15;
6266 w[40] = 0.175937309107750992E-18;
6267 w[41] = 0.15516931262860431E-22;
6268 w[42] = 0.968100020641528185E-37;
6273 std::cerr <<
"HERMITE_GENZ_KEISTER_LOOKUP_WEIGHTS - Fatal error!\n";
6274 std::cerr <<
" Illegal input value of N.\n";
6275 std::cerr <<
" N must be 1, 3, 9, 19, 35, 37, 41 or 43.\n";
6426 x[ 0] = 0.0000000000000000E+00;
6430 x[ 0] = -1.2247448713915889E+00;
6431 x[ 1] = 0.0000000000000000E+00;
6432 x[ 2] = 1.2247448713915889E+00;
6436 x[ 0] = -2.9592107790638380E+00;
6437 x[ 1] = -2.0232301911005157E+00;
6438 x[ 2] = -1.2247448713915889E+00;
6439 x[ 3] = -5.2403354748695763E-01;
6440 x[ 4] = 0.0000000000000000E+00;
6441 x[ 5] = 5.2403354748695763E-01;
6442 x[ 6] = 1.2247448713915889E+00;
6443 x[ 7] = 2.0232301911005157E+00;
6444 x[ 8] = 2.9592107790638380E+00;
6448 x[ 0] = -4.4995993983103881E+00;
6449 x[ 1] = -3.6677742159463378E+00;
6450 x[ 2] = -2.9592107790638380E+00;
6451 x[ 3] = -2.2665132620567876E+00;
6452 x[ 4] = -2.0232301911005157E+00;
6453 x[ 5] = -1.8357079751751868E+00;
6454 x[ 6] = -1.2247448713915889E+00;
6455 x[ 7] = -8.7004089535290285E-01;
6456 x[ 8] = -5.2403354748695763E-01;
6457 x[ 9] = 0.0000000000000000E+00;
6458 x[10] = 5.2403354748695763E-01;
6459 x[11] = 8.7004089535290285E-01;
6460 x[12] = 1.2247448713915889E+00;
6461 x[13] = 1.8357079751751868E+00;
6462 x[14] = 2.0232301911005157E+00;
6463 x[15] = 2.2665132620567876E+00;
6464 x[16] = 2.9592107790638380E+00;
6465 x[17] = 3.6677742159463378E+00;
6466 x[18] = 4.4995993983103881E+00;
6470 x[ 0] = -6.853200069757519;
6471 x[ 1] = -6.124527854622158;
6472 x[ 2] = -5.521865209868350;
6473 x[ 3] = -4.986551454150765;
6474 x[ 4] = -4.499599398310388;
6475 x[ 5] = -4.057956316089741;
6476 x[ 6] = -3.667774215946338;
6477 x[ 7] = -3.315584617593290;
6478 x[ 8] = -2.959210779063838;
6479 x[ 9] = -2.597288631188366;
6480 x[10] = -2.266513262056788;
6481 x[11] = -2.023230191100516;
6482 x[12] = -1.835707975175187;
6483 x[13] = -1.561553427651873;
6484 x[14] = -1.224744871391589;
6485 x[15] = -0.870040895352903;
6486 x[16] = -0.524033547486958;
6487 x[17] = -0.214618180588171;
6488 x[18] = 0.000000000000000;
6489 x[19] = 0.214618180588171;
6490 x[20] = 0.524033547486958;
6491 x[21] = 0.870040895352903;
6492 x[22] = 1.224744871391589;
6493 x[23] = 1.561553427651873;
6494 x[24] = 1.835707975175187;
6495 x[25] = 2.023230191100516;
6496 x[26] = 2.266513262056788;
6497 x[27] = 2.597288631188366;
6498 x[28] = 2.959210779063838;
6499 x[29] = 3.315584617593290;
6500 x[30] = 3.667774215946338;
6501 x[31] = 4.057956316089741;
6502 x[32] = 4.499599398310388;
6503 x[33] = 4.986551454150765;
6504 x[34] = 5.521865209868350;
6505 x[35] = 6.124527854622158;
6506 x[36] = 6.853200069757519;
6511 std::cerr <<
"HERMITE_GK18_LOOKUP_POINTS - Fatal error!\n";
6512 std::cerr <<
" Illegal input value of N.\n";
6513 std::cerr <<
" N must be 1, 3, 9, 19, or 37.\n";
6583 x[ 0] = 0.0000000000000000E+00;
6587 x[ 0] = -1.2247448713915889E+00;
6588 x[ 1] = 0.0000000000000000E+00;
6589 x[ 2] = 1.2247448713915889E+00;
6593 x[ 0] = -2.9592107790638380E+00;
6594 x[ 1] = -2.0232301911005157E+00;
6595 x[ 2] = -1.2247448713915889E+00;
6596 x[ 3] = -5.2403354748695763E-01;
6597 x[ 4] = 0.0000000000000000E+00;
6598 x[ 5] = 5.2403354748695763E-01;
6599 x[ 6] = 1.2247448713915889E+00;
6600 x[ 7] = 2.0232301911005157E+00;
6601 x[ 8] = 2.9592107790638380E+00;
6605 x[ 0] = -4.4995993983103881E+00;
6606 x[ 1] = -3.6677742159463378E+00;
6607 x[ 2] = -2.9592107790638380E+00;
6608 x[ 3] = -2.2665132620567876E+00;
6609 x[ 4] = -2.0232301911005157E+00;
6610 x[ 5] = -1.8357079751751868E+00;
6611 x[ 6] = -1.2247448713915889E+00;
6612 x[ 7] = -8.7004089535290285E-01;
6613 x[ 8] = -5.2403354748695763E-01;
6614 x[ 9] = 0.0000000000000000E+00;
6615 x[10] = 5.2403354748695763E-01;
6616 x[11] = 8.7004089535290285E-01;
6617 x[12] = 1.2247448713915889E+00;
6618 x[13] = 1.8357079751751868E+00;
6619 x[14] = 2.0232301911005157E+00;
6620 x[15] = 2.2665132620567876E+00;
6621 x[16] = 2.9592107790638380E+00;
6622 x[17] = 3.6677742159463378E+00;
6623 x[18] = 4.4995993983103881E+00;
6627 x[ 0] = -7.251792998192644;
6628 x[ 1] = -6.547083258397540;
6629 x[ 2] = -5.961461043404500;
6630 x[ 3] = -5.437443360177798;
6631 x[ 4] = -4.953574342912980;
6632 x[ 5] = -4.4995993983103881;
6633 x[ 6] = -4.070919267883068;
6634 x[ 7] = -3.6677742159463378;
6635 x[ 8] = -3.296114596212218;
6636 x[ 9] = -2.9592107790638380;
6637 x[10] = -2.630415236459871;
6638 x[11] = -2.2665132620567876;
6639 x[12] = -2.043834754429505;
6640 x[13] = -2.0232301911005157;
6641 x[14] = -1.8357079751751868;
6642 x[15] = -1.585873011819188;
6643 x[16] = -1.2247448713915889;
6644 x[17] = -0.87004089535290285;
6645 x[18] = -0.52403354748695763;
6646 x[19] = -0.195324784415805;
6647 x[20] = 0.0000000000000000;
6648 x[21] = 0.195324784415805;
6649 x[22] = 0.52403354748695763;
6650 x[23] = 0.87004089535290285;
6651 x[24] = 1.2247448713915889;
6652 x[25] = 1.585873011819188;
6653 x[26] = 1.8357079751751868;
6654 x[27] = 2.0232301911005157;
6655 x[28] = 2.043834754429505;
6656 x[29] = 2.2665132620567876;
6657 x[30] = 2.630415236459871;
6658 x[31] = 2.9592107790638380;
6659 x[32] = 3.296114596212218;
6660 x[33] = 3.6677742159463378;
6661 x[34] = 4.070919267883068;
6662 x[35] = 4.4995993983103881;
6663 x[36] = 4.953574342912980;
6664 x[37] = 5.437443360177798;
6665 x[38] = 5.961461043404500;
6666 x[39] = 6.547083258397540;
6667 x[40] = 7.251792998192644;
6672 std::cerr <<
"HERMITE_GK22_LOOKUP_POINTS - Fatal error!\n";
6673 std::cerr <<
" Illegal input value of N.\n";
6674 std::cerr <<
" N must be 1, 3, 9, 19, or 41.\n";
6744 x[ 0] = 0.0000000000000000E+00;
6748 x[ 0] = -1.2247448713915889E+00;
6749 x[ 1] = 0.0000000000000000E+00;
6750 x[ 2] = 1.2247448713915889E+00;
6754 x[ 0] = -2.9592107790638380E+00;
6755 x[ 1] = -2.0232301911005157E+00;
6756 x[ 2] = -1.2247448713915889E+00;
6757 x[ 3] = -5.2403354748695763E-01;
6758 x[ 4] = 0.0000000000000000E+00;
6759 x[ 5] = 5.2403354748695763E-01;
6760 x[ 6] = 1.2247448713915889E+00;
6761 x[ 7] = 2.0232301911005157E+00;
6762 x[ 8] = 2.9592107790638380E+00;
6766 x[ 0] = -4.4995993983103881E+00;
6767 x[ 1] = -3.6677742159463378E+00;
6768 x[ 2] = -2.9592107790638380E+00;
6769 x[ 3] = -2.2665132620567876E+00;
6770 x[ 4] = -2.0232301911005157E+00;
6771 x[ 5] = -1.8357079751751868E+00;
6772 x[ 6] = -1.2247448713915889E+00;
6773 x[ 7] = -8.7004089535290285E-01;
6774 x[ 8] = -5.2403354748695763E-01;
6775 x[ 9] = 0.0000000000000000E+00;
6776 x[10] = 5.2403354748695763E-01;
6777 x[11] = 8.7004089535290285E-01;
6778 x[12] = 1.2247448713915889E+00;
6779 x[13] = 1.8357079751751868E+00;
6780 x[14] = 2.0232301911005157E+00;
6781 x[15] = 2.2665132620567876E+00;
6782 x[16] = 2.9592107790638380E+00;
6783 x[17] = 3.6677742159463378E+00;
6784 x[18] = 4.4995993983103881E+00;
6788 x[ 0] = -10.167574994881873;
6789 x[ 1] = -7.231746029072501;
6790 x[ 2] = -6.535398426382995;
6791 x[ 3] = -5.954781975039809;
6792 x[ 4] = -5.434053000365068;
6793 x[ 5] = -4.952329763008589;
6794 x[ 6] = -4.4995993983103881;
6795 x[ 7] = -4.071335874253583;
6796 x[ 8] = -3.6677742159463378;
6797 x[ 9] = -3.295265921534226;
6798 x[10] = -2.9592107790638380;
6799 x[11] = -2.633356763661946;
6800 x[12] = -2.2665132620567876;
6801 x[13] = -2.089340389294661;
6802 x[14] = -2.0232301911005157;
6803 x[15] = -1.8357079751751868;
6804 x[16] = -1.583643465293944;
6805 x[17] = -1.2247448713915889;
6806 x[18] = -0.87004089535290285;
6807 x[19] = -0.52403354748695763;
6808 x[20] = -0.196029453662011;
6809 x[21] = 0.0000000000000000;
6810 x[22] = 0.196029453662011;
6811 x[23] = 0.52403354748695763;
6812 x[24] = 0.87004089535290285;
6813 x[25] = 1.2247448713915889;
6814 x[26] = 1.583643465293944;
6815 x[27] = 1.8357079751751868;
6816 x[28] = 2.0232301911005157;
6817 x[29] = 2.089340389294661;
6818 x[30] = 2.2665132620567876;
6819 x[31] = 2.633356763661946;
6820 x[32] = 2.9592107790638380;
6821 x[33] = 3.295265921534226;
6822 x[34] = 3.6677742159463378;
6823 x[35] = 4.071335874253583;
6824 x[36] = 4.4995993983103881;
6825 x[37] = 4.952329763008589;
6826 x[38] = 5.434053000365068;
6827 x[39] = 5.954781975039809;
6828 x[40] = 6.535398426382995;
6829 x[41] = 7.231746029072501;
6830 x[42] = 10.167574994881873;
6835 std::cerr <<
"HERMITE_GK24_LOOKUP_POINTS - Fatal error!\n";
6836 std::cerr <<
" Illegal input value of N.\n";
6837 std::cerr <<
" N must be 1, 3, 9, 19, or 43.\n";
6880 double pi = 3.141592653589793;
6887 else if ( ( n % 2 ) == 1 )
6894 / std::pow ( 2.0, n / 2 );
6902 double xd[],
double yd[],
double xdp[],
double ydp[] )
6961 for ( i = 0; i < n; i++ )
6970 for ( i = 1; i < n; i++ )
6972 yd[0+2*i] = ( y[i] - y[i-1] ) / ( x[i] - x[i-1] );
6974 for ( i = 0; i < n; i++ )
6981 for ( i = 2; i < nd; i++ )
6983 for ( j = nd - 1; i <= j; j-- )
6985 yd[j] = ( yd[j] - yd[j-1] ) / ( xd[j] - xd[j-i] );
6991 dif_deriv ( nd, xd, yd, &ndp, xdp, ydp );
7051 xd =
new double[nd];
7052 yd =
new double[nd];
7055 xdp =
new double[ndp];
7056 ydp =
new double[ndp];
7058 for ( i = 0; i < n; i++ )
7066 for ( i = 0; i < n; i++ )
7073 w[k] = b_value - a_value;
7082 w[k] = b_value - a_value;
7100 double ydp[],
int nv,
double xv[],
double yv[],
double yvp[] )
7157 for ( j = 0; j < nv; j++ )
7160 for ( i = nd - 2; 0 <= i; i-- )
7162 yv[j] = yd[i] + ( xv[j] - xd[i] ) * yv[j];
7165 yvp[j] = ydp[ndp-1];
7166 for ( i = ndp - 2; 0 <= i; i-- )
7168 yvp[j] = ydp[i] + ( xv[j] - xdp[i] ) * yvp[j];
7328 x[0] = - 0.707106781186547524400844362105E+00;
7329 x[1] = 0.707106781186547524400844362105E+00;
7333 x[0] = - 0.122474487139158904909864203735E+01;
7335 x[2] = 0.122474487139158904909864203735E+01;
7339 x[0] = - 0.165068012388578455588334111112E+01;
7340 x[1] = - 0.524647623275290317884060253835E+00;
7341 x[2] = 0.524647623275290317884060253835E+00;
7342 x[3] = 0.165068012388578455588334111112E+01;
7346 x[0] = - 0.202018287045608563292872408814E+01;
7347 x[1] = - 0.958572464613818507112770593893E+00;
7349 x[3] = 0.958572464613818507112770593893E+00;
7350 x[4] = 0.202018287045608563292872408814E+01;
7354 x[0] = - 0.235060497367449222283392198706E+01;
7355 x[1] = - 0.133584907401369694971489528297E+01;
7356 x[2] = - 0.436077411927616508679215948251E+00;
7357 x[3] = 0.436077411927616508679215948251E+00;
7358 x[4] = 0.133584907401369694971489528297E+01;
7359 x[5] = 0.235060497367449222283392198706E+01;
7363 x[0] = - 0.265196135683523349244708200652E+01;
7364 x[1] = - 0.167355162876747144503180139830E+01;
7365 x[2] = - 0.816287882858964663038710959027E+00;
7367 x[4] = 0.816287882858964663038710959027E+00;
7368 x[5] = 0.167355162876747144503180139830E+01;
7369 x[6] = 0.265196135683523349244708200652E+01;
7373 x[0] = - 0.293063742025724401922350270524E+01;
7374 x[1] = - 0.198165675669584292585463063977E+01;
7375 x[2] = - 0.115719371244678019472076577906E+01;
7376 x[3] = - 0.381186990207322116854718885584E+00;
7377 x[4] = 0.381186990207322116854718885584E+00;
7378 x[5] = 0.115719371244678019472076577906E+01;
7379 x[6] = 0.198165675669584292585463063977E+01;
7380 x[7] = 0.293063742025724401922350270524E+01;
7384 x[0] = - 0.319099320178152760723004779538E+01;
7385 x[1] = - 0.226658058453184311180209693284E+01;
7386 x[2] = - 0.146855328921666793166701573925E+01;
7387 x[3] = - 0.723551018752837573322639864579E+00;
7389 x[5] = 0.723551018752837573322639864579E+00;
7390 x[6] = 0.146855328921666793166701573925E+01;
7391 x[7] = 0.226658058453184311180209693284E+01;
7392 x[8] = 0.319099320178152760723004779538E+01;
7396 x[0] = - 0.343615911883773760332672549432E+01;
7397 x[1] = - 0.253273167423278979640896079775E+01;
7398 x[2] = - 0.175668364929988177345140122011E+01;
7399 x[3] = - 0.103661082978951365417749191676E+01;
7400 x[4] = - 0.342901327223704608789165025557E+00;
7401 x[5] = 0.342901327223704608789165025557E+00;
7402 x[6] = 0.103661082978951365417749191676E+01;
7403 x[7] = 0.175668364929988177345140122011E+01;
7404 x[8] = 0.253273167423278979640896079775E+01;
7405 x[9] = 0.343615911883773760332672549432E+01;
7409 x[0] = - 0.366847084655958251845837146485E+01;
7410 x[1] = - 0.278329009978165177083671870152E+01;
7411 x[2] = - 0.202594801582575533516591283121E+01;
7412 x[3] = - 0.132655708449493285594973473558E+01;
7413 x[4] = - 0.656809566882099765024611575383E+00;
7415 x[6] = 0.656809566882099765024611575383E+00;
7416 x[7] = 0.132655708449493285594973473558E+01;
7417 x[8] = 0.202594801582575533516591283121E+01;
7418 x[9] = 0.278329009978165177083671870152E+01;
7419 x[10] = 0.366847084655958251845837146485E+01;
7423 x[0] = - 0.388972489786978191927164274724E+01;
7424 x[1] = - 0.302063702512088977171067937518E+01;
7425 x[2] = - 0.227950708050105990018772856942E+01;
7426 x[3] = - 0.159768263515260479670966277090E+01;
7427 x[4] = - 0.947788391240163743704578131060E+00;
7428 x[5] = - 0.314240376254359111276611634095E+00;
7429 x[6] = 0.314240376254359111276611634095E+00;
7430 x[7] = 0.947788391240163743704578131060E+00;
7431 x[8] = 0.159768263515260479670966277090E+01;
7432 x[9] = 0.227950708050105990018772856942E+01;
7433 x[10] = 0.302063702512088977171067937518E+01;
7434 x[11] = 0.388972489786978191927164274724E+01;
7438 x[0] = - 0.410133759617863964117891508007E+01;
7439 x[1] = - 0.324660897837240998812205115236E+01;
7440 x[2] = - 0.251973568567823788343040913628E+01;
7441 x[3] = - 0.185310765160151214200350644316E+01;
7442 x[4] = - 0.122005503659074842622205526637E+01;
7443 x[5] = - 0.605763879171060113080537108602E+00;
7445 x[7] = 0.605763879171060113080537108602E+00;
7446 x[8] = 0.122005503659074842622205526637E+01;
7447 x[9] = 0.185310765160151214200350644316E+01;
7448 x[10] = 0.251973568567823788343040913628E+01;
7449 x[11] = 0.324660897837240998812205115236E+01;
7450 x[12] = 0.410133759617863964117891508007E+01;
7454 x[0] = - 0.430444857047363181262129810037E+01;
7455 x[1] = - 0.346265693360227055020891736115E+01;
7456 x[2] = - 0.274847072498540256862499852415E+01;
7457 x[3] = - 0.209518325850771681573497272630E+01;
7458 x[4] = - 0.147668273114114087058350654421E+01;
7459 x[5] = - 0.878713787329399416114679311861E+00;
7460 x[6] = - 0.291745510672562078446113075799E+00;
7461 x[7] = 0.291745510672562078446113075799E+00;
7462 x[8] = 0.878713787329399416114679311861E+00;
7463 x[9] = 0.147668273114114087058350654421E+01;
7464 x[10] = 0.209518325850771681573497272630E+01;
7465 x[11] = 0.274847072498540256862499852415E+01;
7466 x[12] = 0.346265693360227055020891736115E+01;
7467 x[13] = 0.430444857047363181262129810037E+01;
7471 x[0] = - 0.449999070730939155366438053053E+01;
7472 x[1] = - 0.366995037340445253472922383312E+01;
7473 x[2] = - 0.296716692790560324848896036355E+01;
7474 x[3] = - 0.232573248617385774545404479449E+01;
7475 x[4] = - 0.171999257518648893241583152515E+01;
7476 x[5] = - 0.113611558521092066631913490556E+01;
7477 x[6] = - 0.565069583255575748526020337198E+00;
7479 x[8] = 0.565069583255575748526020337198E+00;
7480 x[9] = 0.113611558521092066631913490556E+01;
7481 x[10] = 0.171999257518648893241583152515E+01;
7482 x[11] = 0.232573248617385774545404479449E+01;
7483 x[12] = 0.296716692790560324848896036355E+01;
7484 x[13] = 0.366995037340445253472922383312E+01;
7485 x[14] = 0.449999070730939155366438053053E+01;
7489 x[0] = - 0.468873893930581836468849864875E+01;
7490 x[1] = - 0.386944790486012269871942409801E+01;
7491 x[2] = - 0.317699916197995602681399455926E+01;
7492 x[3] = - 0.254620215784748136215932870545E+01;
7493 x[4] = - 0.195178799091625397743465541496E+01;
7494 x[5] = - 0.138025853919888079637208966969E+01;
7495 x[6] = - 0.822951449144655892582454496734E+00;
7496 x[7] = - 0.273481046138152452158280401965E+00;
7497 x[8] = 0.273481046138152452158280401965E+00;
7498 x[9] = 0.822951449144655892582454496734E+00;
7499 x[10] = 0.138025853919888079637208966969E+01;
7500 x[11] = 0.195178799091625397743465541496E+01;
7501 x[12] = 0.254620215784748136215932870545E+01;
7502 x[13] = 0.317699916197995602681399455926E+01;
7503 x[14] = 0.386944790486012269871942409801E+01;
7504 x[15] = 0.468873893930581836468849864875E+01;
7508 x[0] = - 0.487134519367440308834927655662E+01;
7509 x[1] = - 0.406194667587547430689245559698E+01;
7510 x[2] = - 0.337893209114149408338327069289E+01;
7511 x[3] = - 0.275776291570388873092640349574E+01;
7512 x[4] = - 0.217350282666662081927537907149E+01;
7513 x[5] = - 0.161292431422123133311288254454E+01;
7514 x[6] = - 0.106764872574345055363045773799E+01;
7515 x[7] = - 0.531633001342654731349086553718E+00;
7517 x[9] = 0.531633001342654731349086553718E+00;
7518 x[10] = 0.106764872574345055363045773799E+01;
7519 x[11] = 0.161292431422123133311288254454E+01;
7520 x[12] = 0.217350282666662081927537907149E+01;
7521 x[13] = 0.275776291570388873092640349574E+01;
7522 x[14] = 0.337893209114149408338327069289E+01;
7523 x[15] = 0.406194667587547430689245559698E+01;
7524 x[16] = 0.487134519367440308834927655662E+01;
7528 x[0] = - 0.504836400887446676837203757885E+01;
7529 x[1] = - 0.424811787356812646302342016090E+01;
7530 x[2] = - 0.357376906848626607950067599377E+01;
7531 x[3] = - 0.296137750553160684477863254906E+01;
7532 x[4] = - 0.238629908916668600026459301424E+01;
7533 x[5] = - 0.183553160426162889225383944409E+01;
7534 x[6] = - 0.130092085838961736566626555439E+01;
7535 x[7] = - 0.776682919267411661316659462284E+00;
7536 x[8] = - 0.258267750519096759258116098711E+00;
7537 x[9] = 0.258267750519096759258116098711E+00;
7538 x[10] = 0.776682919267411661316659462284E+00;
7539 x[11] = 0.130092085838961736566626555439E+01;
7540 x[12] = 0.183553160426162889225383944409E+01;
7541 x[13] = 0.238629908916668600026459301424E+01;
7542 x[14] = 0.296137750553160684477863254906E+01;
7543 x[15] = 0.357376906848626607950067599377E+01;
7544 x[16] = 0.424811787356812646302342016090E+01;
7545 x[17] = 0.504836400887446676837203757885E+01;
7549 x[0] = - 0.522027169053748216460967142500E+01;
7550 x[1] = - 0.442853280660377943723498532226E+01;
7551 x[2] = - 0.376218735196402009751489394104E+01;
7552 x[3] = - 0.315784881834760228184318034120E+01;
7553 x[4] = - 0.259113378979454256492128084112E+01;
7554 x[5] = - 0.204923170985061937575050838669E+01;
7555 x[6] = - 0.152417061939353303183354859367E+01;
7556 x[7] = - 0.101036838713431135136859873726E+01;
7557 x[8] = - 0.503520163423888209373811765050E+00;
7559 x[10] = 0.503520163423888209373811765050E+00;
7560 x[11] = 0.101036838713431135136859873726E+01;
7561 x[12] = 0.152417061939353303183354859367E+01;
7562 x[13] = 0.204923170985061937575050838669E+01;
7563 x[14] = 0.259113378979454256492128084112E+01;
7564 x[15] = 0.315784881834760228184318034120E+01;
7565 x[16] = 0.376218735196402009751489394104E+01;
7566 x[17] = 0.442853280660377943723498532226E+01;
7567 x[18] = 0.522027169053748216460967142500E+01;
7571 x[0] = - 0.538748089001123286201690041068E+01;
7572 x[1] = - 0.460368244955074427307767524898E+01;
7573 x[2] = - 0.394476404011562521037562880052E+01;
7574 x[3] = - 0.334785456738321632691492452300E+01;
7575 x[4] = - 0.278880605842813048052503375640E+01;
7576 x[5] = - 0.225497400208927552308233334473E+01;
7577 x[6] = - 0.173853771211658620678086566214E+01;
7578 x[7] = - 0.123407621539532300788581834696E+01;
7579 x[8] = - 0.737473728545394358705605144252E+00;
7580 x[9] = - 0.245340708300901249903836530634E+00;
7581 x[10] = 0.245340708300901249903836530634E+00;
7582 x[11] = 0.737473728545394358705605144252E+00;
7583 x[12] = 0.123407621539532300788581834696E+01;
7584 x[13] = 0.173853771211658620678086566214E+01;
7585 x[14] = 0.225497400208927552308233334473E+01;
7586 x[15] = 0.278880605842813048052503375640E+01;
7587 x[16] = 0.334785456738321632691492452300E+01;
7588 x[17] = 0.394476404011562521037562880052E+01;
7589 x[18] = 0.460368244955074427307767524898E+01;
7590 x[19] = 0.538748089001123286201690041068E+01;
7595 std::cerr <<
"HERMITE_LOOKUP_POINTS - Fatal error!\n";
7596 std::cerr <<
" Illegal value of N = " << n <<
"\n";
7597 std::cerr <<
" Legal values are 1 through 20.\n";
7683 w[0] = 1.77245385090551602729816748334;
7687 w[0] = 0.886226925452758013649083741671E+00;
7688 w[1] = 0.886226925452758013649083741671E+00;
7692 w[0] = 0.295408975150919337883027913890E+00;
7693 w[1] = 0.118163590060367735153211165556E+01;
7694 w[2] = 0.295408975150919337883027913890E+00;
7698 w[0] = 0.813128354472451771430345571899E-01;
7699 w[1] = 0.804914090005512836506049184481E+00;
7700 w[2] = 0.804914090005512836506049184481E+00;
7701 w[3] = 0.813128354472451771430345571899E-01;
7705 w[0] = 0.199532420590459132077434585942E-01;
7706 w[1] = 0.393619323152241159828495620852E+00;
7707 w[2] = 0.945308720482941881225689324449E+00;
7708 w[3] = 0.393619323152241159828495620852E+00;
7709 w[4] = 0.199532420590459132077434585942E-01;
7713 w[0] = 0.453000990550884564085747256463E-02;
7714 w[1] = 0.157067320322856643916311563508E+00;
7715 w[2] = 0.724629595224392524091914705598E+00;
7716 w[3] = 0.724629595224392524091914705598E+00;
7717 w[4] = 0.157067320322856643916311563508E+00;
7718 w[5] = 0.453000990550884564085747256463E-02;
7722 w[0] = 0.971781245099519154149424255939E-03;
7723 w[1] = 0.545155828191270305921785688417E-01;
7724 w[2] = 0.425607252610127800520317466666E+00;
7725 w[3] = 0.810264617556807326764876563813E+00;
7726 w[4] = 0.425607252610127800520317466666E+00;
7727 w[5] = 0.545155828191270305921785688417E-01;
7728 w[6] = 0.971781245099519154149424255939E-03;
7732 w[0] = 0.199604072211367619206090452544E-03;
7733 w[1] = 0.170779830074134754562030564364E-01;
7734 w[2] = 0.207802325814891879543258620286E+00;
7735 w[3] = 0.661147012558241291030415974496E+00;
7736 w[4] = 0.661147012558241291030415974496E+00;
7737 w[5] = 0.207802325814891879543258620286E+00;
7738 w[6] = 0.170779830074134754562030564364E-01;
7739 w[7] = 0.199604072211367619206090452544E-03;
7743 w[0] = 0.396069772632643819045862946425E-04;
7744 w[1] = 0.494362427553694721722456597763E-02;
7745 w[2] = 0.884745273943765732879751147476E-01;
7746 w[3] = 0.432651559002555750199812112956E+00;
7747 w[4] = 0.720235215606050957124334723389E+00;
7748 w[5] = 0.432651559002555750199812112956E+00;
7749 w[6] = 0.884745273943765732879751147476E-01;
7750 w[7] = 0.494362427553694721722456597763E-02;
7751 w[8] = 0.396069772632643819045862946425E-04;
7755 w[0] = 0.764043285523262062915936785960E-05;
7756 w[1] = 0.134364574678123269220156558585E-02;
7757 w[2] = 0.338743944554810631361647312776E-01;
7758 w[3] = 0.240138611082314686416523295006E+00;
7759 w[4] = 0.610862633735325798783564990433E+00;
7760 w[5] = 0.610862633735325798783564990433E+00;
7761 w[6] = 0.240138611082314686416523295006E+00;
7762 w[7] = 0.338743944554810631361647312776E-01;
7763 w[8] = 0.134364574678123269220156558585E-02;
7764 w[9] = 0.764043285523262062915936785960E-05;
7768 w[0] = 0.143956039371425822033088366032E-05;
7769 w[1] = 0.346819466323345510643413772940E-03;
7770 w[2] = 0.119113954449115324503874202916E-01;
7771 w[3] = 0.117227875167708503381788649308E+00;
7772 w[4] = 0.429359752356125028446073598601E+00;
7773 w[5] = 0.654759286914591779203940657627E+00;
7774 w[6] = 0.429359752356125028446073598601E+00;
7775 w[7] = 0.117227875167708503381788649308E+00;
7776 w[8] = 0.119113954449115324503874202916E-01;
7777 w[9] = 0.346819466323345510643413772940E-03;
7778 w[10] = 0.143956039371425822033088366032E-05;
7782 w[0] = 0.265855168435630160602311400877E-06;
7783 w[1] = 0.857368704358785865456906323153E-04;
7784 w[2] = 0.390539058462906185999438432620E-02;
7785 w[3] = 0.516079856158839299918734423606E-01;
7786 w[4] = 0.260492310264161129233396139765E+00;
7787 w[5] = 0.570135236262479578347113482275E+00;
7788 w[6] = 0.570135236262479578347113482275E+00;
7789 w[7] = 0.260492310264161129233396139765E+00;
7790 w[8] = 0.516079856158839299918734423606E-01;
7791 w[9] = 0.390539058462906185999438432620E-02;
7792 w[10] = 0.857368704358785865456906323153E-04;
7793 w[11] = 0.265855168435630160602311400877E-06;
7797 w[0] = 0.482573185007313108834997332342E-07;
7798 w[1] = 0.204303604027070731248669432937E-04;
7799 w[2] = 0.120745999271938594730924899224E-02;
7800 w[3] = 0.208627752961699392166033805050E-01;
7801 w[4] = 0.140323320687023437762792268873E+00;
7802 w[5] = 0.421616296898543221746893558568E+00;
7803 w[6] = 0.604393187921161642342099068579E+00;
7804 w[7] = 0.421616296898543221746893558568E+00;
7805 w[8] = 0.140323320687023437762792268873E+00;
7806 w[9] = 0.208627752961699392166033805050E-01;
7807 w[10] = 0.120745999271938594730924899224E-02;
7808 w[11] = 0.204303604027070731248669432937E-04;
7809 w[12] = 0.482573185007313108834997332342E-07;
7813 w[0] = 0.862859116812515794532041783429E-08;
7814 w[1] = 0.471648435501891674887688950105E-05;
7815 w[2] = 0.355092613551923610483661076691E-03;
7816 w[3] = 0.785005472645794431048644334608E-02;
7817 w[4] = 0.685055342234652055387163312367E-01;
7818 w[5] = 0.273105609064246603352569187026E+00;
7819 w[6] = 0.536405909712090149794921296776E+00;
7820 w[7] = 0.536405909712090149794921296776E+00;
7821 w[8] = 0.273105609064246603352569187026E+00;
7822 w[9] = 0.685055342234652055387163312367E-01;
7823 w[10] = 0.785005472645794431048644334608E-02;
7824 w[11] = 0.355092613551923610483661076691E-03;
7825 w[12] = 0.471648435501891674887688950105E-05;
7826 w[13] = 0.862859116812515794532041783429E-08;
7830 w[0] = 0.152247580425351702016062666965E-08;
7831 w[1] = 0.105911554771106663577520791055E-05;
7832 w[2] = 0.100004441232499868127296736177E-03;
7833 w[3] = 0.277806884291277589607887049229E-02;
7834 w[4] = 0.307800338725460822286814158758E-01;
7835 w[5] = 0.158488915795935746883839384960E+00;
7836 w[6] = 0.412028687498898627025891079568E+00;
7837 w[7] = 0.564100308726417532852625797340E+00;
7838 w[8] = 0.412028687498898627025891079568E+00;
7839 w[9] = 0.158488915795935746883839384960E+00;
7840 w[10] = 0.307800338725460822286814158758E-01;
7841 w[11] = 0.277806884291277589607887049229E-02;
7842 w[12] = 0.100004441232499868127296736177E-03;
7843 w[13] = 0.105911554771106663577520791055E-05;
7844 w[14] = 0.152247580425351702016062666965E-08;
7848 w[0] = 0.265480747401118224470926366050E-09;
7849 w[1] = 0.232098084486521065338749423185E-06;
7850 w[2] = 0.271186009253788151201891432244E-04;
7851 w[3] = 0.932284008624180529914277305537E-03;
7852 w[4] = 0.128803115355099736834642999312E-01;
7853 w[5] = 0.838100413989858294154207349001E-01;
7854 w[6] = 0.280647458528533675369463335380E+00;
7855 w[7] = 0.507929479016613741913517341791E+00;
7856 w[8] = 0.507929479016613741913517341791E+00;
7857 w[9] = 0.280647458528533675369463335380E+00;
7858 w[10] = 0.838100413989858294154207349001E-01;
7859 w[11] = 0.128803115355099736834642999312E-01;
7860 w[12] = 0.932284008624180529914277305537E-03;
7861 w[13] = 0.271186009253788151201891432244E-04;
7862 w[14] = 0.232098084486521065338749423185E-06;
7863 w[15] = 0.265480747401118224470926366050E-09;
7867 w[0] = 0.458057893079863330580889281222E-10;
7868 w[1] = 0.497707898163079405227863353715E-07;
7869 w[2] = 0.711228914002130958353327376218E-05;
7870 w[3] = 0.298643286697753041151336643059E-03;
7871 w[4] = 0.506734995762753791170069495879E-02;
7872 w[5] = 0.409200341495762798094994877854E-01;
7873 w[6] = 0.172648297670097079217645196219E+00;
7874 w[7] = 0.401826469470411956577635085257E+00;
7875 w[8] = 0.530917937624863560331883103379E+00;
7876 w[9] = 0.401826469470411956577635085257E+00;
7877 w[10] = 0.172648297670097079217645196219E+00;
7878 w[11] = 0.409200341495762798094994877854E-01;
7879 w[12] = 0.506734995762753791170069495879E-02;
7880 w[13] = 0.298643286697753041151336643059E-03;
7881 w[14] = 0.711228914002130958353327376218E-05;
7882 w[15] = 0.497707898163079405227863353715E-07;
7883 w[16] = 0.458057893079863330580889281222E-10;
7887 w[0] = 0.782819977211589102925147471012E-11;
7888 w[1] = 0.104672057957920824443559608435E-07;
7889 w[2] = 0.181065448109343040959702385911E-05;
7890 w[3] = 0.918112686792940352914675407371E-04;
7891 w[4] = 0.188852263026841789438175325426E-02;
7892 w[5] = 0.186400423875446519219315221973E-01;
7893 w[6] = 0.973017476413154293308537234155E-01;
7894 w[7] = 0.284807285669979578595606820713E+00;
7895 w[8] = 0.483495694725455552876410522141E+00;
7896 w[9] = 0.483495694725455552876410522141E+00;
7897 w[10] = 0.284807285669979578595606820713E+00;
7898 w[11] = 0.973017476413154293308537234155E-01;
7899 w[12] = 0.186400423875446519219315221973E-01;
7900 w[13] = 0.188852263026841789438175325426E-02;
7901 w[14] = 0.918112686792940352914675407371E-04;
7902 w[15] = 0.181065448109343040959702385911E-05;
7903 w[16] = 0.104672057957920824443559608435E-07;
7904 w[17] = 0.782819977211589102925147471012E-11;
7908 w[0] = 0.132629709449851575185289154385E-11;
7909 w[1] = 0.216305100986355475019693077221E-08;
7910 w[2] = 0.448824314722312295179447915594E-06;
7911 w[3] = 0.272091977631616257711941025214E-04;
7912 w[4] = 0.670877521407181106194696282100E-03;
7913 w[5] = 0.798886677772299020922211491861E-02;
7914 w[6] = 0.508103869090520673569908110358E-01;
7915 w[7] = 0.183632701306997074156148485766E+00;
7916 w[8] = 0.391608988613030244504042313621E+00;
7917 w[9] = 0.502974888276186530840731361096E+00;
7918 w[10] = 0.391608988613030244504042313621E+00;
7919 w[11] = 0.183632701306997074156148485766E+00;
7920 w[12] = 0.508103869090520673569908110358E-01;
7921 w[13] = 0.798886677772299020922211491861E-02;
7922 w[14] = 0.670877521407181106194696282100E-03;
7923 w[15] = 0.272091977631616257711941025214E-04;
7924 w[16] = 0.448824314722312295179447915594E-06;
7925 w[17] = 0.216305100986355475019693077221E-08;
7926 w[18] = 0.132629709449851575185289154385E-11;
7930 w[0] = 0.222939364553415129252250061603E-12;
7931 w[1] = 0.439934099227318055362885145547E-09;
7932 w[2] = 0.108606937076928169399952456345E-06;
7933 w[3] = 0.780255647853206369414599199965E-05;
7934 w[4] = 0.228338636016353967257145917963E-03;
7935 w[5] = 0.324377334223786183218324713235E-02;
7936 w[6] = 0.248105208874636108821649525589E-01;
7937 w[7] = 0.109017206020023320013755033535E+00;
7938 w[8] = 0.286675505362834129719659706228E+00;
7939 w[9] = 0.462243669600610089650328639861E+00;
7940 w[10] = 0.462243669600610089650328639861E+00;
7941 w[11] = 0.286675505362834129719659706228E+00;
7942 w[12] = 0.109017206020023320013755033535E+00;
7943 w[13] = 0.248105208874636108821649525589E-01;
7944 w[14] = 0.324377334223786183218324713235E-02;
7945 w[15] = 0.228338636016353967257145917963E-03;
7946 w[16] = 0.780255647853206369414599199965E-05;
7947 w[17] = 0.108606937076928169399952456345E-06;
7948 w[18] = 0.439934099227318055362885145547E-09;
7949 w[19] = 0.222939364553415129252250061603E-12;
7954 std::cerr <<
"HERMITE_LOOKUP_WEIGHTS - Fatal error!\n";
7955 std::cerr <<
" Illegal value of N = " << n <<
"\n";
7956 std::cerr <<
" Legal values are 1 through 20.\n";
8025 std::cerr <<
"HERMITE_SS_COMPUTE - Fatal error!\n";
8026 std::cerr <<
" Illegal value of ORDER = " << order <<
"\n";
8030 cc = 1.7724538509 *
r8_gamma ( (
double ) ( order ) )
8031 / std::pow ( 2.0, order - 1 );
8033 s = std::pow ( 2.0 * (
double ) ( order ) + 1.0, 1.0 / 6.0 );
8035 for ( i = 0; i < ( order + 1 ) / 2; i++ )
8039 x0 = s * s * s - 1.85575 / s;
8043 x0 = x0 - 1.14 * std::pow ( (
double ) ( order ), 0.426 ) / x0;
8047 x0 = 1.86 * x0 - 0.86 * x[0];
8051 x0 = 1.91 * x0 - 0.91 * x[1];
8055 x0 = 2.0 * x0 - x[i-2];
8061 w[i] = ( cc / dp2 ) / p1;
8064 w[order-i-1] = w[i];
8069 for ( i = 1; i <= order/2; i++ )
8072 x[i-1] = x[order-i];
8076 if ( ( order % 2 ) == 1 )
8078 x[(order-1)/2] = 0.0;
8140 for ( i = 2; i <= order; i++ )
8148 q2 = x * q1 - 0.5 * ( ( double ) ( i ) - 1.0 ) * q0;
8149 dq2 = x * dq1 + q1 - 0.5 * ( ( double ) ( i ) - 1.0 ) * dq0;
8208 for ( step = 1; step <= step_max; step++ )
8274 mn =
i4_min ( k, n - k );
8286 mx =
i4_max ( k, n - k );
8289 for ( i = 2; i <= mn; i++ )
8291 value = ( value * ( mx + i ) ) / i;
8360 i_abs = std::abs ( i );
8362 while ( two_pow <= i_abs )
8365 two_pow = two_pow * 2;
8494 std::cerr <<
"I4_POWER - Fatal error!\n";
8495 std::cerr <<
" I^J requested, with I = 0 and J negative.\n";
8508 std::cerr <<
"I4_POWER - Fatal error!\n";
8509 std::cerr <<
" I^J requested, with I = 0 and J = 0.\n";
8524 for ( k = 1; k <= j; k++ )
8569 for ( j = 0; j < n; j++ )
8571 for ( i = 0; i < m; i++ )
8573 a2[i+j*m] = a1[i+j*m];
8619 for ( j = 0; j < n; j++ )
8621 for ( i = 0; i < m; i++ )
8623 a2[i+j*m] = a1[i+j*m];
8672 int ihi,
int jhi, std::string title )
8722 std::cout << title <<
"\n";
8726 for ( i2lo = ilo; i2lo <= ihi; i2lo = i2lo +
INCX )
8728 i2hi = i2lo +
INCX - 1;
8729 i2hi =
i4_min ( i2hi, m );
8730 i2hi =
i4_min ( i2hi, ihi );
8738 std::cout <<
" Row: ";
8739 for ( i = i2lo; i <= i2hi; i++ )
8741 std::cout << std::setw(6) << i - 1 <<
" ";
8744 std::cout <<
" Col\n";
8749 j2lo =
i4_max ( jlo, 1 );
8750 j2hi =
i4_min ( jhi, n );
8752 for ( j = j2lo; j <= j2hi; j++ )
8757 std::cout << std::setw(5) << j - 1 <<
":";
8758 for ( i = i2lo; i <= i2hi; i++ )
8760 std::cout << std::setw(6) << a[i-1+(j-1)*m] <<
" ";
8804 std::ofstream output;
8808 output.open ( output_filename.c_str ( ) );
8813 std::cerr <<
"I4MAT_WRITE - Fatal error!\n";
8814 std::cerr <<
" Could not open the output file.\n";
8820 for ( j = 0; j < n; j++ )
8822 for ( i = 0; i < m; i++ )
8824 output << std::setw(10) << table[i+j*m] <<
" ";
8877 for ( i = 0; i < n; i++ )
8924 for ( i = 0; i < n; i++ )
8973 for ( i = 0; i < n; i++ )
9019 for ( i = 0; i < n; i++ )
9069 for ( j = 0; j < n; j++ )
9071 for ( i = 0; i < m; i++ )
9073 w[i+j*m] =
i4_min ( u[i+j*m], v[i] );
9116 std::cout << title <<
"\n";
9118 for ( i = 0; i < n; i++ )
9120 std::cout <<
" " << std::setw(8) << i
9121 <<
": " << std::setw(8) << a[i] <<
"\n";
9174 for ( i = 0; i < n; i++ )
9176 product = product * a[i];
9230 for ( i = 0; i < n; i++ )
9272 for ( i = 0; i < n; i++ )
9316 for ( i = 0; i < n; i++ )
9413 for ( l = 1; l <= n; l++ )
9418 for ( m = l; m <= n; m++ )
9425 if (
r8_abs ( e[m-1] ) <=
9439 std::cerr <<
"IMTQLX - Fatal error!\n";
9440 std::cerr <<
" Iteration limit exceeded\n";
9444 g = ( d[l] - p ) / ( 2.0 * e[l-1] );
9445 r = std::sqrt ( g * g + 1.0 );
9446 g = d[m-1] - p + e[l-1] / ( g +
r8_abs ( r ) *
r8_sign ( g ) );
9452 for ( ii = 1; ii <= mml; ii++ )
9461 r = std::sqrt ( c * c + 1.0 );
9469 r = std::sqrt ( s * s + 1.0 );
9475 r = ( d[i-1] - g ) * s + 2.0 * c * b;
9480 z[i] = s * z[i-1] + c * f;
9481 z[i-1] = c * z[i-1] - s * f;
9483 d[l-1] = d[l-1] - p;
9491 for ( ii = 2; ii <= m; ii++ )
9497 for ( j = ii; j <= n; j++ )
9580 zemu = std::pow ( 2.0, alpha + beta + 1.0 )
9589 x[0] = ( beta - alpha ) / ( 2.0 + alpha + beta );
9591 bj[0] = 4.0 * ( 1.0 + alpha ) * ( 1.0 + beta )
9592 / ( ( 3.0 + alpha + beta )
9593 * ( 2.0 + alpha + beta ) * ( 2.0 + alpha + beta ) );
9595 for ( i = 1; i < n; i++ )
9597 i_r8 = ( double ) ( i + 1 );
9598 abi = 2.0 * i_r8 + alpha + beta;
9599 x[i] = ( beta + alpha ) * ( beta - alpha ) / ( ( abi - 2.0 ) * abi );
9600 bj[i] = 4.0 * i_r8 * ( i_r8 + alpha ) * ( i_r8 + beta )
9601 * ( i_r8 + alpha + beta )
9602 / ( ( abi - 1.0 ) * ( abi + 1.0 ) * abi * abi );
9605 for ( i = 0; i < n; i++ )
9607 bj[i] = std::sqrt ( bj[i] );
9610 w[0] = std::sqrt ( zemu );
9612 for ( i = 1; i < n; i++ )
9621 for ( i = 0; i < n; i++ )
9734 w =
new double[order];
9822 x =
new double[order];
9923 c = ( double ) ( expon );
9925 if ( ( expon % 2 ) == 0 )
9936 arg3 = 2.0 + beta + c;
9943 arg3 = 2.0 + alpha + c;
9949 s *
r8_gamma ( 1.0 + beta ) * value1
9951 +
r8_gamma ( 1.0 + alpha ) * value2
10033 std::cerr <<
"JACOBI_SS_COMPUTE - Fatal error!\n";
10034 std::cerr <<
" Illegal value of ORDER = " << order <<
"\n";
10038 b =
new double[order];
10039 c =
new double[order];
10043 if ( alpha <= -1.0 )
10046 std::cerr <<
"JACOBI_SS_COMPUTE - Fatal error!\n";
10047 std::cerr <<
" -1.0 < ALPHA is required.\n";
10051 if ( beta <= -1.0 )
10054 std::cerr <<
"JACOBI_SS_COMPUTE - Fatal error!\n";
10055 std::cerr <<
" -1.0 < BETA is required.\n";
10061 for ( i = 1; i <= order; i++ )
10063 if ( alpha + beta == 0.0 || beta - alpha == 0.0 )
10069 b[i-1] = ( alpha + beta ) * ( beta - alpha ) /
10070 ( ( alpha + beta + ( double ) ( 2 * i ) )
10071 * ( alpha + beta + (
double ) ( 2 * i - 2 ) ) );
10080 c[i-1] = 4.0 * ( double ) ( i - 1 )
10081 * ( alpha + ( double ) ( i - 1 ) )
10082 * ( beta + (
double ) ( i - 1 ) )
10083 * ( alpha + beta + ( double ) ( i - 1 ) ) /
10084 ( ( alpha + beta + (
double ) ( 2 * i - 1 ) )
10085 * std::pow ( alpha + beta + (
double ) ( 2 * i - 2 ), 2 )
10086 * ( alpha + beta + ( double ) ( 2 * i - 3 ) ) );
10092 /
r8_gamma ( alpha + beta + 2.0 );
10095 for ( i = 2; i <= order; i++ )
10097 prod = prod * c[i-1];
10099 cc = delta * std::pow ( 2.0, alpha + beta + 1.0 ) * prod;
10101 for ( i = 1; i <= order; i++ )
10105 an = alpha / ( double ) ( order );
10106 bn = beta / ( double ) ( order );
10108 r1 = ( 1.0 + alpha )
10109 * ( 2.78 / ( 4.0 + (
double ) ( order * order ) )
10110 + 0.768 * an / ( double ) ( order ) );
10112 r2 = 1.0 + 1.48 * an + 0.96 * bn
10113 + 0.452 * an * an + 0.83 * an * bn;
10115 x0 = ( r2 - r1 ) / r2;
10119 r1 = ( 4.1 + alpha ) /
10120 ( ( 1.0 + alpha ) * ( 1.0 + 0.156 * alpha ) );
10122 r2 = 1.0 + 0.06 * ( ( double ) ( order ) - 8.0 ) *
10123 ( 1.0 + 0.12 * alpha ) / ( double ) ( order );
10125 r3 = 1.0 + 0.012 * beta *
10126 ( 1.0 + 0.25 *
r8_abs ( alpha ) ) / (
double ) ( order );
10128 x0 = x0 - r1 * r2 * r3 * ( 1.0 - x0 );
10132 r1 = ( 1.67 + 0.28 * alpha ) / ( 1.0 + 0.37 * alpha );
10134 r2 = 1.0 + 0.22 * ( ( double ) ( order ) - 8.0 )
10135 / (
double ) ( order );
10137 r3 = 1.0 + 8.0 * beta /
10138 ( ( 6.28 + beta ) * (
double ) ( order * order ) );
10140 x0 = x0 - r1 * r2 * r3 * ( x[0] - x0 );
10142 else if ( i < order - 1 )
10144 x0 = 3.0 * x[i-2] - 3.0 * x[i-3] + x[i-4];
10146 else if ( i == order - 1 )
10148 r1 = ( 1.0 + 0.235 * beta ) / ( 0.766 + 0.119 * beta );
10150 r2 = 1.0 / ( 1.0 + 0.639
10151 * ( ( double ) ( order ) - 4.0 )
10152 / ( 1.0 + 0.71 * ( (
double ) ( order ) - 4.0 ) ) );
10154 r3 = 1.0 / ( 1.0 + 20.0 * alpha / ( ( 7.5 + alpha ) *
10155 (
double ) ( order * order ) ) );
10157 x0 = x0 + r1 * r2 * r3 * ( x0 - x[i-3] );
10159 else if ( i == order )
10161 r1 = ( 1.0 + 0.37 * beta ) / ( 1.67 + 0.28 * beta );
10164 ( 1.0 + 0.22 * ( ( double ) ( order ) - 8.0 )
10165 / (
double ) ( order ) );
10167 r3 = 1.0 / ( 1.0 + 8.0 * alpha /
10168 ( ( 6.28 + alpha ) * (
double ) ( order * order ) ) );
10170 x0 = x0 + r1 * r2 * r3 * ( x0 - x[i-3] );
10176 w[i-1] = cc / ( dp2 * p1 );
10181 for ( i = 1; i <= order/2; i++ )
10184 x[i-1] = x[order-i];
10188 for ( i = 1; i <=order/2; i++ )
10191 w[i-1] = w[order-i];
10203 double alpha,
double beta,
double b[],
double c[] )
10257 *p2 = x + ( alpha - beta ) / ( alpha + beta + 2.0 );
10260 for ( i = 2; i <= order; i++ )
10268 *p2 = ( x - b[i-1] ) * ( *p1 ) - c[i-1] * p0;
10269 *dp2 = ( x - b[i-1] ) * dp1 + ( *p1 ) - c[i-1] * dp0;
10276 double *dp2,
double *p1,
double b[],
double c[] )
10329 for ( step = 1; step <= step_max; step++ )
10393 bj =
new double[n];
10395 for ( i = 0; i < n; i++ )
10397 bj[i] = ( double ) ( i + 1 );
10400 for ( i = 0; i < n; i++ )
10402 x[i] = ( double ) ( 2 * i + 1 );
10405 w[0] = std::sqrt ( zemu );
10407 for ( i = 1; i < n; i++ )
10416 for ( i = 0; i < n; i++ )
10418 w[i] = w[i] * w[i];
10523 w =
new double[order];
10599 x =
new double[order];
10845 x[0] = 1.00000000000000000000000000000E+00;
10849 x[0] = 0.585786437626904951198311275790E+00;
10850 x[1] = 3.41421356237309504880168872421E+00;
10854 x[0] = 0.415774556783479083311533873128E+00;
10855 x[1] = 2.29428036027904171982205036136E+00;
10856 x[2] = 6.28994508293747919686641576551E+00;
10860 x[0] = 0.322547689619392311800361459104E+00;
10861 x[1] = 1.74576110115834657568681671252E+00;
10862 x[2] = 4.53662029692112798327928538496E+00;
10863 x[3] = 9.39507091230113312923353644342E+00;
10867 x[0] = 0.263560319718140910203061943361E+00;
10868 x[1] = 1.41340305910651679221840798019E+00;
10869 x[2] = 3.59642577104072208122318658878E+00;
10870 x[3] = 7.08581000585883755692212418111E+00;
10871 x[4] = 12.6408008442757826594332193066E+00;
10875 x[0] = 0.222846604179260689464354826787E+00;
10876 x[1] = 1.18893210167262303074315092194E+00;
10877 x[2] = 2.99273632605931407769132528451E+00;
10878 x[3] = 5.77514356910451050183983036943E+00;
10879 x[4] = 9.83746741838258991771554702994E+00;
10880 x[5] = 15.9828739806017017825457915674E+00;
10884 x[0] = 0.193043676560362413838247885004E+00;
10885 x[1] = 1.02666489533919195034519944317E+00;
10886 x[2] = 2.56787674495074620690778622666E+00;
10887 x[3] = 4.90035308452648456810171437810E+00;
10888 x[4] = 8.18215344456286079108182755123E+00;
10889 x[5] = 12.7341802917978137580126424582E+00;
10890 x[6] = 19.3957278622625403117125820576E+00;
10894 x[0] = 0.170279632305100999788861856608E+00;
10895 x[1] = 0.903701776799379912186020223555E+00;
10896 x[2] = 2.25108662986613068930711836697E+00;
10897 x[3] = 4.26670017028765879364942182690E+00;
10898 x[4] = 7.04590540239346569727932548212E+00;
10899 x[5] = 10.7585160101809952240599567880E+00;
10900 x[6] = 15.7406786412780045780287611584E+00;
10901 x[7] = 22.8631317368892641057005342974E+00;
10905 x[0] = 0.152322227731808247428107073127E+00;
10906 x[1] = 0.807220022742255847741419210952E+00;
10907 x[2] = 2.00513515561934712298303324701E+00;
10908 x[3] = 3.78347397333123299167540609364E+00;
10909 x[4] = 6.20495677787661260697353521006E+00;
10910 x[5] = 9.37298525168757620180971073215E+00;
10911 x[6] = 13.4662369110920935710978818397E+00;
10912 x[7] = 18.8335977889916966141498992996E+00;
10913 x[8] = 26.3740718909273767961410072937E+00;
10915 else if ( n == 10 )
10917 x[0] = 0.137793470540492430830772505653E+00;
10918 x[1] = 0.729454549503170498160373121676E+00;
10919 x[2] = 1.80834290174031604823292007575E+00;
10920 x[3] = 3.40143369785489951448253222141E+00;
10921 x[4] = 5.55249614006380363241755848687E+00;
10922 x[5] = 8.33015274676449670023876719727E+00;
10923 x[6] = 11.8437858379000655649185389191E+00;
10924 x[7] = 16.2792578313781020995326539358E+00;
10925 x[8] = 21.9965858119807619512770901956E+00;
10926 x[9] = 29.9206970122738915599087933408E+00;
10928 else if ( n == 11 )
10930 x[0] = 0.125796442187967522675794577516E+00;
10931 x[1] = 0.665418255839227841678127839420E+00;
10932 x[2] = 1.64715054587216930958700321365E+00;
10933 x[3] = 3.09113814303525495330195934259E+00;
10934 x[4] = 5.02928440157983321236999508366E+00;
10935 x[5] = 7.50988786380661681941099714450E+00;
10936 x[6] = 10.6059509995469677805559216457E+00;
10937 x[7] = 14.4316137580641855353200450349E+00;
10938 x[8] = 19.1788574032146786478174853989E+00;
10939 x[9] = 25.2177093396775611040909447797E+00;
10940 x[10] = 33.4971928471755372731917259395E+00;
10942 else if ( n == 12 )
10944 x[0] = 0.115722117358020675267196428240E+00;
10945 x[1] = 0.611757484515130665391630053042E+00;
10946 x[2] = 1.51261026977641878678173792687E+00;
10947 x[3] = 2.83375133774350722862747177657E+00;
10948 x[4] = 4.59922763941834848460572922485E+00;
10949 x[5] = 6.84452545311517734775433041849E+00;
10950 x[6] = 9.62131684245686704391238234923E+00;
10951 x[7] = 13.0060549933063477203460524294E+00;
10952 x[8] = 17.1168551874622557281840528008E+00;
10953 x[9] = 22.1510903793970056699218950837E+00;
10954 x[10] = 28.4879672509840003125686072325E+00;
10955 x[11] = 37.0991210444669203366389142764E+00;
10957 else if ( n == 13 )
10959 x[0] = 0.107142388472252310648493376977E+00;
10960 x[1] = 0.566131899040401853406036347177E+00;
10961 x[2] = 1.39856433645101971792750259921E+00;
10962 x[3] = 2.61659710840641129808364008472E+00;
10963 x[4] = 4.23884592901703327937303389926E+00;
10964 x[5] = 6.29225627114007378039376523025E+00;
10965 x[6] = 8.81500194118697804733348868036E+00;
10966 x[7] = 11.8614035888112425762212021880E+00;
10967 x[8] = 15.5107620377037527818478532958E+00;
10968 x[9] = 19.8846356638802283332036594634E+00;
10969 x[10] = 25.1852638646777580842970297823E+00;
10970 x[11] = 31.8003863019472683713663283526E+00;
10971 x[12] = 40.7230086692655795658979667001E+00;
10973 else if ( n == 14 )
10975 x[0] = 0.0997475070325975745736829452514E+00;
10976 x[1] = 0.526857648851902896404583451502E+00;
10977 x[2] = 1.30062912125149648170842022116E+00;
10978 x[3] = 2.43080107873084463616999751038E+00;
10979 x[4] = 3.93210282229321888213134366778E+00;
10980 x[5] = 5.82553621830170841933899983898E+00;
10981 x[6] = 8.14024014156514503005978046052E+00;
10982 x[7] = 10.9164995073660188408130510904E+00;
10983 x[8] = 14.2108050111612886831059780825E+00;
10984 x[9] = 18.1048922202180984125546272083E+00;
10985 x[10] = 22.7233816282696248232280886985E+00;
10986 x[11] = 28.2729817232482056954158923218E+00;
10987 x[12] = 35.1494436605924265828643121364E+00;
10988 x[13] = 44.3660817111174230416312423666E+00;
10990 else if ( n == 15 )
10992 x[0] = 0.0933078120172818047629030383672E+00;
10993 x[1] = 0.492691740301883908960101791412E+00;
10994 x[2] = 1.21559541207094946372992716488E+00;
10995 x[3] = 2.26994952620374320247421741375E+00;
10996 x[4] = 3.66762272175143727724905959436E+00;
10997 x[5] = 5.42533662741355316534358132596E+00;
10998 x[6] = 7.56591622661306786049739555812E+00;
10999 x[7] = 10.1202285680191127347927394568E+00;
11000 x[8] = 13.1302824821757235640991204176E+00;
11001 x[9] = 16.6544077083299578225202408430E+00;
11002 x[10] = 20.7764788994487667729157175676E+00;
11003 x[11] = 25.6238942267287801445868285977E+00;
11004 x[12] = 31.4075191697539385152432196202E+00;
11005 x[13] = 38.5306833064860094162515167595E+00;
11006 x[14] = 48.0260855726857943465734308508E+00;
11008 else if ( n == 16 )
11010 x[0] = 0.0876494104789278403601980973401E+00;
11011 x[1] = 0.462696328915080831880838260664E+00;
11012 x[2] = 1.14105777483122685687794501811E+00;
11013 x[3] = 2.12928364509838061632615907066E+00;
11014 x[4] = 3.43708663389320664523510701675E+00;
11015 x[5] = 5.07801861454976791292305830814E+00;
11016 x[6] = 7.07033853504823413039598947080E+00;
11017 x[7] = 9.43831433639193878394724672911E+00;
11018 x[8] = 12.2142233688661587369391246088E+00;
11019 x[9] = 15.4415273687816170767647741622E+00;
11020 x[10] = 19.1801568567531348546631409497E+00;
11021 x[11] = 23.5159056939919085318231872752E+00;
11022 x[12] = 28.5787297428821403675206137099E+00;
11023 x[13] = 34.5833987022866258145276871778E+00;
11024 x[14] = 41.9404526476883326354722330252E+00;
11025 x[15] = 51.7011603395433183643426971197E+00;
11027 else if ( n == 17 )
11029 x[0] = 0.0826382147089476690543986151980E+00;
11030 x[1] = 0.436150323558710436375959029847E+00;
11031 x[2] = 1.07517657751142857732980316755E+00;
11032 x[3] = 2.00519353164923224070293371933E+00;
11033 x[4] = 3.23425612404744376157380120696E+00;
11034 x[5] = 4.77351351370019726480932076262E+00;
11035 x[6] = 6.63782920536495266541643929703E+00;
11036 x[7] = 8.84668551116980005369470571184E+00;
11037 x[8] = 11.4255293193733525869726151469E+00;
11038 x[9] = 14.4078230374813180021982874959E+00;
11039 x[10] = 17.8382847307011409290658752412E+00;
11040 x[11] = 21.7782682577222653261749080522E+00;
11041 x[12] = 26.3153178112487997766149598369E+00;
11042 x[13] = 31.5817716804567331343908517497E+00;
11043 x[14] = 37.7960938374771007286092846663E+00;
11044 x[15] = 45.3757165339889661829258363215E+00;
11045 x[16] = 55.3897517898396106640900199790E+00;
11047 else if ( n == 18 )
11049 x[0] = 0.0781691666697054712986747615334E+00;
11050 x[1] = 0.412490085259129291039101536536E+00;
11051 x[2] = 1.01652017962353968919093686187E+00;
11052 x[3] = 1.89488850996976091426727831954E+00;
11053 x[4] = 3.05435311320265975115241130719E+00;
11054 x[5] = 4.50420553888989282633795571455E+00;
11055 x[6] = 6.25672507394911145274209116326E+00;
11056 x[7] = 8.32782515660563002170470261564E+00;
11057 x[8] = 10.7379900477576093352179033397E+00;
11058 x[9] = 13.5136562075550898190863812108E+00;
11059 x[10] = 16.6893062819301059378183984163E+00;
11060 x[11] = 20.3107676262677428561313764553E+00;
11061 x[12] = 24.4406813592837027656442257980E+00;
11062 x[13] = 29.1682086625796161312980677805E+00;
11063 x[14] = 34.6279270656601721454012429438E+00;
11064 x[15] = 41.0418167728087581392948614284E+00;
11065 x[16] = 48.8339227160865227486586093290E+00;
11066 x[17] = 59.0905464359012507037157810181E+00;
11068 else if ( n == 19 )
11070 x[0] = 0.0741587837572050877131369916024E+00;
11071 x[1] = 0.391268613319994607337648350299E+00;
11072 x[2] = 0.963957343997958058624878377130E+00;
11073 x[3] = 1.79617558206832812557725825252E+00;
11074 x[4] = 2.89365138187378399116494713237E+00;
11075 x[5] = 4.26421553962776647436040018167E+00;
11076 x[6] = 5.91814156164404855815360191408E+00;
11077 x[7] = 7.86861891533473373105668358176E+00;
11078 x[8] = 10.1324237168152659251627415800E+00;
11079 x[9] = 12.7308814638423980045092979656E+00;
11080 x[10] = 15.6912783398358885454136069861E+00;
11081 x[11] = 19.0489932098235501532136429732E+00;
11082 x[12] = 22.8508497608294829323930586693E+00;
11083 x[13] = 27.1606693274114488789963947149E+00;
11084 x[14] = 32.0691222518622423224362865906E+00;
11085 x[15] = 37.7129058012196494770647508283E+00;
11086 x[16] = 44.3173627958314961196067736013E+00;
11087 x[17] = 52.3129024574043831658644222420E+00;
11088 x[18] = 62.8024231535003758413504690673E+00;
11090 else if ( n == 20 )
11092 x[0] = 0.0705398896919887533666890045842E+00;
11093 x[1] = 0.372126818001611443794241388761E+00;
11094 x[2] = 0.916582102483273564667716277074E+00;
11095 x[3] = 1.70730653102834388068768966741E+00;
11096 x[4] = 2.74919925530943212964503046049E+00;
11097 x[5] = 4.04892531385088692237495336913E+00;
11098 x[6] = 5.61517497086161651410453988565E+00;
11099 x[7] = 7.45901745367106330976886021837E+00;
11100 x[8] = 9.59439286958109677247367273428E+00;
11101 x[9] = 12.0388025469643163096234092989E+00;
11102 x[10] = 14.8142934426307399785126797100E+00;
11103 x[11] = 17.9488955205193760173657909926E+00;
11104 x[12] = 21.4787882402850109757351703696E+00;
11105 x[13] = 25.4517027931869055035186774846E+00;
11106 x[14] = 29.9325546317006120067136561352E+00;
11107 x[15] = 35.0134342404790000062849359067E+00;
11108 x[16] = 40.8330570567285710620295677078E+00;
11109 x[17] = 47.6199940473465021399416271529E+00;
11110 x[18] = 55.8107957500638988907507734445E+00;
11111 x[19] = 66.5244165256157538186403187915E+00;
11116 std::cerr <<
"LAGUERRE_LOOKUP_POINTS - Fatal error!\n";
11117 std::cerr <<
" Illegal value of N = " << n <<
"\n";
11118 std::cerr <<
" Legal values are 1 through 20.\n";
11188 w[0] = 1.00000000000000000000000000000E+00;
11192 w[0] = 0.85355339059327376220042218105E+00;
11193 w[1] = 0.146446609406726237799577818948E+00;
11197 w[0] = 0.71109300992917301544959019114E+00;
11198 w[1] = 0.27851773356924084880144488846E+00;
11199 w[2] = 0.010389256501586135748964920401E+00;
11203 w[0] = 0.60315410434163360163596602382E+00;
11204 w[1] = 0.35741869243779968664149201746E+00;
11205 w[2] = 0.03888790851500538427243816816E+00;
11206 w[3] = 0.0005392947055613274501037905676E+00;
11210 w[0] = 0.52175561058280865247586092879E+00;
11211 w[1] = 0.3986668110831759274541333481E+00;
11212 w[2] = 0.0759424496817075953876533114E+00;
11213 w[3] = 0.00361175867992204845446126257E+00;
11214 w[4] = 0.00002336997238577622789114908455E+00;
11218 w[0] = 0.45896467394996359356828487771E+00;
11219 w[1] = 0.4170008307721209941133775662E+00;
11220 w[2] = 0.1133733820740449757387061851E+00;
11221 w[3] = 0.01039919745314907489891330285E+00;
11222 w[4] = 0.000261017202814932059479242860E+00;
11223 w[5] = 8.98547906429621238825292053E-07;
11227 w[0] = 0.40931895170127390213043288002E+00;
11228 w[1] = 0.4218312778617197799292810054E+00;
11229 w[2] = 0.1471263486575052783953741846E+00;
11230 w[3] = 0.0206335144687169398657056150E+00;
11231 w[4] = 0.00107401014328074552213195963E+00;
11232 w[5] = 0.0000158654643485642012687326223E+00;
11233 w[6] = 3.17031547899558056227132215E-08;
11237 w[0] = 0.36918858934163752992058283938E+00;
11238 w[1] = 0.4187867808143429560769785813E+00;
11239 w[2] = 0.175794986637171805699659867E+00;
11240 w[3] = 0.033343492261215651522132535E+00;
11241 w[4] = 0.0027945362352256725249389241E+00;
11242 w[5] = 0.00009076508773358213104238501E+00;
11243 w[6] = 8.4857467162725315448680183E-07;
11244 w[7] = 1.04800117487151038161508854E-09;
11248 w[0] = 0.336126421797962519673467717606E+00;
11249 w[1] = 0.411213980423984387309146942793E+00;
11250 w[2] = 0.199287525370885580860575607212E+00;
11251 w[3] = 0.0474605627656515992621163600479E+00;
11252 w[4] = 0.00559962661079458317700419900556E+00;
11253 w[5] = 0.000305249767093210566305412824291E+00;
11254 w[6] = 6.59212302607535239225572284875E-06;
11255 w[7] = 4.1107693303495484429024104033E-08;
11256 w[8] = 3.29087403035070757646681380323E-11;
11258 else if ( n == 10 )
11260 w[0] = 0.30844111576502014154747083468E+00;
11261 w[1] = 0.4011199291552735515157803099E+00;
11262 w[2] = 0.218068287611809421588648523E+00;
11263 w[3] = 0.062087456098677747392902129E+00;
11264 w[4] = 0.009501516975181100553839072E+00;
11265 w[5] = 0.0007530083885875387754559644E+00;
11266 w[6] = 0.00002825923349599565567422564E+00;
11267 w[7] = 4.249313984962686372586577E-07;
11268 w[8] = 1.839564823979630780921535E-09;
11269 w[9] = 9.911827219609008558377547E-13;
11271 else if ( n == 11 )
11273 w[0] = 0.28493321289420060505605102472E+00;
11274 w[1] = 0.3897208895278493779375535080E+00;
11275 w[2] = 0.232781831848991333940223796E+00;
11276 w[3] = 0.076564453546196686400854179E+00;
11277 w[4] = 0.014393282767350695091863919E+00;
11278 w[5] = 0.001518880846484873069847776E+00;
11279 w[6] = 0.0000851312243547192259720424E+00;
11280 w[7] = 2.29240387957450407857683E-06;
11281 w[8] = 2.48635370276779587373391E-08;
11282 w[9] = 7.71262693369132047028153E-11;
11283 w[10] = 2.883775868323623861597778E-14;
11285 else if ( n == 12 )
11287 w[0] = 0.26473137105544319034973889206E+00;
11288 w[1] = 0.3777592758731379820244905567E+00;
11289 w[2] = 0.244082011319877564254870818E+00;
11290 w[3] = 0.09044922221168093072750549E+00;
11291 w[4] = 0.02010238115463409652266129E+00;
11292 w[5] = 0.002663973541865315881054158E+00;
11293 w[6] = 0.000203231592662999392121433E+00;
11294 w[7] = 8.3650558568197987453363E-06;
11295 w[8] = 1.66849387654091026116990E-07;
11296 w[9] = 1.34239103051500414552392E-09;
11297 w[10] = 3.06160163503502078142408E-12;
11298 w[11] = 8.148077467426241682473119E-16;
11300 else if ( n == 13 )
11302 w[0] = 0.24718870842996262134624918596E+00;
11303 w[1] = 0.3656888229005219453067175309E+00;
11304 w[2] = 0.252562420057658502356824289E+00;
11305 w[3] = 0.10347075802418370511421863E+00;
11306 w[4] = 0.02643275441556161577815877E+00;
11307 w[5] = 0.00422039604025475276555209E+00;
11308 w[6] = 0.000411881770472734774892473E+00;
11309 w[7] = 0.0000235154739815532386882897E+00;
11310 w[8] = 7.3173116202490991040105E-07;
11311 w[9] = 1.10884162570398067979151E-08;
11312 w[10] = 6.7708266922058988406462E-11;
11313 w[11] = 1.15997995990507606094507E-13;
11314 w[12] = 2.245093203892758415991872E-17;
11316 else if ( n == 14 )
11318 w[0] = 0.23181557714486497784077486110E+00;
11319 w[1] = 0.3537846915975431518023313013E+00;
11320 w[2] = 0.258734610245428085987320561E+00;
11321 w[3] = 0.11548289355692321008730499E+00;
11322 w[4] = 0.03319209215933736003874996E+00;
11323 w[5] = 0.00619286943700661021678786E+00;
11324 w[6] = 0.00073989037786738594242589E+00;
11325 w[7] = 0.000054907194668416983785733E+00;
11326 w[8] = 2.4095857640853774967578E-06;
11327 w[9] = 5.801543981676495180886E-08;
11328 w[10] = 6.819314692484974119616E-10;
11329 w[11] = 3.2212077518948479398089E-12;
11330 w[12] = 4.2213524405165873515980E-15;
11331 w[13] = 6.05237502228918880839871E-19;
11333 else if ( n == 15 )
11335 w[0] = 0.21823488594008688985641323645E+00;
11336 w[1] = 0.3422101779228833296389489568E+00;
11337 w[2] = 0.263027577941680097414812275E+00;
11338 w[3] = 0.12642581810593053584303055E+00;
11339 w[4] = 0.04020686492100091484158548E+00;
11340 w[5] = 0.00856387780361183836391576E+00;
11341 w[6] = 0.00121243614721425207621921E+00;
11342 w[7] = 0.00011167439234425194199258E+00;
11343 w[8] = 6.459926762022900924653E-06;
11344 w[9] = 2.226316907096272630332E-07;
11345 w[10] = 4.227430384979365007351E-09;
11346 w[11] = 3.921897267041089290385E-11;
11347 w[12] = 1.4565152640731264063327E-13;
11348 w[13] = 1.4830270511133013354616E-16;
11349 w[14] = 1.60059490621113323104998E-20;
11351 else if ( n == 16 )
11353 w[0] = 0.20615171495780099433427363674E+00;
11354 w[1] = 0.3310578549508841659929830987E+00;
11355 w[2] = 0.265795777644214152599502021E+00;
11356 w[3] = 0.13629693429637753997554751E+00;
11357 w[4] = 0.0473289286941252189780623E+00;
11358 w[5] = 0.0112999000803394532312490E+00;
11359 w[6] = 0.0018490709435263108642918E+00;
11360 w[7] = 0.00020427191530827846012602E+00;
11361 w[8] = 0.00001484458687398129877135E+00;
11362 w[9] = 6.828319330871199564396E-07;
11363 w[10] = 1.881024841079673213882E-08;
11364 w[11] = 2.862350242973881619631E-10;
11365 w[12] = 2.127079033224102967390E-12;
11366 w[13] = 6.297967002517867787174E-15;
11367 w[14] = 5.050473700035512820402E-18;
11368 w[15] = 4.1614623703728551904265E-22;
11370 else if ( n == 17 )
11372 w[0] = 0.19533220525177083214592729770E+00;
11373 w[1] = 0.3203753572745402813366256320E+00;
11374 w[2] = 0.267329726357171097238809604E+00;
11375 w[3] = 0.14512985435875862540742645E+00;
11376 w[4] = 0.0544369432453384577793806E+00;
11377 w[5] = 0.0143572977660618672917767E+00;
11378 w[6] = 0.0026628247355727725684324E+00;
11379 w[7] = 0.0003436797271562999206118E+00;
11380 w[8] = 0.00003027551783782870109437E+00;
11381 w[9] = 1.768515053231676895381E-06;
11382 w[10] = 6.57627288681043332199E-08;
11383 w[11] = 1.469730932159546790344E-09;
11384 w[12] = 1.81691036255544979555E-11;
11385 w[13] = 1.095401388928687402976E-13;
11386 w[14] = 2.617373882223370421551E-16;
11387 w[15] = 1.6729356931461546908502E-19;
11388 w[16] = 1.06562631627404278815253E-23;
11390 else if ( n == 18 )
11392 w[0] = 0.18558860314691880562333775228E+00;
11393 w[1] = 0.3101817663702252936495975957E+00;
11394 w[2] = 0.267866567148536354820854395E+00;
11395 w[3] = 0.15297974746807490655384308E+00;
11396 w[4] = 0.0614349178609616527076780E+00;
11397 w[5] = 0.0176872130807729312772600E+00;
11398 w[6] = 0.0036601797677599177980266E+00;
11399 w[7] = 0.0005406227870077353231284E+00;
11400 w[8] = 0.0000561696505121423113818E+00;
11401 w[9] = 4.01530788370115755859E-06;
11402 w[10] = 1.91466985667567497969E-07;
11403 w[11] = 5.8360952686315941292E-09;
11404 w[12] = 1.07171126695539012773E-10;
11405 w[13] = 1.08909871388883385562E-12;
11406 w[14] = 5.38666474837830887608E-15;
11407 w[15] = 1.049865978035703408779E-17;
11408 w[16] = 5.405398451631053643566E-21;
11409 w[17] = 2.6916532692010286270838E-25;
11411 else if ( n == 19 )
11413 w[0] = 0.17676847491591250225103547981E+00;
11414 w[1] = 0.3004781436072543794821568077E+00;
11415 w[2] = 0.267599547038175030772695441E+00;
11416 w[3] = 0.15991337213558021678551215E+00;
11417 w[4] = 0.0682493799761491134552355E+00;
11418 w[5] = 0.0212393076065443249244062E+00;
11419 w[6] = 0.0048416273511483959672501E+00;
11420 w[7] = 0.0008049127473813667665946E+00;
11421 w[8] = 0.0000965247209315350170843E+00;
11422 w[9] = 8.20730525805103054409E-06;
11423 w[10] = 4.8305667247307725394E-07;
11424 w[11] = 1.90499136112328569994E-08;
11425 w[12] = 4.8166846309280615577E-10;
11426 w[13] = 7.3482588395511443768E-12;
11427 w[14] = 6.2022753875726163989E-14;
11428 w[15] = 2.54143084301542272372E-16;
11429 w[16] = 4.07886129682571235007E-19;
11430 w[17] = 1.707750187593837061004E-22;
11431 w[18] = 6.715064649908189959990E-27;
11433 else if ( n == 20 )
11435 w[0] = 0.168746801851113862149223899689E+00;
11436 w[1] = 0.291254362006068281716795323812E+00;
11437 w[2] = 0.266686102867001288549520868998E+00;
11438 w[3] = 0.166002453269506840031469127816E+00;
11439 w[4] = 0.0748260646687923705400624639615E+00;
11440 w[5] = 0.0249644173092832210728227383234E+00;
11441 w[6] = 0.00620255084457223684744754785395E+00;
11442 w[7] = 0.00114496238647690824203955356969E+00;
11443 w[8] = 0.000155741773027811974779809513214E+00;
11444 w[9] = 0.0000154014408652249156893806714048E+00;
11445 w[10] = 1.08648636651798235147970004439E-06;
11446 w[11] = 5.33012090955671475092780244305E-08;
11447 w[12] = 1.7579811790505820035778763784E-09;
11448 w[13] = 3.72550240251232087262924585338E-11;
11449 w[14] = 4.76752925157819052449488071613E-13;
11450 w[15] = 3.37284424336243841236506064991E-15;
11451 w[16] = 1.15501433950039883096396247181E-17;
11452 w[17] = 1.53952214058234355346383319667E-20;
11453 w[18] = 5.28644272556915782880273587683E-24;
11454 w[19] = 1.65645661249902329590781908529E-28;
11459 std::cerr <<
"LAGUERRE_LOOKUP_WEIGHTS - Fatal error!\n";
11460 std::cerr <<
" Illegal value of N = " << n <<
"\n";
11461 std::cerr <<
" Legal values are 1 through 20.\n";
11539 std::cerr <<
"LAGUERRE_COMPUTE - Fatal error!\n";
11540 std::cerr <<
" Illegal value of ORDER = " << order <<
"\n";
11544 b =
new double[order];
11545 c =
new double[order];
11549 for ( i = 0; i < order; i++ )
11551 b[i] = ( double ) ( 2 * i + 1 );
11554 for ( i = 0; i < order; i++ )
11556 c[i] = ( double ) ( i * i );
11559 for ( i = 1; i < order; i++ )
11561 prod = prod * c[i];
11565 for ( i = 0; i < order; i++ )
11572 x0 = 3.0 / ( 1.0 + 2.4 * ( double ) ( order ) );
11576 x0 = x0 + 15.0 / ( 1.0 + 2.5 * ( double ) ( order ) );
11580 r1 = ( 1.0 + 2.55 * ( double ) ( i - 1 ) )
11581 / ( 1.9 * (
double ) ( i - 1 ) );
11583 x0 = x0 + r1 * ( x0 - x[i-2] );
11599 w[i] = ( 1.0 / dp2 );
11600 for ( j = 2; j <= order; j++ )
11602 w[i] = w[i] * ( double ) ( j - 1 );
11605 for ( j = 2; j <= order; j++ )
11607 w[i] = w[i] * ( double ) ( j - 1 );
11621 int order,
double b[],
double c[] )
11675 for ( i = 1; i < order; i++ )
11683 *p2 = ( x - b[i] ) * ( *p1 ) - c[i] * p0;
11684 *dp2 = ( x - b[i] ) * dp1 + ( *p1 ) - c[i] * dp0;
11692 double b[],
double c[] )
11742 for ( step = 1; step <= step_max; step++ )
11807 bj =
new double[n];
11809 for ( i = 0; i < n; i++ )
11811 bj[i] = ( double ) ( ( i + 1 ) * ( i + 1 ) )
11812 / ( double ) ( 4 * ( i + 1 ) * ( i + 1 ) - 1 );
11813 bj[i] = std::sqrt ( bj[i] );
11816 for ( i = 0; i < n; i++ )
11821 w[0] = std::sqrt ( zemu );
11823 for ( i = 1; i < n; i++ )
11832 for ( i = 0; i < n; i++ )
11834 w[i] = w[i] * w[i];
12122 double pi = 3.141592653589793;
12135 std::cerr <<
"LEGENDRE_DR_COMPUTE - Fatal error!\n";
12136 std::cerr <<
" Illegal value of N = " << n <<
"\n";
12140 e1 = ( double ) ( n * ( n + 1 ) );
12144 for ( i = 1; i <= m; i++ )
12148 t = ( double ) ( 4 * i - 1 ) * pi / ( double ) ( 4 * n + 2 );
12150 x0 = std::cos ( t ) * ( 1.0 - ( 1.0 - 1.0 / ( double ) ( n ) )
12151 / (
double ) ( 8 * n * n ) );
12156 for ( k = 2; k <= n; k++ )
12158 pkp1 = 2.0 * x0 * pk - pkm1 - ( x0 * pk - pkm1 ) / (
double ) ( k );
12163 d1 = ( double ) ( n ) * ( pkm1 - x0 * pk );
12165 dpn = d1 / ( 1.0 - x0 * x0 );
12167 d2pn = ( 2.0 * x0 * dpn - e1 * pk ) / ( 1.0 - x0 * x0 );
12169 d3pn = ( 4.0 * x0 * d2pn + ( 2.0 - e1 ) * dpn ) / ( 1.0 - x0 * x0 );
12171 d4pn = ( 6.0 * x0 * d3pn + ( 6.0 - e1 ) * d2pn ) / ( 1.0 - x0 * x0 );
12178 h = -u * ( 1.0 + 0.5 * u * ( v + u * ( v * v - d3pn / ( 3.0 * dpn ) ) ) );
12182 p = pk + h * ( dpn + 0.5 * h * ( d2pn + h / 3.0
12183 * ( d3pn + 0.25 * h * d4pn ) ) );
12185 dp = dpn + h * ( d2pn + 0.5 * h * ( d3pn + h * d4pn / 3.0 ) );
12191 x[mp1mi-1] = xtemp;
12193 fx = d1 - h * e1 * ( pk + 0.5 * h * ( dpn + h / 3.0
12194 * ( d2pn + 0.25 * h * ( d3pn + 0.2 * h * d4pn ) ) ) );
12196 w[mp1mi-1] = 2.0 * ( 1.0 - xtemp * xtemp ) / ( fx * fx );
12199 if ( ( n % 2 ) == 1 )
12206 nmove = ( n + 1 ) / 2;
12209 for ( i = 1; i <= nmove; i++ )
12212 x[iback-1] = x[iback-ncopy-1];
12213 w[iback-1] = w[iback-ncopy-1];
12218 for ( i = 1; i <= n - nmove; i++ )
12265 if ( ( expon % 2 ) == 0 )
12267 exact = 2.0 / ( double ) ( expon + 1 );
12412 x[0] = 0.000000000000000000000000000000;
12416 x[0] = -0.577350269189625764509148780502;
12417 x[1] = 0.577350269189625764509148780502;
12421 x[0] = -0.774596669241483377035853079956;
12422 x[1] = 0.000000000000000000000000000000;
12423 x[2] = 0.774596669241483377035853079956;
12427 x[0] = -0.861136311594052575223946488893;
12428 x[1] = -0.339981043584856264802665759103;
12429 x[2] = 0.339981043584856264802665759103;
12430 x[3] = 0.861136311594052575223946488893;
12434 x[0] = -0.906179845938663992797626878299;
12435 x[1] = -0.538469310105683091036314420700;
12436 x[2] = 0.000000000000000000000000000000;
12437 x[3] = 0.538469310105683091036314420700;
12438 x[4] = 0.906179845938663992797626878299;
12442 x[0] = -0.932469514203152027812301554494;
12443 x[1] = -0.661209386466264513661399595020;
12444 x[2] = -0.238619186083196908630501721681;
12445 x[3] = 0.238619186083196908630501721681;
12446 x[4] = 0.661209386466264513661399595020;
12447 x[5] = 0.932469514203152027812301554494;
12451 x[0] = -0.949107912342758524526189684048;
12452 x[1] = -0.741531185599394439863864773281;
12453 x[2] = -0.405845151377397166906606412077;
12454 x[3] = 0.000000000000000000000000000000;
12455 x[4] = 0.405845151377397166906606412077;
12456 x[5] = 0.741531185599394439863864773281;
12457 x[6] = 0.949107912342758524526189684048;
12461 x[0] = -0.960289856497536231683560868569;
12462 x[1] = -0.796666477413626739591553936476;
12463 x[2] = -0.525532409916328985817739049189;
12464 x[3] = -0.183434642495649804939476142360;
12465 x[4] = 0.183434642495649804939476142360;
12466 x[5] = 0.525532409916328985817739049189;
12467 x[6] = 0.796666477413626739591553936476;
12468 x[7] = 0.960289856497536231683560868569;
12472 x[0] = -0.968160239507626089835576203;
12473 x[1] = -0.836031107326635794299429788;
12474 x[2] = -0.613371432700590397308702039;
12475 x[3] = -0.324253423403808929038538015;
12476 x[4] = 0.000000000000000000000000000;
12477 x[5] = 0.324253423403808929038538015;
12478 x[6] = 0.613371432700590397308702039;
12479 x[7] = 0.836031107326635794299429788;
12480 x[8] = 0.968160239507626089835576203;
12482 else if ( n == 10 )
12484 x[0] = -0.973906528517171720077964012;
12485 x[1] = -0.865063366688984510732096688;
12486 x[2] = -0.679409568299024406234327365;
12487 x[3] = -0.433395394129247190799265943;
12488 x[4] = -0.148874338981631210884826001;
12489 x[5] = 0.148874338981631210884826001;
12490 x[6] = 0.433395394129247190799265943;
12491 x[7] = 0.679409568299024406234327365;
12492 x[8] = 0.865063366688984510732096688;
12493 x[9] = 0.973906528517171720077964012;
12495 else if ( n == 11 )
12497 x[0] = -0.978228658146056992803938001;
12498 x[1] = -0.887062599768095299075157769;
12499 x[2] = -0.730152005574049324093416252;
12500 x[3] = -0.519096129206811815925725669;
12501 x[4] = -0.269543155952344972331531985;
12502 x[5] = 0.000000000000000000000000000;
12503 x[6] = 0.269543155952344972331531985;
12504 x[7] = 0.519096129206811815925725669;
12505 x[8] = 0.730152005574049324093416252;
12506 x[9] = 0.887062599768095299075157769;
12507 x[10] = 0.978228658146056992803938001;
12509 else if ( n == 12 )
12511 x[0] = -0.981560634246719250690549090;
12512 x[1] = -0.904117256370474856678465866;
12513 x[2] = -0.769902674194304687036893833;
12514 x[3] = -0.587317954286617447296702419;
12515 x[4] = -0.367831498998180193752691537;
12516 x[5] = -0.125233408511468915472441369;
12517 x[6] = 0.125233408511468915472441369;
12518 x[7] = 0.367831498998180193752691537;
12519 x[8] = 0.587317954286617447296702419;
12520 x[9] = 0.769902674194304687036893833;
12521 x[10] = 0.904117256370474856678465866;
12522 x[11] = 0.981560634246719250690549090;
12524 else if ( n == 13 )
12526 x[0] = -0.984183054718588149472829449;
12527 x[1] = -0.917598399222977965206547837;
12528 x[2] = -0.801578090733309912794206490;
12529 x[3] = -0.642349339440340220643984607;
12530 x[4] = -0.448492751036446852877912852;
12531 x[5] = -0.230458315955134794065528121;
12532 x[6] = 0.000000000000000000000000000;
12533 x[7] = 0.230458315955134794065528121;
12534 x[8] = 0.448492751036446852877912852;
12535 x[9] = 0.642349339440340220643984607;
12536 x[10] = 0.80157809073330991279420649;
12537 x[11] = 0.91759839922297796520654784;
12538 x[12] = 0.98418305471858814947282945;
12540 else if ( n == 14 )
12542 x[0] = -0.986283808696812338841597267;
12543 x[1] = -0.928434883663573517336391139;
12544 x[2] = -0.827201315069764993189794743;
12545 x[3] = -0.687292904811685470148019803;
12546 x[4] = -0.515248636358154091965290719;
12547 x[5] = -0.319112368927889760435671824;
12548 x[6] = -0.108054948707343662066244650;
12549 x[7] = 0.108054948707343662066244650;
12550 x[8] = 0.31911236892788976043567182;
12551 x[9] = 0.51524863635815409196529072;
12552 x[10] = 0.68729290481168547014801980;
12553 x[11] = 0.82720131506976499318979474;
12554 x[12] = 0.92843488366357351733639114;
12555 x[13] = 0.98628380869681233884159727;
12557 else if ( n == 15 )
12559 x[0] = -0.987992518020485428489565719;
12560 x[1] = -0.937273392400705904307758948;
12561 x[2] = -0.848206583410427216200648321;
12562 x[3] = -0.724417731360170047416186055;
12563 x[4] = -0.570972172608538847537226737;
12564 x[5] = -0.394151347077563369897207371;
12565 x[6] = -0.201194093997434522300628303;
12566 x[7] = 0.00000000000000000000000000;
12567 x[8] = 0.20119409399743452230062830;
12568 x[9] = 0.39415134707756336989720737;
12569 x[10] = 0.57097217260853884753722674;
12570 x[11] = 0.72441773136017004741618605;
12571 x[12] = 0.84820658341042721620064832;
12572 x[13] = 0.93727339240070590430775895;
12573 x[14] = 0.98799251802048542848956572;
12575 else if ( n == 16 )
12577 x[0] = -0.989400934991649932596154173;
12578 x[1] = -0.944575023073232576077988416;
12579 x[2] = -0.865631202387831743880467898;
12580 x[3] = -0.755404408355003033895101195;
12581 x[4] = -0.617876244402643748446671764;
12582 x[5] = -0.458016777657227386342419443;
12583 x[6] = -0.281603550779258913230460501;
12584 x[7] = -0.09501250983763744018531934;
12585 x[8] = 0.09501250983763744018531934;
12586 x[9] = 0.28160355077925891323046050;
12587 x[10] = 0.45801677765722738634241944;
12588 x[11] = 0.61787624440264374844667176;
12589 x[12] = 0.75540440835500303389510119;
12590 x[13] = 0.86563120238783174388046790;
12591 x[14] = 0.94457502307323257607798842;
12592 x[15] = 0.98940093499164993259615417;
12594 else if ( n == 17 )
12596 x[0] = -0.990575475314417335675434020;
12597 x[1] = -0.950675521768767761222716958;
12598 x[2] = -0.880239153726985902122955694;
12599 x[3] = -0.781514003896801406925230056;
12600 x[4] = -0.657671159216690765850302217;
12601 x[5] = -0.512690537086476967886246569;
12602 x[6] = -0.35123176345387631529718552;
12603 x[7] = -0.17848418149584785585067749;
12604 x[8] = 0.00000000000000000000000000;
12605 x[9] = 0.17848418149584785585067749;
12606 x[10] = 0.35123176345387631529718552;
12607 x[11] = 0.51269053708647696788624657;
12608 x[12] = 0.65767115921669076585030222;
12609 x[13] = 0.78151400389680140692523006;
12610 x[14] = 0.88023915372698590212295569;
12611 x[15] = 0.95067552176876776122271696;
12612 x[16] = 0.99057547531441733567543402;
12614 else if ( n == 18 )
12616 x[0] = -0.991565168420930946730016005;
12617 x[1] = -0.955823949571397755181195893;
12618 x[2] = -0.892602466497555739206060591;
12619 x[3] = -0.803704958972523115682417455;
12620 x[4] = -0.691687043060353207874891081;
12621 x[5] = -0.55977083107394753460787155;
12622 x[6] = -0.41175116146284264603593179;
12623 x[7] = -0.25188622569150550958897285;
12624 x[8] = -0.08477501304173530124226185;
12625 x[9] = 0.08477501304173530124226185;
12626 x[10] = 0.25188622569150550958897285;
12627 x[11] = 0.41175116146284264603593179;
12628 x[12] = 0.55977083107394753460787155;
12629 x[13] = 0.69168704306035320787489108;
12630 x[14] = 0.80370495897252311568241746;
12631 x[15] = 0.89260246649755573920606059;
12632 x[16] = 0.95582394957139775518119589;
12633 x[17] = 0.99156516842093094673001600;
12635 else if ( n == 19 )
12637 x[0] = -0.992406843843584403189017670;
12638 x[1] = -0.960208152134830030852778841;
12639 x[2] = -0.903155903614817901642660929;
12640 x[3] = -0.822714656537142824978922487;
12641 x[4] = -0.72096617733522937861709586;
12642 x[5] = -0.60054530466168102346963816;
12643 x[6] = -0.46457074137596094571726715;
12644 x[7] = -0.31656409996362983199011733;
12645 x[8] = -0.16035864564022537586809612;
12646 x[9] = 0.00000000000000000000000000;
12647 x[10] = 0.16035864564022537586809612;
12648 x[11] = 0.31656409996362983199011733;
12649 x[12] = 0.46457074137596094571726715;
12650 x[13] = 0.60054530466168102346963816;
12651 x[14] = 0.72096617733522937861709586;
12652 x[15] = 0.82271465653714282497892249;
12653 x[16] = 0.90315590361481790164266093;
12654 x[17] = 0.96020815213483003085277884;
12655 x[18] = 0.99240684384358440318901767;
12657 else if ( n == 20 )
12659 x[0] = -0.993128599185094924786122388;
12660 x[1] = -0.963971927277913791267666131;
12661 x[2] = -0.912234428251325905867752441;
12662 x[3] = -0.83911697182221882339452906;
12663 x[4] = -0.74633190646015079261430507;
12664 x[5] = -0.63605368072651502545283670;
12665 x[6] = -0.51086700195082709800436405;
12666 x[7] = -0.37370608871541956067254818;
12667 x[8] = -0.22778585114164507808049620;
12668 x[9] = -0.07652652113349733375464041;
12669 x[10] = 0.07652652113349733375464041;
12670 x[11] = 0.22778585114164507808049620;
12671 x[12] = 0.37370608871541956067254818;
12672 x[13] = 0.51086700195082709800436405;
12673 x[14] = 0.63605368072651502545283670;
12674 x[15] = 0.74633190646015079261430507;
12675 x[16] = 0.83911697182221882339452906;
12676 x[17] = 0.91223442825132590586775244;
12677 x[18] = 0.96397192727791379126766613;
12678 x[19] = 0.99312859918509492478612239;
12680 else if ( n == 21 )
12682 x[ 0] = -0.99375217062038950026024204;
12683 x[ 1] = -0.96722683856630629431662221;
12684 x[ 2] = -0.92009933415040082879018713;
12685 x[ 3] = -0.85336336458331728364725064;
12686 x[ 4] = -0.76843996347567790861587785;
12687 x[ 5] = -0.66713880419741231930596667;
12688 x[ 6] = -0.55161883588721980705901880;
12689 x[ 7] = -0.42434212020743878357366889;
12690 x[ 8] = -0.28802131680240109660079252;
12691 x[9] = -0.14556185416089509093703098;
12692 x[10] = 0.00000000000000000000000000;
12693 x[11] = +0.14556185416089509093703098;
12694 x[12] = +0.28802131680240109660079252;
12695 x[13] = +0.42434212020743878357366889;
12696 x[14] = +0.55161883588721980705901880;
12697 x[15] = +0.66713880419741231930596667;
12698 x[16] = +0.76843996347567790861587785;
12699 x[17] = +0.85336336458331728364725064;
12700 x[18] = +0.92009933415040082879018713;
12701 x[19] = +0.96722683856630629431662221;
12702 x[20] = +0.99375217062038950026024204;
12704 else if ( n == 22 )
12706 x[0] = -0.99429458548239929207303142;
12707 x[1] = -0.97006049783542872712395099;
12708 x[2] = -0.92695677218717400052069294;
12709 x[3] = -0.86581257772030013653642564;
12710 x[4] = -0.78781680597920816200427796;
12711 x[5] = -0.69448726318668278005068984;
12712 x[6] = -0.58764040350691159295887693;
12713 x[7] = -0.46935583798675702640633071;
12714 x[8] = -0.34193582089208422515814742;
12715 x[9] = -0.20786042668822128547884653;
12716 x[10] = -0.06973927331972222121384180;
12717 x[11] = 0.06973927331972222121384180;
12718 x[12] = 0.20786042668822128547884653;
12719 x[13] = 0.34193582089208422515814742;
12720 x[14] = 0.46935583798675702640633071;
12721 x[15] = 0.58764040350691159295887693;
12722 x[16] = 0.69448726318668278005068984;
12723 x[17] = 0.78781680597920816200427796;
12724 x[18] = 0.86581257772030013653642564;
12725 x[19] = 0.92695677218717400052069294;
12726 x[20] = 0.97006049783542872712395099;
12727 x[21] = 0.99429458548239929207303142;
12729 else if ( n == 23 )
12731 x[0] = -0.99476933499755212352392572;
12732 x[1] = -0.97254247121811523195602408;
12733 x[2] = -0.93297108682601610234919699;
12734 x[3] = -0.87675235827044166737815689;
12735 x[4] = -0.80488840161883989215111841;
12736 x[5] = -0.71866136313195019446162448;
12737 x[6] = -0.61960987576364615638509731;
12738 x[7] = -0.50950147784600754968979305;
12739 x[8] = -0.39030103803029083142148887;
12740 x[9] = -0.26413568097034493053386954;
12741 x[10] = -0.13325682429846611093174268;
12742 x[11] = 0.00000000000000000000000000;
12743 x[12] = 0.13325682429846611093174268;
12744 x[13] = 0.26413568097034493053386954;
12745 x[14] = 0.39030103803029083142148887;
12746 x[15] = 0.50950147784600754968979305;
12747 x[16] = 0.61960987576364615638509731;
12748 x[17] = 0.71866136313195019446162448;
12749 x[18] = 0.80488840161883989215111841;
12750 x[19] = 0.87675235827044166737815689;
12751 x[20] = 0.93297108682601610234919699;
12752 x[21] = 0.97254247121811523195602408;
12753 x[22] = 0.99476933499755212352392572;
12755 else if ( n == 24 )
12757 x[0] = -0.99518721999702136017999741;
12758 x[1] = -0.97472855597130949819839199;
12759 x[2] = -0.93827455200273275852364900;
12760 x[3] = -0.88641552700440103421315434;
12761 x[4] = -0.82000198597390292195394987;
12762 x[5] = -0.74012419157855436424382810;
12763 x[6] = -0.64809365193697556925249579;
12764 x[7] = -0.54542147138883953565837562;
12765 x[8] = -0.43379350762604513848708423;
12766 x[9] = -0.31504267969616337438679329;
12767 x[10] = -0.19111886747361630915863982;
12768 x[11] = -0.06405689286260562608504308;
12769 x[12] = 0.06405689286260562608504308;
12770 x[13] = 0.19111886747361630915863982;
12771 x[14] = 0.31504267969616337438679329;
12772 x[15] = 0.43379350762604513848708423;
12773 x[16] = 0.54542147138883953565837562;
12774 x[17] = 0.64809365193697556925249579;
12775 x[18] = 0.74012419157855436424382810;
12776 x[19] = 0.82000198597390292195394987;
12777 x[20] = 0.88641552700440103421315434;
12778 x[21] = 0.93827455200273275852364900;
12779 x[22] = 0.97472855597130949819839199;
12780 x[23] = 0.99518721999702136017999741;
12782 else if ( n == 25 )
12784 x[0] = -0.99555696979049809790878495;
12785 x[1] = -0.97666392145951751149831539;
12786 x[2] = -0.94297457122897433941401117;
12787 x[3] = -0.89499199787827536885104201;
12788 x[4] = -0.83344262876083400142102111;
12789 x[5] = -0.75925926303735763057728287;
12790 x[6] = -0.67356636847346836448512063;
12791 x[7] = -0.57766293024122296772368984;
12792 x[8] = -0.47300273144571496052218212;
12793 x[9] = -0.36117230580938783773582173;
12794 x[10] = -0.24386688372098843204519036;
12795 x[11] = -0.12286469261071039638735982;
12796 x[12] = 0.00000000000000000000000000;
12797 x[13] = 0.12286469261071039638735982;
12798 x[14] = 0.24386688372098843204519036;
12799 x[15] = 0.36117230580938783773582173;
12800 x[16] = 0.47300273144571496052218212;
12801 x[17] = 0.57766293024122296772368984;
12802 x[18] = 0.67356636847346836448512063;
12803 x[19] = 0.75925926303735763057728287;
12804 x[20] = 0.83344262876083400142102111;
12805 x[21] = 0.89499199787827536885104201;
12806 x[22] = 0.94297457122897433941401117;
12807 x[23] = 0.97666392145951751149831539;
12808 x[24] = 0.99555696979049809790878495;
12810 else if ( n == 26 )
12812 x[0] = -0.99588570114561692900321696;
12813 x[1] = -0.97838544595647099110058035;
12814 x[2] = -0.94715906666171425013591528;
12815 x[3] = -0.90263786198430707421766560;
12816 x[4] = -0.84544594278849801879750706;
12817 x[5] = -0.77638594882067885619296725;
12818 x[6] = -0.69642726041995726486381391;
12819 x[7] = -0.60669229301761806323197875;
12820 x[8] = -0.50844071482450571769570306;
12821 x[9] = -0.40305175512348630648107738;
12822 x[10] = -0.29200483948595689514283538;
12823 x[11] = -0.17685882035689018396905775;
12824 x[12] = -0.05923009342931320709371858;
12825 x[13] = 0.05923009342931320709371858;
12826 x[14] = 0.17685882035689018396905775;
12827 x[15] = 0.29200483948595689514283538;
12828 x[16] = 0.40305175512348630648107738;
12829 x[17] = 0.50844071482450571769570306;
12830 x[18] = 0.60669229301761806323197875;
12831 x[19] = 0.69642726041995726486381391;
12832 x[20] = 0.77638594882067885619296725;
12833 x[21] = 0.84544594278849801879750706;
12834 x[22] = 0.90263786198430707421766560;
12835 x[23] = 0.94715906666171425013591528;
12836 x[24] = 0.97838544595647099110058035;
12837 x[25] = 0.99588570114561692900321696;
12839 else if ( n == 27 )
12841 x[0] = -0.99617926288898856693888721;
12842 x[1] = -0.97992347596150122285587336;
12843 x[2] = -0.95090055781470500685190803;
12844 x[3] = -0.90948232067749110430064502;
12845 x[4] = -0.85620790801829449030273722;
12846 x[5] = -0.79177163907050822714439734;
12847 x[6] = -0.71701347373942369929481621;
12848 x[7] = -0.63290797194649514092773464;
12849 x[8] = -0.54055156457945689490030094;
12850 x[9] = -0.44114825175002688058597416;
12851 x[10] = -0.33599390363850889973031903;
12852 x[11] = -0.22645936543953685885723911;
12853 x[12] = -0.11397258560952996693289498;
12854 x[13] = 0.00000000000000000000000000;
12855 x[14] = 0.11397258560952996693289498;
12856 x[15] = 0.22645936543953685885723911;
12857 x[16] = 0.33599390363850889973031903;
12858 x[17] = 0.44114825175002688058597416;
12859 x[18] = 0.54055156457945689490030094;
12860 x[19] = 0.63290797194649514092773464;
12861 x[20] = 0.71701347373942369929481621;
12862 x[21] = 0.79177163907050822714439734;
12863 x[22] = 0.85620790801829449030273722;
12864 x[23] = 0.90948232067749110430064502;
12865 x[24] = 0.95090055781470500685190803;
12866 x[25] = 0.97992347596150122285587336;
12867 x[26] = 0.99617926288898856693888721;
12869 else if ( n == 28 )
12871 x[0] = -0.99644249757395444995043639;
12872 x[1] = -0.98130316537087275369455995;
12873 x[2] = -0.95425928062893819725410184;
12874 x[3] = -0.91563302639213207386968942;
12875 x[4] = -0.86589252257439504894225457;
12876 x[5] = -0.80564137091717917144788596;
12877 x[6] = -0.73561087801363177202814451;
12878 x[7] = -0.65665109403886496121989818;
12879 x[8] = -0.56972047181140171930800328;
12880 x[9] = -0.47587422495511826103441185;
12881 x[10] = -0.37625151608907871022135721;
12882 x[11] = -0.27206162763517807767682636;
12883 x[12] = -0.16456928213338077128147178;
12884 x[13] = -0.05507928988403427042651653;
12885 x[14] = 0.05507928988403427042651653;
12886 x[15] = 0.16456928213338077128147178;
12887 x[16] = 0.27206162763517807767682636;
12888 x[17] = 0.37625151608907871022135721;
12889 x[18] = 0.47587422495511826103441185;
12890 x[19] = 0.56972047181140171930800328;
12891 x[20] = 0.65665109403886496121989818;
12892 x[21] = 0.73561087801363177202814451;
12893 x[22] = 0.80564137091717917144788596;
12894 x[23] = 0.86589252257439504894225457;
12895 x[24] = 0.91563302639213207386968942;
12896 x[25] = 0.95425928062893819725410184;
12897 x[26] = 0.98130316537087275369455995;
12898 x[27] = 0.99644249757395444995043639;
12900 else if ( n == 29 )
12902 x[0] = -0.99667944226059658616319153;
12903 x[1] = -0.98254550526141317487092602;
12904 x[2] = -0.95728559577808772579820804;
12905 x[3] = -0.92118023295305878509375344;
12906 x[4] = -0.87463780492010279041779342;
12907 x[5] = -0.81818548761525244498957221;
12908 x[6] = -0.75246285173447713391261008;
12909 x[7] = -0.67821453760268651515618501;
12910 x[8] = -0.59628179713822782037958621;
12911 x[9] = -0.50759295512422764210262792;
12912 x[10] = -0.41315288817400866389070659;
12913 x[11] = -0.31403163786763993494819592;
12914 x[12] = -0.21135228616600107450637573;
12915 x[13] = -0.10627823013267923017098239;
12916 x[14] = 0.00000000000000000000000000;
12917 x[15] = 0.10627823013267923017098239;
12918 x[16] = 0.21135228616600107450637573;
12919 x[17] = 0.31403163786763993494819592;
12920 x[18] = 0.41315288817400866389070659;
12921 x[19] = 0.50759295512422764210262792;
12922 x[20] = 0.59628179713822782037958621;
12923 x[21] = 0.67821453760268651515618501;
12924 x[22] = 0.75246285173447713391261008;
12925 x[23] = 0.81818548761525244498957221;
12926 x[24] = 0.87463780492010279041779342;
12927 x[25] = 0.92118023295305878509375344;
12928 x[26] = 0.95728559577808772579820804;
12929 x[27] = 0.98254550526141317487092602;
12930 x[28] = 0.99667944226059658616319153;
12932 else if ( n == 30 )
12934 x[0] = -0.99689348407464954027163005;
12935 x[1] = -0.98366812327974720997003258;
12936 x[2] = -0.96002186496830751221687103;
12937 x[3] = -0.92620004742927432587932428;
12938 x[4] = -0.88256053579205268154311646;
12939 x[5] = -0.82956576238276839744289812;
12940 x[6] = -0.76777743210482619491797734;
12941 x[7] = -0.69785049479331579693229239;
12942 x[8] = -0.62052618298924286114047756;
12943 x[9] = -0.53662414814201989926416979;
12944 x[10] = -0.44703376953808917678060990;
12945 x[11] = -0.35270472553087811347103721;
12946 x[12] = -0.25463692616788984643980513;
12947 x[13] = -0.15386991360858354696379467;
12948 x[14] = -0.05147184255531769583302521;
12949 x[15] = 0.05147184255531769583302521;
12950 x[16] = 0.15386991360858354696379467;
12951 x[17] = 0.25463692616788984643980513;
12952 x[18] = 0.35270472553087811347103721;
12953 x[19] = 0.44703376953808917678060990;
12954 x[20] = 0.53662414814201989926416979;
12955 x[21] = 0.62052618298924286114047756;
12956 x[22] = 0.69785049479331579693229239;
12957 x[23] = 0.76777743210482619491797734;
12958 x[24] = 0.82956576238276839744289812;
12959 x[25] = 0.88256053579205268154311646;
12960 x[26] = 0.92620004742927432587932428;
12961 x[27] = 0.96002186496830751221687103;
12962 x[28] = 0.98366812327974720997003258;
12963 x[29] = 0.99689348407464954027163005;
12965 else if ( n == 31 )
12967 x[0] = -0.99708748181947707405562655;
12968 x[1] = -0.98468590966515248400246517;
12969 x[2] = -0.96250392509294966178905240;
12970 x[3] = -0.93075699789664816495694576;
12971 x[4] = -0.88976002994827104337419201;
12972 x[5] = -0.83992032014626734008690454;
12973 x[6] = -0.78173314841662494040636002;
12974 x[7] = -0.71577678458685328390597087;
12975 x[8] = -0.64270672292426034618441820;
12976 x[9] = -0.56324916140714926272094492;
12977 x[10] = -0.47819378204490248044059404;
12978 x[11] = -0.38838590160823294306135146;
12979 x[12] = -0.29471806998170161661790390;
12980 x[13] = -0.19812119933557062877241300;
12981 x[14] = -0.09955531215234152032517479;
12982 x[15] = 0.00000000000000000000000000;
12983 x[16] = 0.09955531215234152032517479;
12984 x[17] = 0.19812119933557062877241300;
12985 x[18] = 0.29471806998170161661790390;
12986 x[19] = 0.38838590160823294306135146;
12987 x[20] = 0.47819378204490248044059404;
12988 x[21] = 0.56324916140714926272094492;
12989 x[22] = 0.64270672292426034618441820;
12990 x[23] = 0.71577678458685328390597087;
12991 x[24] = 0.78173314841662494040636002;
12992 x[25] = 0.83992032014626734008690454;
12993 x[26] = 0.88976002994827104337419201;
12994 x[27] = 0.93075699789664816495694576;
12995 x[28] = 0.96250392509294966178905240;
12996 x[29] = 0.98468590966515248400246517;
12997 x[30] = 0.99708748181947707405562655;
12999 else if ( n == 32 )
13001 x[0] = -0.99726386184948156354498113;
13002 x[1] = -0.98561151154526833540017504;
13003 x[2] = -0.96476225558750643077381193;
13004 x[3] = -0.93490607593773968917091913;
13005 x[4] = -0.89632115576605212396530724;
13006 x[5] = -0.84936761373256997013369300;
13007 x[6] = -0.79448379596794240696309730;
13008 x[7] = -0.73218211874028968038742667;
13009 x[8] = -0.66304426693021520097511517;
13010 x[9] = -0.58771575724076232904074548;
13011 x[10] = -0.50689990893222939002374747;
13012 x[11] = -0.42135127613063534536411944;
13013 x[12] = -0.33186860228212764977991681;
13014 x[13] = -0.23928736225213707454460321;
13015 x[14] = -0.14447196158279649348518637;
13016 x[15] = -0.04830766568773831623481257;
13017 x[16] = 0.04830766568773831623481257;
13018 x[17] = 0.14447196158279649348518637;
13019 x[18] = 0.23928736225213707454460321;
13020 x[19] = 0.33186860228212764977991681;
13021 x[20] = 0.42135127613063534536411944;
13022 x[21] = 0.50689990893222939002374747;
13023 x[22] = 0.58771575724076232904074548;
13024 x[23] = 0.66304426693021520097511517;
13025 x[24] = 0.73218211874028968038742667;
13026 x[25] = 0.79448379596794240696309730;
13027 x[26] = 0.84936761373256997013369300;
13028 x[27] = 0.89632115576605212396530724;
13029 x[28] = 0.93490607593773968917091913;
13030 x[29] = 0.96476225558750643077381193;
13031 x[30] = 0.98561151154526833540017504;
13032 x[31] = 0.99726386184948156354498113;
13034 else if ( n == 33 )
13036 x[0] = -0.99742469424645521726616802;
13037 x[1] = -0.98645572623064248811037570;
13038 x[2] = -0.96682290968999276892837771;
13039 x[3] = -0.93869437261116835035583512;
13040 x[4] = -0.90231676774343358304053133;
13041 x[5] = -0.85800965267650406464306148;
13042 x[6] = -0.80616235627416658979620087;
13043 x[7] = -0.74723049644956215785905512;
13044 x[8] = -0.68173195996974278626821595;
13045 x[9] = -0.61024234583637902730728751;
13046 x[10] = -0.53338990478634764354889426;
13047 x[11] = -0.45185001727245069572599328;
13048 x[12] = -0.36633925774807334107022062;
13049 x[13] = -0.27760909715249702940324807;
13050 x[14] = -0.18643929882799157233579876;
13051 x[15] = -0.09363106585473338567074292;
13052 x[16] = 0.00000000000000000000000000;
13053 x[17] = 0.09363106585473338567074292;
13054 x[18] = 0.18643929882799157233579876;
13055 x[19] = 0.27760909715249702940324807;
13056 x[20] = 0.36633925774807334107022062;
13057 x[21] = 0.45185001727245069572599328;
13058 x[22] = 0.53338990478634764354889426;
13059 x[23] = 0.61024234583637902730728751;
13060 x[24] = 0.68173195996974278626821595;
13061 x[25] = 0.74723049644956215785905512;
13062 x[26] = 0.80616235627416658979620087;
13063 x[27] = 0.85800965267650406464306148;
13064 x[28] = 0.90231676774343358304053133;
13065 x[29] = 0.93869437261116835035583512;
13066 x[30] = 0.96682290968999276892837771;
13067 x[31] = 0.98645572623064248811037570;
13068 x[32] = 0.99742469424645521726616802;
13073 std::cerr <<
"LEGENDRE_LOOKUP_POINTS - Fatal error!\n";
13074 std::cerr <<
" Illegal value of N = " << n <<
"\n";
13075 std::cerr <<
" Legal values are 1 through 33.\n";
13145 w[0] = 2.000000000000000000000000000000;
13149 w[0] = 1.000000000000000000000000000000;
13150 w[1] = 1.000000000000000000000000000000;
13154 w[0] = 0.555555555555555555555555555556;
13155 w[1] = 0.888888888888888888888888888889;
13156 w[2] = 0.555555555555555555555555555556;
13160 w[0] = 0.347854845137453857373063949222;
13161 w[1] = 0.652145154862546142626936050778;
13162 w[2] = 0.652145154862546142626936050778;
13163 w[3] = 0.347854845137453857373063949222;
13167 w[0] = 0.236926885056189087514264040720;
13168 w[1] = 0.478628670499366468041291514836;
13169 w[2] = 0.568888888888888888888888888889;
13170 w[3] = 0.478628670499366468041291514836;
13171 w[4] = 0.236926885056189087514264040720;
13175 w[0] = 0.171324492379170345040296142173;
13176 w[1] = 0.360761573048138607569833513838;
13177 w[2] = 0.467913934572691047389870343990;
13178 w[3] = 0.467913934572691047389870343990;
13179 w[4] = 0.360761573048138607569833513838;
13180 w[5] = 0.171324492379170345040296142173;
13184 w[0] = 0.129484966168869693270611432679;
13185 w[1] = 0.279705391489276667901467771424;
13186 w[2] = 0.381830050505118944950369775489;
13187 w[3] = 0.417959183673469387755102040816;
13188 w[4] = 0.381830050505118944950369775489;
13189 w[5] = 0.279705391489276667901467771424;
13190 w[6] = 0.129484966168869693270611432679;
13194 w[0] = 0.101228536290376259152531354310;
13195 w[1] = 0.222381034453374470544355994426;
13196 w[2] = 0.313706645877887287337962201987;
13197 w[3] = 0.362683783378361982965150449277;
13198 w[4] = 0.362683783378361982965150449277;
13199 w[5] = 0.313706645877887287337962201987;
13200 w[6] = 0.222381034453374470544355994426;
13201 w[7] = 0.101228536290376259152531354310;
13205 w[0] = 0.081274388361574411971892158111;
13206 w[1] = 0.18064816069485740405847203124;
13207 w[2] = 0.26061069640293546231874286942;
13208 w[3] = 0.31234707704000284006863040658;
13209 w[4] = 0.33023935500125976316452506929;
13210 w[5] = 0.31234707704000284006863040658;
13211 w[6] = 0.26061069640293546231874286942;
13212 w[7] = 0.18064816069485740405847203124;
13213 w[8] = 0.081274388361574411971892158111;
13215 else if ( n == 10 )
13217 w[0] = 0.066671344308688137593568809893;
13218 w[1] = 0.14945134915058059314577633966;
13219 w[2] = 0.21908636251598204399553493423;
13220 w[3] = 0.26926671930999635509122692157;
13221 w[4] = 0.29552422471475287017389299465;
13222 w[5] = 0.29552422471475287017389299465;
13223 w[6] = 0.26926671930999635509122692157;
13224 w[7] = 0.21908636251598204399553493423;
13225 w[8] = 0.14945134915058059314577633966;
13226 w[9] = 0.066671344308688137593568809893;
13228 else if ( n == 11 )
13230 w[0] = 0.055668567116173666482753720443;
13231 w[1] = 0.12558036946490462463469429922;
13232 w[2] = 0.18629021092773425142609764143;
13233 w[3] = 0.23319376459199047991852370484;
13234 w[4] = 0.26280454451024666218068886989;
13235 w[5] = 0.27292508677790063071448352834;
13236 w[6] = 0.26280454451024666218068886989;
13237 w[7] = 0.23319376459199047991852370484;
13238 w[8] = 0.18629021092773425142609764143;
13239 w[9] = 0.12558036946490462463469429922;
13240 w[10] = 0.055668567116173666482753720443;
13242 else if ( n == 12 )
13244 w[0] = 0.047175336386511827194615961485;
13245 w[1] = 0.10693932599531843096025471819;
13246 w[2] = 0.16007832854334622633465252954;
13247 w[3] = 0.20316742672306592174906445581;
13248 w[4] = 0.23349253653835480876084989892;
13249 w[5] = 0.24914704581340278500056243604;
13250 w[6] = 0.24914704581340278500056243604;
13251 w[7] = 0.23349253653835480876084989892;
13252 w[8] = 0.20316742672306592174906445581;
13253 w[9] = 0.16007832854334622633465252954;
13254 w[10] = 0.10693932599531843096025471819;
13255 w[11] = 0.047175336386511827194615961485;
13257 else if ( n == 13 )
13259 w[0] = 0.040484004765315879520021592201;
13260 w[1] = 0.092121499837728447914421775954;
13261 w[2] = 0.13887351021978723846360177687;
13262 w[3] = 0.17814598076194573828004669200;
13263 w[4] = 0.20781604753688850231252321931;
13264 w[5] = 0.22628318026289723841209018604;
13265 w[6] = 0.23255155323087391019458951527;
13266 w[7] = 0.22628318026289723841209018604;
13267 w[8] = 0.20781604753688850231252321931;
13268 w[9] = 0.17814598076194573828004669200;
13269 w[10] = 0.13887351021978723846360177687;
13270 w[11] = 0.092121499837728447914421775954;
13271 w[12] = 0.040484004765315879520021592201;
13273 else if ( n == 14 )
13275 w[0] = 0.035119460331751863031832876138;
13276 w[1] = 0.08015808715976020980563327706;
13277 w[2] = 0.12151857068790318468941480907;
13278 w[3] = 0.15720316715819353456960193862;
13279 w[4] = 0.18553839747793781374171659013;
13280 w[5] = 0.20519846372129560396592406566;
13281 w[6] = 0.21526385346315779019587644332;
13282 w[7] = 0.21526385346315779019587644332;
13283 w[8] = 0.20519846372129560396592406566;
13284 w[9] = 0.18553839747793781374171659013;
13285 w[10] = 0.15720316715819353456960193862;
13286 w[11] = 0.12151857068790318468941480907;
13287 w[12] = 0.08015808715976020980563327706;
13288 w[13] = 0.035119460331751863031832876138;
13290 else if ( n == 15 )
13292 w[0] = 0.030753241996117268354628393577;
13293 w[1] = 0.070366047488108124709267416451;
13294 w[2] = 0.107159220467171935011869546686;
13295 w[3] = 0.13957067792615431444780479451;
13296 w[4] = 0.16626920581699393355320086048;
13297 w[5] = 0.18616100001556221102680056187;
13298 w[6] = 0.19843148532711157645611832644;
13299 w[7] = 0.20257824192556127288062019997;
13300 w[8] = 0.19843148532711157645611832644;
13301 w[9] = 0.18616100001556221102680056187;
13302 w[10] = 0.16626920581699393355320086048;
13303 w[11] = 0.13957067792615431444780479451;
13304 w[12] = 0.107159220467171935011869546686;
13305 w[13] = 0.070366047488108124709267416451;
13306 w[14] = 0.030753241996117268354628393577;
13308 else if ( n == 16 )
13310 w[0] = 0.027152459411754094851780572456;
13311 w[1] = 0.062253523938647892862843836994;
13312 w[2] = 0.09515851168249278480992510760;
13313 w[3] = 0.12462897125553387205247628219;
13314 w[4] = 0.14959598881657673208150173055;
13315 w[5] = 0.16915651939500253818931207903;
13316 w[6] = 0.18260341504492358886676366797;
13317 w[7] = 0.18945061045506849628539672321;
13318 w[8] = 0.18945061045506849628539672321;
13319 w[9] = 0.18260341504492358886676366797;
13320 w[10] = 0.16915651939500253818931207903;
13321 w[11] = 0.14959598881657673208150173055;
13322 w[12] = 0.12462897125553387205247628219;
13323 w[13] = 0.09515851168249278480992510760;
13324 w[14] = 0.062253523938647892862843836994;
13325 w[15] = 0.027152459411754094851780572456;
13327 else if ( n == 17 )
13329 w[0] = 0.024148302868547931960110026288;
13330 w[1] = 0.055459529373987201129440165359;
13331 w[2] = 0.085036148317179180883535370191;
13332 w[3] = 0.111883847193403971094788385626;
13333 w[4] = 0.13513636846852547328631998170;
13334 w[5] = 0.15404576107681028808143159480;
13335 w[6] = 0.16800410215645004450997066379;
13336 w[7] = 0.17656270536699264632527099011;
13337 w[8] = 0.17944647035620652545826564426;
13338 w[9] = 0.17656270536699264632527099011;
13339 w[10] = 0.16800410215645004450997066379;
13340 w[11] = 0.15404576107681028808143159480;
13341 w[12] = 0.13513636846852547328631998170;
13342 w[13] = 0.111883847193403971094788385626;
13343 w[14] = 0.085036148317179180883535370191;
13344 w[15] = 0.055459529373987201129440165359;
13345 w[16] = 0.024148302868547931960110026288;
13347 else if ( n == 18 )
13349 w[0] = 0.021616013526483310313342710266;
13350 w[1] = 0.049714548894969796453334946203;
13351 w[2] = 0.07642573025488905652912967762;
13352 w[3] = 0.10094204410628716556281398492;
13353 w[4] = 0.12255520671147846018451912680;
13354 w[5] = 0.14064291467065065120473130375;
13355 w[6] = 0.15468467512626524492541800384;
13356 w[7] = 0.16427648374583272298605377647;
13357 w[8] = 0.16914238296314359184065647013;
13358 w[9] = 0.16914238296314359184065647013;
13359 w[10] = 0.16427648374583272298605377647;
13360 w[11] = 0.15468467512626524492541800384;
13361 w[12] = 0.14064291467065065120473130375;
13362 w[13] = 0.12255520671147846018451912680;
13363 w[14] = 0.10094204410628716556281398492;
13364 w[15] = 0.07642573025488905652912967762;
13365 w[16] = 0.049714548894969796453334946203;
13366 w[17] = 0.021616013526483310313342710266;
13368 else if ( n == 19 )
13370 w[0] = 0.019461788229726477036312041464;
13371 w[1] = 0.044814226765699600332838157402;
13372 w[2] = 0.069044542737641226580708258006;
13373 w[3] = 0.091490021622449999464462094124;
13374 w[4] = 0.111566645547333994716023901682;
13375 w[5] = 0.12875396253933622767551578486;
13376 w[6] = 0.14260670217360661177574610944;
13377 w[7] = 0.15276604206585966677885540090;
13378 w[8] = 0.15896884339395434764995643946;
13379 w[9] = 0.16105444984878369597916362532;
13380 w[10] = 0.15896884339395434764995643946;
13381 w[11] = 0.15276604206585966677885540090;
13382 w[12] = 0.14260670217360661177574610944;
13383 w[13] = 0.12875396253933622767551578486;
13384 w[14] = 0.111566645547333994716023901682;
13385 w[15] = 0.091490021622449999464462094124;
13386 w[16] = 0.069044542737641226580708258006;
13387 w[17] = 0.044814226765699600332838157402;
13388 w[18] = 0.019461788229726477036312041464;
13390 else if ( n == 20 )
13392 w[0] = 0.017614007139152118311861962352;
13393 w[1] = 0.040601429800386941331039952275;
13394 w[2] = 0.062672048334109063569506535187;
13395 w[3] = 0.08327674157670474872475814322;
13396 w[4] = 0.10193011981724043503675013548;
13397 w[5] = 0.11819453196151841731237737771;
13398 w[6] = 0.13168863844917662689849449975;
13399 w[7] = 0.14209610931838205132929832507;
13400 w[8] = 0.14917298647260374678782873700;
13401 w[9] = 0.15275338713072585069808433195;
13402 w[10] = 0.15275338713072585069808433195;
13403 w[11] = 0.14917298647260374678782873700;
13404 w[12] = 0.14209610931838205132929832507;
13405 w[13] = 0.13168863844917662689849449975;
13406 w[14] = 0.11819453196151841731237737771;
13407 w[15] = 0.10193011981724043503675013548;
13408 w[16] = 0.08327674157670474872475814322;
13409 w[17] = 0.062672048334109063569506535187;
13410 w[18] = 0.040601429800386941331039952275;
13411 w[19] = 0.017614007139152118311861962352;
13413 else if ( n == 21 )
13415 w[ 0] = 0.016017228257774333324224616858;
13416 w[ 1] = 0.036953789770852493799950668299;
13417 w[ 2] = 0.057134425426857208283635826472;
13418 w[ 3] = 0.076100113628379302017051653300;
13419 w[ 4] = 0.093444423456033861553289741114;
13420 w[ 5] = 0.108797299167148377663474578070;
13421 w[ 6] = 0.12183141605372853419536717713;
13422 w[ 7] = 0.13226893863333746178105257450;
13423 w[ 8] = 0.13988739479107315472213342387;
13424 w[9] = 0.14452440398997005906382716655;
13425 w[10] = 0.14608113364969042719198514768;
13426 w[11] = 0.14452440398997005906382716655;
13427 w[12] = 0.13988739479107315472213342387;
13428 w[13] = 0.13226893863333746178105257450;
13429 w[14] = 0.12183141605372853419536717713;
13430 w[15] = 0.108797299167148377663474578070;
13431 w[16] = 0.093444423456033861553289741114;
13432 w[17] = 0.076100113628379302017051653300;
13433 w[18] = 0.057134425426857208283635826472;
13434 w[19] = 0.036953789770852493799950668299;
13435 w[20] = 0.016017228257774333324224616858;
13437 else if ( n == 22 )
13439 w[0] = 0.014627995298272200684991098047;
13440 w[1] = 0.033774901584814154793302246866;
13441 w[2] = 0.052293335152683285940312051273;
13442 w[3] = 0.06979646842452048809496141893;
13443 w[4] = 0.08594160621706772741444368137;
13444 w[5] = 0.10041414444288096493207883783;
13445 w[6] = 0.11293229608053921839340060742;
13446 w[7] = 0.12325237681051242428556098615;
13447 w[8] = 0.13117350478706237073296499253;
13448 w[9] = 0.13654149834601517135257383123;
13449 w[10] = 0.13925187285563199337541024834;
13450 w[11] = 0.13925187285563199337541024834;
13451 w[12] = 0.13654149834601517135257383123;
13452 w[13] = 0.13117350478706237073296499253;
13453 w[14] = 0.12325237681051242428556098615;
13454 w[15] = 0.11293229608053921839340060742;
13455 w[16] = 0.10041414444288096493207883783;
13456 w[17] = 0.08594160621706772741444368137;
13457 w[18] = 0.06979646842452048809496141893;
13458 w[19] = 0.052293335152683285940312051273;
13459 w[20] = 0.033774901584814154793302246866;
13460 w[21] = 0.014627995298272200684991098047;
13462 else if ( n == 23 )
13464 w[0] = 0.013411859487141772081309493459;
13465 w[1] = 0.030988005856979444310694219642;
13466 w[2] = 0.048037671731084668571641071632;
13467 w[3] = 0.064232421408525852127169615159;
13468 w[4] = 0.079281411776718954922892524742;
13469 w[5] = 0.092915766060035147477018617370;
13470 w[6] = 0.104892091464541410074086185015;
13471 w[7] = 0.11499664022241136494164351293;
13472 w[8] = 0.12304908430672953046757840067;
13473 w[9] = 0.12890572218808214997859533940;
13474 w[10] = 0.13246203940469661737164246470;
13475 w[11] = 0.13365457218610617535145711055;
13476 w[12] = 0.13246203940469661737164246470;
13477 w[13] = 0.12890572218808214997859533940;
13478 w[14] = 0.12304908430672953046757840067;
13479 w[15] = 0.11499664022241136494164351293;
13480 w[16] = 0.104892091464541410074086185015;
13481 w[17] = 0.092915766060035147477018617370;
13482 w[18] = 0.079281411776718954922892524742;
13483 w[19] = 0.064232421408525852127169615159;
13484 w[20] = 0.048037671731084668571641071632;
13485 w[21] = 0.030988005856979444310694219642;
13486 w[22] = 0.013411859487141772081309493459;
13488 else if ( n == 24 )
13490 w[0] = 0.012341229799987199546805667070;
13491 w[1] = 0.028531388628933663181307815952;
13492 w[2] = 0.044277438817419806168602748211;
13493 w[3] = 0.059298584915436780746367758500;
13494 w[4] = 0.07334648141108030573403361525;
13495 w[5] = 0.08619016153195327591718520298;
13496 w[6] = 0.09761865210411388826988066446;
13497 w[7] = 0.10744427011596563478257734245;
13498 w[8] = 0.11550566805372560135334448391;
13499 w[9] = 0.12167047292780339120446315348;
13500 w[10] = 0.12583745634682829612137538251;
13501 w[11] = 0.12793819534675215697405616522;
13502 w[12] = 0.12793819534675215697405616522;
13503 w[13] = 0.12583745634682829612137538251;
13504 w[14] = 0.12167047292780339120446315348;
13505 w[15] = 0.11550566805372560135334448391;
13506 w[16] = 0.10744427011596563478257734245;
13507 w[17] = 0.09761865210411388826988066446;
13508 w[18] = 0.08619016153195327591718520298;
13509 w[19] = 0.07334648141108030573403361525;
13510 w[20] = 0.059298584915436780746367758500;
13511 w[21] = 0.044277438817419806168602748211;
13512 w[22] = 0.028531388628933663181307815952;
13513 w[23] = 0.012341229799987199546805667070;
13515 else if ( n == 25 )
13517 w[0] = 0.0113937985010262879479029641132;
13518 w[1] = 0.026354986615032137261901815295;
13519 w[2] = 0.040939156701306312655623487712;
13520 w[3] = 0.054904695975835191925936891541;
13521 w[4] = 0.068038333812356917207187185657;
13522 w[5] = 0.080140700335001018013234959669;
13523 w[6] = 0.091028261982963649811497220703;
13524 w[7] = 0.100535949067050644202206890393;
13525 w[8] = 0.108519624474263653116093957050;
13526 w[9] = 0.11485825914571164833932554587;
13527 w[10] = 0.11945576353578477222817812651;
13528 w[11] = 0.12224244299031004168895951895;
13529 w[12] = 0.12317605372671545120390287308;
13530 w[13] = 0.12224244299031004168895951895;
13531 w[14] = 0.11945576353578477222817812651;
13532 w[15] = 0.11485825914571164833932554587;
13533 w[16] = 0.108519624474263653116093957050;
13534 w[17] = 0.100535949067050644202206890393;
13535 w[18] = 0.091028261982963649811497220703;
13536 w[19] = 0.080140700335001018013234959669;
13537 w[20] = 0.068038333812356917207187185657;
13538 w[21] = 0.054904695975835191925936891541;
13539 w[22] = 0.040939156701306312655623487712;
13540 w[23] = 0.026354986615032137261901815295;
13541 w[24] = 0.0113937985010262879479029641132;
13543 else if ( n == 26 )
13545 w[0] = 0.010551372617343007155651187685;
13546 w[1] = 0.024417851092631908789615827520;
13547 w[2] = 0.037962383294362763950303141249;
13548 w[3] = 0.050975825297147811998319900724;
13549 w[4] = 0.063274046329574835539453689907;
13550 w[5] = 0.07468414976565974588707579610;
13551 w[6] = 0.08504589431348523921044776508;
13552 w[7] = 0.09421380035591414846366488307;
13553 w[8] = 0.10205916109442542323841407025;
13554 w[9] = 0.10847184052857659065657942673;
13555 w[10] = 0.11336181654631966654944071844;
13556 w[11] = 0.11666044348529658204466250754;
13557 w[12] = 0.11832141527926227651637108570;
13558 w[13] = 0.11832141527926227651637108570;
13559 w[14] = 0.11666044348529658204466250754;
13560 w[15] = 0.11336181654631966654944071844;
13561 w[16] = 0.10847184052857659065657942673;
13562 w[17] = 0.10205916109442542323841407025;
13563 w[18] = 0.09421380035591414846366488307;
13564 w[19] = 0.08504589431348523921044776508;
13565 w[20] = 0.07468414976565974588707579610;
13566 w[21] = 0.063274046329574835539453689907;
13567 w[22] = 0.050975825297147811998319900724;
13568 w[23] = 0.037962383294362763950303141249;
13569 w[24] = 0.024417851092631908789615827520;
13570 w[25] = 0.010551372617343007155651187685;
13572 else if ( n == 27 )
13574 w[0] = 0.0097989960512943602611500550912;
13575 w[1] = 0.022686231596180623196034206447;
13576 w[2] = 0.035297053757419711022578289305;
13577 w[3] = 0.047449412520615062704096710114;
13578 w[4] = 0.058983536859833599110300833720;
13579 w[5] = 0.069748823766245592984322888357;
13580 w[6] = 0.079604867773057771263074959010;
13581 w[7] = 0.088423158543756950194322802854;
13582 w[8] = 0.096088727370028507565652646558;
13583 w[9] = 0.102501637817745798671247711533;
13584 w[10] = 0.107578285788533187212162984427;
13585 w[11] = 0.111252488356845192672163096043;
13586 w[12] = 0.113476346108965148620369948092;
13587 w[13] = 0.11422086737895698904504573690;
13588 w[14] = 0.113476346108965148620369948092;
13589 w[15] = 0.111252488356845192672163096043;
13590 w[16] = 0.107578285788533187212162984427;
13591 w[17] = 0.102501637817745798671247711533;
13592 w[18] = 0.096088727370028507565652646558;
13593 w[19] = 0.088423158543756950194322802854;
13594 w[20] = 0.079604867773057771263074959010;
13595 w[21] = 0.069748823766245592984322888357;
13596 w[22] = 0.058983536859833599110300833720;
13597 w[23] = 0.047449412520615062704096710114;
13598 w[24] = 0.035297053757419711022578289305;
13599 w[25] = 0.022686231596180623196034206447;
13600 w[26] = 0.0097989960512943602611500550912;
13602 else if ( n == 28 )
13604 w[0] = 0.009124282593094517738816153923;
13605 w[1] = 0.021132112592771259751500380993;
13606 w[2] = 0.032901427782304379977630819171;
13607 w[3] = 0.044272934759004227839587877653;
13608 w[4] = 0.055107345675716745431482918227;
13609 w[5] = 0.06527292396699959579339756678;
13610 w[6] = 0.07464621423456877902393188717;
13611 w[7] = 0.08311341722890121839039649824;
13612 w[8] = 0.09057174439303284094218603134;
13613 w[9] = 0.09693065799792991585048900610;
13614 w[10] = 0.10211296757806076981421663851;
13615 w[11] = 0.10605576592284641791041643700;
13616 w[12] = 0.10871119225829413525357151930;
13617 w[13] = 0.11004701301647519628237626560;
13618 w[14] = 0.11004701301647519628237626560;
13619 w[15] = 0.10871119225829413525357151930;
13620 w[16] = 0.10605576592284641791041643700;
13621 w[17] = 0.10211296757806076981421663851;
13622 w[18] = 0.09693065799792991585048900610;
13623 w[19] = 0.09057174439303284094218603134;
13624 w[20] = 0.08311341722890121839039649824;
13625 w[21] = 0.07464621423456877902393188717;
13626 w[22] = 0.06527292396699959579339756678;
13627 w[23] = 0.055107345675716745431482918227;
13628 w[24] = 0.044272934759004227839587877653;
13629 w[25] = 0.032901427782304379977630819171;
13630 w[26] = 0.021132112592771259751500380993;
13631 w[27] = 0.009124282593094517738816153923;
13633 else if ( n == 29 )
13635 w[0] = 0.0085169038787464096542638133022;
13636 w[1] = 0.019732085056122705983859801640;
13637 w[2] = 0.030740492202093622644408525375;
13638 w[3] = 0.041402062518682836104830010114;
13639 w[4] = 0.051594826902497923912594381180;
13640 w[5] = 0.061203090657079138542109848024;
13641 w[6] = 0.070117933255051278569581486949;
13642 w[7] = 0.078238327135763783828144888660;
13643 w[8] = 0.085472257366172527545344849297;
13644 w[9] = 0.091737757139258763347966411077;
13645 w[10] = 0.096963834094408606301900074883;
13646 w[11] = 0.101091273759914966121820546907;
13647 w[12] = 0.104073310077729373913328471285;
13648 w[13] = 0.105876155097320941406591327852;
13649 w[14] = 0.10647938171831424424651112691;
13650 w[15] = 0.105876155097320941406591327852;
13651 w[16] = 0.104073310077729373913328471285;
13652 w[17] = 0.101091273759914966121820546907;
13653 w[18] = 0.096963834094408606301900074883;
13654 w[19] = 0.091737757139258763347966411077;
13655 w[20] = 0.085472257366172527545344849297;
13656 w[21] = 0.078238327135763783828144888660;
13657 w[22] = 0.070117933255051278569581486949;
13658 w[23] = 0.061203090657079138542109848024;
13659 w[24] = 0.051594826902497923912594381180;
13660 w[25] = 0.041402062518682836104830010114;
13661 w[26] = 0.030740492202093622644408525375;
13662 w[27] = 0.019732085056122705983859801640;
13663 w[28] = 0.0085169038787464096542638133022;
13665 else if ( n == 30 )
13667 w[0] = 0.007968192496166605615465883475;
13668 w[1] = 0.018466468311090959142302131912;
13669 w[2] = 0.028784707883323369349719179611;
13670 w[3] = 0.038799192569627049596801936446;
13671 w[4] = 0.048402672830594052902938140423;
13672 w[5] = 0.057493156217619066481721689402;
13673 w[6] = 0.06597422988218049512812851512;
13674 w[7] = 0.07375597473770520626824385002;
13675 w[8] = 0.08075589522942021535469493846;
13676 w[9] = 0.08689978720108297980238753072;
13677 w[10] = 0.09212252223778612871763270709;
13678 w[11] = 0.09636873717464425963946862635;
13679 w[12] = 0.09959342058679526706278028210;
13680 w[13] = 0.10176238974840550459642895217;
13681 w[14] = 0.10285265289355884034128563671;
13682 w[15] = 0.10285265289355884034128563671;
13683 w[16] = 0.10176238974840550459642895217;
13684 w[17] = 0.09959342058679526706278028210;
13685 w[18] = 0.09636873717464425963946862635;
13686 w[19] = 0.09212252223778612871763270709;
13687 w[20] = 0.08689978720108297980238753072;
13688 w[21] = 0.08075589522942021535469493846;
13689 w[22] = 0.07375597473770520626824385002;
13690 w[23] = 0.06597422988218049512812851512;
13691 w[24] = 0.057493156217619066481721689402;
13692 w[25] = 0.048402672830594052902938140423;
13693 w[26] = 0.038799192569627049596801936446;
13694 w[27] = 0.028784707883323369349719179611;
13695 w[28] = 0.018466468311090959142302131912;
13696 w[29] = 0.007968192496166605615465883475;
13698 else if ( n == 31 )
13700 w[0] = 0.0074708315792487758586968750322;
13701 w[1] = 0.017318620790310582463157996087;
13702 w[2] = 0.027009019184979421800608708092;
13703 w[3] = 0.036432273912385464024392010468;
13704 w[4] = 0.045493707527201102902315857895;
13705 w[5] = 0.054103082424916853711666259087;
13706 w[6] = 0.062174786561028426910343543687;
13707 w[7] = 0.069628583235410366167756126255;
13708 w[8] = 0.076390386598776616426357674901;
13709 w[9] = 0.082392991761589263903823367432;
13710 w[10] = 0.087576740608477876126198069695;
13711 w[11] = 0.091890113893641478215362871607;
13712 w[12] = 0.095290242912319512807204197488;
13713 w[13] = 0.097743335386328725093474010979;
13714 w[14] = 0.099225011226672307874875514429;
13715 w[15] = 0.09972054479342645142753383373;
13716 w[16] = 0.099225011226672307874875514429;
13717 w[17] = 0.097743335386328725093474010979;
13718 w[18] = 0.095290242912319512807204197488;
13719 w[19] = 0.091890113893641478215362871607;
13720 w[20] = 0.087576740608477876126198069695;
13721 w[21] = 0.082392991761589263903823367432;
13722 w[22] = 0.076390386598776616426357674901;
13723 w[23] = 0.069628583235410366167756126255;
13724 w[24] = 0.062174786561028426910343543687;
13725 w[25] = 0.054103082424916853711666259087;
13726 w[26] = 0.045493707527201102902315857895;
13727 w[27] = 0.036432273912385464024392010468;
13728 w[28] = 0.027009019184979421800608708092;
13729 w[29] = 0.017318620790310582463157996087;
13730 w[30] = 0.0074708315792487758586968750322;
13732 else if ( n == 32 )
13734 w[0] = 0.007018610009470096600407063739;
13735 w[1] = 0.016274394730905670605170562206;
13736 w[2] = 0.025392065309262059455752589789;
13737 w[3] = 0.034273862913021433102687732252;
13738 w[4] = 0.042835898022226680656878646606;
13739 w[5] = 0.050998059262376176196163244690;
13740 w[6] = 0.058684093478535547145283637300;
13741 w[7] = 0.06582222277636184683765006371;
13742 w[8] = 0.07234579410884850622539935648;
13743 w[9] = 0.07819389578707030647174091883;
13744 w[10] = 0.08331192422694675522219907460;
13745 w[11] = 0.08765209300440381114277146275;
13746 w[12] = 0.09117387869576388471286857711;
13747 w[13] = 0.09384439908080456563918023767;
13748 w[14] = 0.09563872007927485941908200220;
13749 w[15] = 0.09654008851472780056676483006;
13750 w[16] = 0.09654008851472780056676483006;
13751 w[17] = 0.09563872007927485941908200220;
13752 w[18] = 0.09384439908080456563918023767;
13753 w[19] = 0.09117387869576388471286857711;
13754 w[20] = 0.08765209300440381114277146275;
13755 w[21] = 0.08331192422694675522219907460;
13756 w[22] = 0.07819389578707030647174091883;
13757 w[23] = 0.07234579410884850622539935648;
13758 w[24] = 0.06582222277636184683765006371;
13759 w[25] = 0.058684093478535547145283637300;
13760 w[26] = 0.050998059262376176196163244690;
13761 w[27] = 0.042835898022226680656878646606;
13762 w[28] = 0.034273862913021433102687732252;
13763 w[29] = 0.025392065309262059455752589789;
13764 w[30] = 0.016274394730905670605170562206;
13765 w[31] = 0.007018610009470096600407063739;
13767 else if ( n == 33 )
13769 w[0] = 0.0066062278475873780586492352085;
13770 w[1] = 0.015321701512934676127945768534;
13771 w[2] = 0.023915548101749480350533257529;
13772 w[3] = 0.032300358632328953281561447250;
13773 w[4] = 0.040401541331669591563409790527;
13774 w[5] = 0.048147742818711695670146880138;
13775 w[6] = 0.055470846631663561284944495439;
13776 w[7] = 0.062306482530317480031627725771;
13777 w[8] = 0.068594572818656712805955073015;
13778 w[9] = 0.074279854843954149342472175919;
13779 w[10] = 0.079312364794886738363908384942;
13780 w[11] = 0.083647876067038707613928014518;
13781 w[12] = 0.087248287618844337607281670945;
13782 w[13] = 0.090081958660638577239743705500;
13783 w[14] = 0.092123986643316846213240977717;
13784 w[15] = 0.093356426065596116160999126274;
13785 w[16] = 0.09376844616020999656730454155;
13786 w[17] = 0.093356426065596116160999126274;
13787 w[18] = 0.092123986643316846213240977717;
13788 w[19] = 0.090081958660638577239743705500;
13789 w[20] = 0.087248287618844337607281670945;
13790 w[21] = 0.083647876067038707613928014518;
13791 w[22] = 0.079312364794886738363908384942;
13792 w[23] = 0.074279854843954149342472175919;
13793 w[24] = 0.068594572818656712805955073015;
13794 w[25] = 0.062306482530317480031627725771;
13795 w[26] = 0.055470846631663561284944495439;
13796 w[27] = 0.048147742818711695670146880138;
13797 w[28] = 0.040401541331669591563409790527;
13798 w[29] = 0.032300358632328953281561447250;
13799 w[30] = 0.023915548101749480350533257529;
13800 w[31] = 0.015321701512934676127945768534;
13801 w[32] = 0.0066062278475873780586492352085;
13806 std::cerr <<
"LEGENDRE_LOOKUP_WEIGHTS - Fatal error!\n";
13807 std::cerr <<
" Illegal value of N = " << n <<
"\n";
13808 std::cerr <<
" Legal values are 1 through 33.\n";
13870 double pi = 3.141592653589793;
13881 xtab =
new double[order];
13883 e1 = ( double ) ( order * ( order + 1 ) );
13885 m = ( order + 1 ) / 2;
13887 for ( i = 1; i <= m; i++ )
13891 t = ( double ) ( 4 * i - 1 ) * pi / ( double ) ( 4 * order + 2 );
13893 x0 = std::cos ( t ) * ( 1.0 - ( 1.0 - 1.0 / ( double ) ( order ) )
13894 / (
double ) ( 8 * order * order ) );
13899 for ( k = 2; k <= order; k++ )
13901 pkp1 = 2.0 * x0 * pk - pkm1 - ( x0 * pk - pkm1 ) / (
double ) ( k );
13906 d1 = ( double ) ( order ) * ( pkm1 - x0 * pk );
13908 dpn = d1 / ( 1.0 - x0 * x0 );
13910 d2pn = ( 2.0 * x0 * dpn - e1 * pk ) / ( 1.0 - x0 * x0 );
13912 d3pn = ( 4.0 * x0 * d2pn + ( 2.0 - e1 ) * dpn ) / ( 1.0 - x0 * x0 );
13914 d4pn = ( 6.0 * x0 * d3pn + ( 6.0 - e1 ) * d2pn ) / ( 1.0 - x0 * x0 );
13921 h = - u * ( 1.0 + 0.5 * u * ( v + u * ( v * v - d3pn / ( 3.0 * dpn ) ) ) );
13925 p = pk + h * ( dpn + 0.5 * h * ( d2pn + h / 3.0
13926 * ( d3pn + 0.25 * h * d4pn ) ) );
13928 dp = dpn + h * ( d2pn + 0.5 * h * ( d3pn + h * d4pn / 3.0 ) );
13934 xtab[mp1mi-1] = xtemp;
13940 if ( ( order % 2 ) == 1 )
13947 nmove = ( order + 1 ) / 2;
13948 ncopy = order - nmove;
13950 for ( i = 1; i <= nmove; i++ )
13952 iback = order + 1 - i;
13953 xtab[iback-1] = xtab[iback-ncopy-1];
13958 for ( i = 1; i <= order - nmove; i++ )
13960 xtab[i-1] = - xtab[order-i];
13968 int growth[],
int order[] )
14034 static int o_hgk[6] = { 1, 3, 9, 19, 35, 43 };
14036 static int p_hgk[6] = { 1, 5, 15, 29, 51, 67 };
14040 for ( dim = 0; dim < dim_num; dim++ )
14042 if ( level[dim] < 0 )
14045 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14046 std::cerr <<
" Negative value of LEVEL[DIM]!\n";
14047 std::cerr <<
" LEVEL[" << dim <<
"] = " << level[dim] <<
"\n";
14051 if ( rule[dim] < 1 || 12 < rule[dim] )
14054 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14055 std::cerr <<
" Illegal value of RULE[DIM]!\n";
14056 std::cerr <<
" RULE[" << dim <<
"] = " << rule[dim] <<
"\n";
14060 if ( growth[dim] < 0 || 6 < growth[dim] )
14063 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14064 std::cerr <<
" Illegal value of GROWTH[DIM]!\n";
14065 std::cerr <<
" GROWTH[" << dim <<
"] = " << growth[dim] <<
"\n";
14072 for ( dim = 0; dim < dim_num; dim++ )
14078 if ( rule[dim] == 1 )
14080 if ( growth[dim] == 1 )
14082 o = level[dim] + 1;
14084 else if ( growth[dim] == 2 )
14086 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14088 else if ( growth[dim] == 3 )
14090 o = 2 * level[dim] + 1;
14092 else if ( growth[dim] == 4 )
14094 if ( level[dim] == 0 )
14101 while ( o < 2 * level[dim] + 1 )
14103 o = 2 * ( o - 1 ) + 1;
14107 else if ( growth[dim] == 5 || growth[dim] == 0 )
14109 if ( level[dim] == 0 )
14116 while ( o < 4 * level[dim] + 1 )
14118 o = 2 * ( o - 1 ) + 1;
14122 else if ( growth[dim] == 6 )
14124 if ( level[dim] == 0 )
14130 o =
i4_power ( 2, level[dim] ) + 1;
14138 else if ( rule[dim] == 2 )
14140 if ( growth[dim] == 1 )
14142 o = level[dim] + 1;
14144 else if ( growth[dim] == 2 )
14146 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14148 else if ( growth[dim] == 3 )
14150 o = 2 * level[dim] + 1;
14152 else if ( growth[dim] == 4 )
14155 while ( o < 2 * level[dim] + 1 )
14160 else if ( growth[dim] == 5 || growth[dim] == 0 )
14163 while ( o < 4 * level[dim] + 1 )
14168 else if ( growth[dim] == 6 )
14170 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14177 else if ( rule[dim] == 3 )
14179 if ( growth[dim] == 1 )
14182 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14183 std::cerr <<
" Growth rate 1 for rule 3 not available!\n";
14186 else if ( growth[dim] == 2 )
14189 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14190 std::cerr <<
" Growth rate 2 for rule 3 not available!\n";
14193 else if ( growth[dim] == 3 )
14196 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14197 std::cerr <<
" Growth rate 3 for rule 3 not available!\n";
14200 else if ( growth[dim] == 4 )
14202 if ( level[dim] == 0 )
14210 while ( p < 2 * level[dim] + 1 )
14217 else if ( growth[dim] == 5 || growth[dim] == 0 )
14219 if ( level[dim] == 0 )
14227 while ( p < 4 * level[dim] + 1 )
14234 else if ( growth[dim] == 6 )
14236 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14243 else if ( rule[dim] == 4 )
14245 if ( growth[dim] == 1 )
14247 o = level[dim] + 1;
14249 else if ( growth[dim] == 2 )
14251 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14253 else if ( growth[dim] == 3 || growth[dim] == 0 )
14255 o = 2 * level[dim] + 1;
14257 else if ( growth[dim] == 4 )
14260 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14265 else if ( growth[dim] == 5 )
14268 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14273 else if ( growth[dim] == 6 )
14275 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14282 else if ( rule[dim] == 5 )
14284 if ( growth[dim] == 1 )
14286 o = level[dim] + 1;
14288 else if ( growth[dim] == 2 )
14290 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14292 else if ( growth[dim] == 3 || growth[dim] == 0 )
14294 o = 2 * level[dim] + 1;
14296 else if ( growth[dim] == 4 )
14299 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14304 else if ( growth[dim] == 5 )
14307 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14312 else if ( growth[dim] == 6 )
14314 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14321 else if ( rule[dim] == 6 )
14323 if ( growth[dim] == 1 )
14325 o = level[dim] + 1;
14327 else if ( growth[dim] == 2 )
14329 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14331 else if ( growth[dim] == 3 || growth[dim] == 0 )
14333 o = 2 * level[dim] + 1;
14335 else if ( growth[dim] == 4 )
14338 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14343 else if ( growth[dim] == 5 )
14346 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14351 else if ( growth[dim] == 6 )
14353 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14360 else if ( rule[dim] == 7 )
14362 if ( growth[dim] == 1 )
14364 o = level[dim] + 1;
14366 else if ( growth[dim] == 2 )
14368 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14370 else if ( growth[dim] == 3 || growth[dim] == 0 )
14372 o = 2 * level[dim] + 1;
14374 else if ( growth[dim] == 4 )
14377 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14382 else if ( growth[dim] == 5 )
14385 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14390 else if ( growth[dim] == 6 )
14392 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14399 else if ( rule[dim] == 8 )
14401 if ( growth[dim] == 1 )
14403 o = level[dim] + 1;
14405 else if ( growth[dim] == 2 )
14407 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14409 else if ( growth[dim] == 3 || growth[dim] == 0 )
14411 o = 2 * level[dim] + 1;
14413 else if ( growth[dim] == 4 )
14416 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14421 else if ( growth[dim] == 5 )
14424 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14429 else if ( growth[dim] == 6 )
14431 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14438 else if ( rule[dim] == 9 )
14440 if ( growth[dim] == 1 )
14442 o = level[dim] + 1;
14444 else if ( growth[dim] == 2 )
14446 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14448 else if ( growth[dim] == 3 || growth[dim] == 0 )
14450 o = 2 * level[dim] + 1;
14452 else if ( growth[dim] == 4 )
14455 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14460 else if ( growth[dim] == 5 )
14463 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14468 else if ( growth[dim] == 6 )
14470 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14478 else if ( rule[dim] == 10 )
14480 if ( growth[dim] == 1 )
14483 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14484 std::cerr <<
" Growth rate 1 for rule 10 not available!\n";
14487 else if ( growth[dim] == 2 )
14490 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14491 std::cerr <<
" Growth rate 2 for rule 10 not available!\n";
14494 else if ( growth[dim] == 3 )
14497 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14498 std::cerr <<
" Growth rate 3 for rule 10 not available!\n";
14501 else if ( growth[dim] == 4 )
14506 while ( p < 2 * level[dim] + 1 )
14512 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14513 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
14520 else if ( growth[dim] == 5 || growth[dim] == 0 )
14525 while ( p < 4 * level[dim] + 1 )
14531 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14532 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
14539 else if ( growth[dim] == 6 )
14546 std::cerr <<
"LEVEL_GROWTH_TO_ORDER - Fatal error!\n";
14547 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
14559 else if ( rule[dim] == 11 )
14561 if ( growth[dim] == 1 )
14563 o = level[dim] + 1;
14565 else if ( growth[dim] == 2 )
14567 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14569 else if ( growth[dim] == 3 || growth[dim] == 0 )
14571 o = 2 * level[dim] + 1;
14573 else if ( growth[dim] == 4 )
14576 while ( 2 * o - 1 < 2 * level[dim] + 1 )
14581 else if ( growth[dim] == 5 )
14584 while ( 2 * o - 1 < 4 * level[dim] + 1 )
14589 else if ( growth[dim] == 6 )
14591 o =
i4_power ( 2, level[dim] + 1 ) - 1;
14600 else if ( rule[dim] == 12 )
14602 if ( growth[dim] == 1 )
14604 o = level[dim] + 1;
14606 else if ( growth[dim] == 2 )
14608 o = 2 * ( ( level[dim] + 1 ) / 2 ) + 1;
14610 else if ( growth[dim] == 3 || growth[dim] == 0 )
14612 o = 2 * level[dim] + 1;
14614 else if ( growth[dim] == 4 )
14616 if ( level[dim] == 0 )
14623 while ( o < 2 * level[dim] + 1 )
14625 o = 2 * ( o - 1 ) + 1;
14629 else if ( growth[dim] == 5 )
14631 if ( level[dim] == 0 )
14638 while ( o < 4 * level[dim] + 1 )
14640 o = 2 * ( o - 1 ) + 1;
14644 else if ( growth[dim] == 6 )
14646 if ( level[dim] == 0 )
14652 o =
i4_power ( 2, level[dim] ) + 1;
14731 for ( dim = 0; dim < dim_num; dim++ )
14733 if ( level[dim] < 0 )
14736 std::cerr <<
"LEVEL_TO_ORDER_DEFAULT - Fatal error!\n";
14737 std::cerr <<
" Negative value of LEVEL[DIM]!\n";
14738 std::cerr <<
" LEVEL[" << dim <<
"] = " << level[dim] <<
"\n";
14741 else if ( rule[dim] == 1 )
14743 if ( level[dim] == 0 )
14749 order[dim] =
i4_power ( 2, level[dim] ) + 1;
14752 else if ( rule[dim] == 2 )
14754 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14756 else if ( rule[dim] == 3 )
14758 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14760 else if ( rule[dim] == 4 )
14762 order[dim] = 2 * level[dim] + 1;
14764 else if ( rule[dim] == 5 )
14766 order[dim] = 2 * level[dim] + 1;
14768 else if ( rule[dim] == 6 )
14770 order[dim] = 2 * level[dim] + 1;
14772 else if ( rule[dim] == 7 )
14774 order[dim] = 2 * level[dim] + 1;
14776 else if ( rule[dim] == 8 )
14778 order[dim] = 2 * level[dim] + 1;
14780 else if ( rule[dim] == 9 )
14782 order[dim] = 2 * level[dim] + 1;
14784 else if ( rule[dim] == 10 )
14786 order[dim] = 2 * level[dim] + 1;
14788 else if ( rule[dim] == 11 )
14790 if ( level[dim] == 0 )
14797 while ( o < 2 * level[dim] + 1 )
14799 o = 2 * ( o - 1 ) + 1;
14804 else if ( rule[dim] == 12 )
14807 while ( o < 2 * level[dim] + 1 )
14813 else if ( rule[dim] == 13 )
14815 if ( level[dim] == 0 )
14823 while ( p < 2 * level[dim] + 1 )
14831 else if ( rule[dim] == 14 )
14833 if ( level[dim] == 0 )
14840 while ( o < 4 * level[dim] + 1 )
14842 o = 2 * ( o - 1 ) + 1;
14847 else if ( rule[dim] == 15 )
14850 while ( o < 4 * level[dim] + 1 )
14856 else if ( rule[dim] == 16 )
14858 if ( level[dim] == 0 )
14866 while ( p < 4 * level[dim] + 1 )
14874 else if ( rule[dim] == 17 )
14876 order[dim] = 2 * level[dim] + 1;
14881 std::cerr <<
"LEVEL_TO_ORDER_DEFAULT - Fatal error!\n";
14882 std::cerr <<
" Unexpected value of RULE["
14883 << dim <<
"] = " << rule[dim] <<
".\n";
14959 for ( dim = 0; dim < dim_num; dim++ )
14961 if ( level[dim] < 0 )
14964 std::cerr <<
"LEVEL_TO_ORDER_EXPONENTIAL - Fatal error!\n";
14965 std::cerr <<
" Negative value of LEVEL[DIM]!\n";
14966 std::cerr <<
" LEVEL[" << dim <<
"] = " << level[dim] <<
"\n";
14969 else if ( rule[dim] == 1 )
14971 if ( level[dim] == 0 )
14977 order[dim] =
i4_power ( 2, level[dim] ) + 1;
14980 else if ( rule[dim] == 2 )
14982 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14984 else if ( rule[dim] == 3 )
14986 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14988 else if ( rule[dim] == 4 )
14990 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14992 else if ( rule[dim] == 5 )
14994 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
14996 else if ( rule[dim] == 6 )
14998 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15000 else if ( rule[dim] == 7 )
15002 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15004 else if ( rule[dim] == 8 )
15006 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15008 else if ( rule[dim] == 9 )
15010 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15012 else if ( rule[dim] == 10 )
15014 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15016 else if ( rule[dim] == 11 )
15018 if ( level[dim] == 0 )
15024 order[dim] =
i4_power ( 2, level[dim] ) + 1;
15027 else if ( rule[dim] == 12 )
15029 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15031 else if ( rule[dim] == 13 )
15033 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15035 else if ( rule[dim] == 14 )
15037 if ( level[dim] == 0 )
15043 order[dim] =
i4_power ( 2, level[dim] ) + 1;
15046 else if ( rule[dim] == 15 )
15048 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15050 else if ( rule[dim] == 16 )
15052 order[dim] =
i4_power ( 2, level[dim] + 1 ) - 1;
15054 else if ( rule[dim] == 17 )
15056 order[dim] =
i4_power ( 2, level[dim] + 1 );
15061 std::cerr <<
"LEVEL_TO_ORDER_EXPONENTIAL - Fatal error!\n";
15062 std::cerr <<
" Unexpected value of RULE["
15063 << dim <<
"] = " << rule[dim] <<
".\n";
15184 for ( dim = 0; dim < dim_num; dim++ )
15186 if ( level[dim] < 0 )
15189 std::cerr <<
"LEVEL_TO_ORDER_EXPONENTIAL_SLOW - Fatal error!\n";
15190 std::cerr <<
" Negative value of LEVEL[DIM]!\n";
15191 std::cerr <<
" LEVEL[" << dim <<
"] = " << level[dim] <<
"\n";
15196 for ( dim = 0; dim < dim_num; dim++ )
15198 if ( rule[dim] == 1 || rule[dim] == 11 || rule[dim] == 14 || rule[dim] == 17 )
15200 if ( level[dim] == 0 )
15207 while ( o < 2 * level[dim] + 1 )
15209 o = 2 * ( o - 1 ) + 1;
15213 else if ( rule[dim] == 3 || rule[dim] == 13 || rule[dim] == 16 )
15215 if ( level[dim] == 0 )
15223 while ( p < 2 * level[dim] + 1 )
15233 while ( o < 2 * level[dim] + 1 )
15304 for ( dim = 0; dim < dim_num; dim++ )
15306 if ( level[dim] < 0 )
15309 std::cerr <<
"LEVEL_TO_ORDER_LINEAR - Fatal error!\n";
15310 std::cerr <<
" Negative value of LEVEL[DIM]!\n";
15311 std::cerr <<
" LEVEL[" << dim <<
"] = " << level[dim] <<
"\n";
15316 for ( dim = 0; dim < dim_num; dim++ )
15318 order[dim] = 2 * level[dim] + 1;
15393 while ( o < 2 * level + 1 )
15395 o = 2 * ( o - 1 ) + 1;
15402 else if ( growth == 1 )
15411 while ( o < 4 * level + 1 )
15413 o = 2 * ( o - 1 ) + 1;
15420 else if ( growth == 2 )
15434 std::cerr <<
"LEVEL_TO_ORDER_EXP_CC - Fatal error!\n";
15435 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
15508 while ( o < 2 * level + 1 )
15517 else if ( growth == 1 )
15526 while ( o < 4 * level + 1 )
15535 else if ( growth == 2 )
15543 o =
i4_power ( 2, level + 1 ) - 1;
15549 std::cerr <<
"LEVEL_TO_ORDER_EXP_F2 - Fatal error!\n";
15550 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
15621 while ( 2 * o - 1 < 2 * level + 1 )
15630 else if ( growth == 1 )
15639 while ( 2 * o - 1 < 4 * level + 1 )
15648 else if ( growth == 2 )
15656 o =
i4_power ( 2, level + 1 ) - 1;
15662 std::cerr <<
"LEVEL_TO_ORDER_EXP_GAUSS - Fatal error!\n";
15663 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
15739 while ( p < 2 * level + 1 )
15746 std::cerr <<
"LEVEL_TO_ORDER_EXP_GP - Fatal error!\n";
15747 std::cerr <<
" Request for unavailable Patterson rule.\n";
15756 else if ( growth == 1 )
15766 while ( p < 4 * level + 1 )
15773 std::cerr <<
"LEVEL_TO_ORDER_EXP_GP - Fatal error!\n";
15774 std::cerr <<
" Request for unavailable Patterson rule.\n";
15783 else if ( growth == 2 )
15791 o =
i4_power ( 2, level + 1 ) - 1;
15795 std::cerr <<
"LEVEL_TO_ORDER_EXP_GP - Fatal error!\n";
15796 std::cerr <<
" Request for unavailable Patterson rule.\n";
15804 std::cerr <<
"LEVEL_TO_ORDER_EXP_GP - Fatal error!\n";
15805 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
15868 static int o_hgk[6] = { 1, 3, 9, 19, 35, 43 };
15870 static int p_hgk[6] = { 1, 5, 15, 29, 51, 67 };
15879 while ( p < 2 * level + 1 )
15885 std::cerr <<
"LEVEL_TO_ORDER_EXP_HGK - Fatal error!\n";
15886 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
15893 else if ( growth == 1 )
15898 while ( p < 4 * level + 1 )
15904 std::cerr <<
"LEVEL_TO_ORDER_EXP_HGK - Fatal error!\n";
15905 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
15912 else if ( growth == 2 )
15919 std::cerr <<
"LEVEL_TO_ORDER_EXP_HGK - Fatal error!\n";
15920 std::cerr <<
" Hermite Genz-Keister maximum level exceeded.\n";
15928 std::cerr <<
"LEVEL_TO_ORDER_EXP_HGK - Fatal error!\n";
15929 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
15997 else if ( growth == 1 )
16001 else if ( growth == 2 )
16008 std::cerr <<
"LEVEL_TO_ORDER_LINEAR_NN - Fatal error!\n";
16009 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
16077 o = 2 * ( ( level + 1 ) / 2 ) + 1;
16079 else if ( growth == 1 )
16083 else if ( growth == 2 )
16090 std::cerr <<
"LEVEL_TO_ORDER_LINEAR_WN - Fatal error!\n";
16091 std::cerr <<
" Illegal value of GROWTH = " << growth <<
"\n";
16153 for ( i = 0; i < n; i++ )
16159 for ( j = 0; j < n; j++ )
16165 for ( j = 2; j <= n; j++ )
16167 for ( k = j; k <= n; k++ )
16169 d[n+j-k-1] = ( d[n+j-k-1-1] - d[n+j-k-1] ) / ( x[n+1-k-1] - x[n+j-k-1] );
16173 for ( j = 1; j <= n - 1; j++ )
16175 for ( k = 1; k <= n - j; k++ )
16177 d[n-k-1] = d[n-k-1] - x[n-k-j] * d[n-k];
16184 yvala = d[n-1] / ( double ) ( n );
16185 for ( j = n - 2; 0 <= j; j-- )
16187 yvala = yvala * x_min + d[j] / ( double ) ( j + 1 );
16189 yvala = yvala * x_min;
16191 yvalb = d[n-1] / ( double ) ( n );
16192 for ( j = n - 2; 0 <= j; j-- )
16194 yvalb = yvalb * x_max + d[j] / ( double ) ( j + 1 );
16196 yvalb = yvalb * x_max;
16198 w[i] = yvalb - yvala;
16263 for ( i = 0; i < n; i++ )
16269 for ( j = 0; j < n; j++ )
16275 for ( j = 2; j <= n; j++ )
16277 for ( k = j; k <= n; k++ )
16279 d[n+j-k-1] = ( d[n+j-k-1-1] - d[n+j-k-1] ) / ( x[n+1-k-1] - x[n+j-k-1] );
16283 for ( j = 1; j <= n - 1; j++ )
16285 for ( k = 1; k <= n - j; k++ )
16287 d[n-k-1] = d[n-k-1] - x[n-k-j] * d[n-k];
16294 yvala = d[n-1] / ( double ) ( n );
16295 for ( j = n - 2; 0 <= j; j-- )
16297 yvala = yvala * x_min + d[j] / ( double ) ( j + 1 );
16299 yvala = yvala * x_min;
16301 yvalb = d[n-1] / ( double ) ( n );
16302 for ( j = n - 2; 0 <= j; j-- )
16304 yvalb = yvalb * x_max + d[j] / ( double ) ( j + 1 );
16306 yvalb = yvalb * x_max;
16308 w[i] = yvalb - yvala;
16345 double x_max = 1.0;
16346 double x_min = -1.0;
16350 x[0] = ( x_max + x_min ) / 2.0;
16354 for ( i = 0; i < n; i++ )
16356 x[i] = ( ( double ) ( n - i - 1 ) * x_min
16357 + ( double ) ( i ) * x_max )
16358 / (
double ) ( n - 1 );
16394 double x_max = 1.0;
16395 double x_min = -1.0;
16399 w[0] = x_max - x_min;
16405 for ( i = 0; i < n; i++ )
16407 x[i] = ( ( double ) ( n - i - 1 ) * x_min
16408 + ( double ) ( i ) * x_max )
16409 / (
double ) ( n - 1 );
16447 double x_max = 1.0;
16448 double x_min = -1.0;
16450 for ( i = 0; i < n; i++ )
16452 x[i] = ( ( double ) ( n - i ) * x_min
16453 + ( double ) ( + i + 1 ) * x_max )
16454 / (
double ) ( n + 1 );
16490 double x_max = 1.0;
16491 double x_min = -1.0;
16538 const double x_max = 1.0;
16539 const double x_min = -1.0;
16541 for ( i = 0; i < n; i++ )
16543 x[i] = ( ( double ) ( 2 * n - 2 * i - 1 ) * x_min
16544 + ( double ) ( 2 * i + 1 ) * x_max )
16545 / (
double ) ( 2 * n );
16586 const double x_max = 1.0;
16587 const double x_min = -1.0;
16715 static double x_001[1] =
16719 static double x_003[3] =
16721 -0.77459666924148337704,
16723 0.77459666924148337704
16725 static double x_007[7] =
16727 -0.96049126870802028342,
16728 -0.77459666924148337704,
16729 -0.43424374934680255800,
16731 0.43424374934680255800,
16732 0.77459666924148337704,
16733 0.96049126870802028342
16735 static double x_015[15] =
16737 -0.99383196321275502221,
16738 -0.96049126870802028342,
16739 -0.88845923287225699889,
16740 -0.77459666924148337704,
16741 -0.62110294673722640294,
16742 -0.43424374934680255800,
16743 -0.22338668642896688163,
16745 0.22338668642896688163,
16746 0.43424374934680255800,
16747 0.62110294673722640294,
16748 0.77459666924148337704,
16749 0.88845923287225699889,
16750 0.96049126870802028342,
16751 0.99383196321275502221
16753 static double x_031[31] =
16755 -0.99909812496766759766,
16756 -0.99383196321275502221,
16757 -0.98153114955374010687,
16758 -0.96049126870802028342,
16759 -0.92965485742974005667,
16760 -0.88845923287225699889,
16761 -0.83672593816886873550,
16762 -0.77459666924148337704,
16763 -0.70249620649152707861,
16764 -0.62110294673722640294,
16765 -0.53131974364437562397,
16766 -0.43424374934680255800,
16767 -0.33113539325797683309,
16768 -0.22338668642896688163,
16769 -0.11248894313318662575,
16771 0.11248894313318662575,
16772 0.22338668642896688163,
16773 0.33113539325797683309,
16774 0.43424374934680255800,
16775 0.53131974364437562397,
16776 0.62110294673722640294,
16777 0.70249620649152707861,
16778 0.77459666924148337704,
16779 0.83672593816886873550,
16780 0.88845923287225699889,
16781 0.92965485742974005667,
16782 0.96049126870802028342,
16783 0.98153114955374010687,
16784 0.99383196321275502221,
16785 0.99909812496766759766
16787 static double x_063[63] =
16789 -0.99987288812035761194,
16790 -0.99909812496766759766,
16791 -0.99720625937222195908,
16792 -0.99383196321275502221,
16793 -0.98868475754742947994,
16794 -0.98153114955374010687,
16795 -0.97218287474858179658,
16796 -0.96049126870802028342,
16797 -0.94634285837340290515,
16798 -0.92965485742974005667,
16799 -0.91037115695700429250,
16800 -0.88845923287225699889,
16801 -0.86390793819369047715,
16802 -0.83672593816886873550,
16803 -0.80694053195021761186,
16804 -0.77459666924148337704,
16805 -0.73975604435269475868,
16806 -0.70249620649152707861,
16807 -0.66290966002478059546,
16808 -0.62110294673722640294,
16809 -0.57719571005204581484,
16810 -0.53131974364437562397,
16811 -0.48361802694584102756,
16812 -0.43424374934680255800,
16813 -0.38335932419873034692,
16814 -0.33113539325797683309,
16815 -0.27774982202182431507,
16816 -0.22338668642896688163,
16817 -0.16823525155220746498,
16818 -0.11248894313318662575,
16819 -0.056344313046592789972,
16821 0.056344313046592789972,
16822 0.11248894313318662575,
16823 0.16823525155220746498,
16824 0.22338668642896688163,
16825 0.27774982202182431507,
16826 0.33113539325797683309,
16827 0.38335932419873034692,
16828 0.43424374934680255800,
16829 0.48361802694584102756,
16830 0.53131974364437562397,
16831 0.57719571005204581484,
16832 0.62110294673722640294,
16833 0.66290966002478059546,
16834 0.70249620649152707861,
16835 0.73975604435269475868,
16836 0.77459666924148337704,
16837 0.80694053195021761186,
16838 0.83672593816886873550,
16839 0.86390793819369047715,
16840 0.88845923287225699889,
16841 0.91037115695700429250,
16842 0.92965485742974005667,
16843 0.94634285837340290515,
16844 0.96049126870802028342,
16845 0.97218287474858179658,
16846 0.98153114955374010687,
16847 0.98868475754742947994,
16848 0.99383196321275502221,
16849 0.99720625937222195908,
16850 0.99909812496766759766,
16851 0.99987288812035761194
16853 static double x_127[127] =
16855 -0.99998243035489159858,
16856 -0.99987288812035761194,
16857 -0.99959879967191068325,
16858 -0.99909812496766759766,
16859 -0.99831663531840739253,
16860 -0.99720625937222195908,
16861 -0.99572410469840718851,
16862 -0.99383196321275502221,
16863 -0.99149572117810613240,
16864 -0.98868475754742947994,
16865 -0.98537149959852037111,
16866 -0.98153114955374010687,
16867 -0.97714151463970571416,
16868 -0.97218287474858179658,
16869 -0.96663785155841656709,
16870 -0.96049126870802028342,
16871 -0.95373000642576113641,
16872 -0.94634285837340290515,
16873 -0.93832039777959288365,
16874 -0.92965485742974005667,
16875 -0.92034002547001242073,
16876 -0.91037115695700429250,
16877 -0.89974489977694003664,
16878 -0.88845923287225699889,
16879 -0.87651341448470526974,
16880 -0.86390793819369047715,
16881 -0.85064449476835027976,
16882 -0.83672593816886873550,
16883 -0.82215625436498040737,
16884 -0.80694053195021761186,
16885 -0.79108493379984836143,
16886 -0.77459666924148337704,
16887 -0.75748396638051363793,
16888 -0.73975604435269475868,
16889 -0.72142308537009891548,
16890 -0.70249620649152707861,
16891 -0.68298743109107922809,
16892 -0.66290966002478059546,
16893 -0.64227664250975951377,
16894 -0.62110294673722640294,
16895 -0.59940393024224289297,
16896 -0.57719571005204581484,
16897 -0.55449513263193254887,
16898 -0.53131974364437562397,
16899 -0.50768775753371660215,
16900 -0.48361802694584102756,
16901 -0.45913001198983233287,
16902 -0.43424374934680255800,
16903 -0.40897982122988867241,
16904 -0.38335932419873034692,
16905 -0.35740383783153215238,
16906 -0.33113539325797683309,
16907 -0.30457644155671404334,
16908 -0.27774982202182431507,
16909 -0.25067873030348317661,
16910 -0.22338668642896688163,
16911 -0.19589750271110015392,
16912 -0.16823525155220746498,
16913 -0.14042423315256017459,
16914 -0.11248894313318662575,
16915 -0.084454040083710883710,
16916 -0.056344313046592789972,
16917 -0.028184648949745694339,
16919 0.028184648949745694339,
16920 0.056344313046592789972,
16921 0.084454040083710883710,
16922 0.11248894313318662575,
16923 0.14042423315256017459,
16924 0.16823525155220746498,
16925 0.19589750271110015392,
16926 0.22338668642896688163,
16927 0.25067873030348317661,
16928 0.27774982202182431507,
16929 0.30457644155671404334,
16930 0.33113539325797683309,
16931 0.35740383783153215238,
16932 0.38335932419873034692,
16933 0.40897982122988867241,
16934 0.43424374934680255800,
16935 0.45913001198983233287,
16936 0.48361802694584102756,
16937 0.50768775753371660215,
16938 0.53131974364437562397,
16939 0.55449513263193254887,
16940 0.57719571005204581484,
16941 0.59940393024224289297,
16942 0.62110294673722640294,
16943 0.64227664250975951377,
16944 0.66290966002478059546,
16945 0.68298743109107922809,
16946 0.70249620649152707861,
16947 0.72142308537009891548,
16948 0.73975604435269475868,
16949 0.75748396638051363793,
16950 0.77459666924148337704,
16951 0.79108493379984836143,
16952 0.80694053195021761186,
16953 0.82215625436498040737,
16954 0.83672593816886873550,
16955 0.85064449476835027976,
16956 0.86390793819369047715,
16957 0.87651341448470526974,
16958 0.88845923287225699889,
16959 0.89974489977694003664,
16960 0.91037115695700429250,
16961 0.92034002547001242073,
16962 0.92965485742974005667,
16963 0.93832039777959288365,
16964 0.94634285837340290515,
16965 0.95373000642576113641,
16966 0.96049126870802028342,
16967 0.96663785155841656709,
16968 0.97218287474858179658,
16969 0.97714151463970571416,
16970 0.98153114955374010687,
16971 0.98537149959852037111,
16972 0.98868475754742947994,
16973 0.99149572117810613240,
16974 0.99383196321275502221,
16975 0.99572410469840718851,
16976 0.99720625937222195908,
16977 0.99831663531840739253,
16978 0.99909812496766759766,
16979 0.99959879967191068325,
16980 0.99987288812035761194,
16981 0.99998243035489159858
16983 static double x_255[255] =
16985 -0.99999759637974846462,
16986 -0.99998243035489159858,
16987 -0.99994399620705437576,
16988 -0.99987288812035761194,
16989 -0.99976049092443204733,
16990 -0.99959879967191068325,
16991 -0.99938033802502358193,
16992 -0.99909812496766759766,
16993 -0.99874561446809511470,
16994 -0.99831663531840739253,
16995 -0.99780535449595727456,
16996 -0.99720625937222195908,
16997 -0.99651414591489027385,
16998 -0.99572410469840718851,
16999 -0.99483150280062100052,
17000 -0.99383196321275502221,
17001 -0.99272134428278861533,
17002 -0.99149572117810613240,
17003 -0.99015137040077015918,
17004 -0.98868475754742947994,
17005 -0.98709252795403406719,
17006 -0.98537149959852037111,
17007 -0.98351865757863272876,
17008 -0.98153114955374010687,
17009 -0.97940628167086268381,
17010 -0.97714151463970571416,
17011 -0.97473445975240266776,
17012 -0.97218287474858179658,
17013 -0.96948465950245923177,
17014 -0.96663785155841656709,
17015 -0.96364062156981213252,
17016 -0.96049126870802028342,
17017 -0.95718821610986096274,
17018 -0.95373000642576113641,
17019 -0.95011529752129487656,
17020 -0.94634285837340290515,
17021 -0.94241156519108305981,
17022 -0.93832039777959288365,
17023 -0.93406843615772578800,
17024 -0.92965485742974005667,
17025 -0.92507893290707565236,
17026 -0.92034002547001242073,
17027 -0.91543758715576504064,
17028 -0.91037115695700429250,
17029 -0.90514035881326159519,
17030 -0.89974489977694003664,
17031 -0.89418456833555902286,
17032 -0.88845923287225699889,
17033 -0.88256884024734190684,
17034 -0.87651341448470526974,
17035 -0.87029305554811390585,
17036 -0.86390793819369047715,
17037 -0.85735831088623215653,
17038 -0.85064449476835027976,
17039 -0.84376688267270860104,
17040 -0.83672593816886873550,
17041 -0.82952219463740140018,
17042 -0.82215625436498040737,
17043 -0.81462878765513741344,
17044 -0.80694053195021761186,
17045 -0.79909229096084140180,
17046 -0.79108493379984836143,
17047 -0.78291939411828301639,
17048 -0.77459666924148337704,
17049 -0.76611781930376009072,
17050 -0.75748396638051363793,
17051 -0.74869629361693660282,
17052 -0.73975604435269475868,
17053 -0.73066452124218126133,
17054 -0.72142308537009891548,
17055 -0.71203315536225203459,
17056 -0.70249620649152707861,
17057 -0.69281376977911470289,
17058 -0.68298743109107922809,
17059 -0.67301883023041847920,
17060 -0.66290966002478059546,
17061 -0.65266166541001749610,
17062 -0.64227664250975951377,
17063 -0.63175643771119423041,
17064 -0.62110294673722640294,
17065 -0.61031811371518640016,
17066 -0.59940393024224289297,
17067 -0.58836243444766254143,
17068 -0.57719571005204581484,
17069 -0.56590588542365442262,
17070 -0.55449513263193254887,
17071 -0.54296566649831149049,
17072 -0.53131974364437562397,
17073 -0.51955966153745702199,
17074 -0.50768775753371660215,
17075 -0.49570640791876146017,
17076 -0.48361802694584102756,
17077 -0.47142506587165887693,
17078 -0.45913001198983233287,
17079 -0.44673538766202847374,
17080 -0.43424374934680255800,
17081 -0.42165768662616330006,
17082 -0.40897982122988867241,
17083 -0.39621280605761593918,
17084 -0.38335932419873034692,
17085 -0.37042208795007823014,
17086 -0.35740383783153215238,
17087 -0.34430734159943802278,
17088 -0.33113539325797683309,
17089 -0.31789081206847668318,
17090 -0.30457644155671404334,
17091 -0.29119514851824668196,
17092 -0.27774982202182431507,
17093 -0.26424337241092676194,
17094 -0.25067873030348317661,
17095 -0.23705884558982972721,
17096 -0.22338668642896688163,
17097 -0.20966523824318119477,
17098 -0.19589750271110015392,
17099 -0.18208649675925219825,
17100 -0.16823525155220746498,
17101 -0.15434681148137810869,
17102 -0.14042423315256017459,
17103 -0.12647058437230196685,
17104 -0.11248894313318662575,
17105 -0.098482396598119202090,
17106 -0.084454040083710883710,
17107 -0.070406976042855179063,
17108 -0.056344313046592789972,
17109 -0.042269164765363603212,
17110 -0.028184648949745694339,
17111 -0.014093886410782462614,
17113 0.014093886410782462614,
17114 0.028184648949745694339,
17115 0.042269164765363603212,
17116 0.056344313046592789972,
17117 0.070406976042855179063,
17118 0.084454040083710883710,
17119 0.098482396598119202090,
17120 0.11248894313318662575,
17121 0.12647058437230196685,
17122 0.14042423315256017459,
17123 0.15434681148137810869,
17124 0.16823525155220746498,
17125 0.18208649675925219825,
17126 0.19589750271110015392,
17127 0.20966523824318119477,
17128 0.22338668642896688163,
17129 0.23705884558982972721,
17130 0.25067873030348317661,
17131 0.26424337241092676194,
17132 0.27774982202182431507,
17133 0.29119514851824668196,
17134 0.30457644155671404334,
17135 0.31789081206847668318,
17136 0.33113539325797683309,
17137 0.34430734159943802278,
17138 0.35740383783153215238,
17139 0.37042208795007823014,
17140 0.38335932419873034692,
17141 0.39621280605761593918,
17142 0.40897982122988867241,
17143 0.42165768662616330006,
17144 0.43424374934680255800,
17145 0.44673538766202847374,
17146 0.45913001198983233287,
17147 0.47142506587165887693,
17148 0.48361802694584102756,
17149 0.49570640791876146017,
17150 0.50768775753371660215,
17151 0.51955966153745702199,
17152 0.53131974364437562397,
17153 0.54296566649831149049,
17154 0.55449513263193254887,
17155 0.56590588542365442262,
17156 0.57719571005204581484,
17157 0.58836243444766254143,
17158 0.59940393024224289297,
17159 0.61031811371518640016,
17160 0.62110294673722640294,
17161 0.63175643771119423041,
17162 0.64227664250975951377,
17163 0.65266166541001749610,
17164 0.66290966002478059546,
17165 0.67301883023041847920,
17166 0.68298743109107922809,
17167 0.69281376977911470289,
17168 0.70249620649152707861,
17169 0.71203315536225203459,
17170 0.72142308537009891548,
17171 0.73066452124218126133,
17172 0.73975604435269475868,
17173 0.74869629361693660282,
17174 0.75748396638051363793,
17175 0.76611781930376009072,
17176 0.77459666924148337704,
17177 0.78291939411828301639,
17178 0.79108493379984836143,
17179 0.79909229096084140180,
17180 0.80694053195021761186,
17181 0.81462878765513741344,
17182 0.82215625436498040737,
17183 0.82952219463740140018,
17184 0.83672593816886873550,
17185 0.84376688267270860104,
17186 0.85064449476835027976,
17187 0.85735831088623215653,
17188 0.86390793819369047715,
17189 0.87029305554811390585,
17190 0.87651341448470526974,
17191 0.88256884024734190684,
17192 0.88845923287225699889,
17193 0.89418456833555902286,
17194 0.89974489977694003664,
17195 0.90514035881326159519,
17196 0.91037115695700429250,
17197 0.91543758715576504064,
17198 0.92034002547001242073,
17199 0.92507893290707565236,
17200 0.92965485742974005667,
17201 0.93406843615772578800,
17202 0.93832039777959288365,
17203 0.94241156519108305981,
17204 0.94634285837340290515,
17205 0.95011529752129487656,
17206 0.95373000642576113641,
17207 0.95718821610986096274,
17208 0.96049126870802028342,
17209 0.96364062156981213252,
17210 0.96663785155841656709,
17211 0.96948465950245923177,
17212 0.97218287474858179658,
17213 0.97473445975240266776,
17214 0.97714151463970571416,
17215 0.97940628167086268381,
17216 0.98153114955374010687,
17217 0.98351865757863272876,
17218 0.98537149959852037111,
17219 0.98709252795403406719,
17220 0.98868475754742947994,
17221 0.99015137040077015918,
17222 0.99149572117810613240,
17223 0.99272134428278861533,
17224 0.99383196321275502221,
17225 0.99483150280062100052,
17226 0.99572410469840718851,
17227 0.99651414591489027385,
17228 0.99720625937222195908,
17229 0.99780535449595727456,
17230 0.99831663531840739253,
17231 0.99874561446809511470,
17232 0.99909812496766759766,
17233 0.99938033802502358193,
17234 0.99959879967191068325,
17235 0.99976049092443204733,
17236 0.99987288812035761194,
17237 0.99994399620705437576,
17238 0.99998243035489159858,
17239 0.99999759637974846462
17241 static double x_511[511] =
17243 -0.999999672956734384381,
17244 -0.999997596379748464620,
17245 -0.999992298136257588028,
17246 -0.999982430354891598580,
17247 -0.999966730098486276883,
17248 -0.999943996207054375764,
17249 -0.999913081144678282800,
17250 -0.999872888120357611938,
17251 -0.999822363679787739196,
17252 -0.999760490924432047330,
17253 -0.999686286448317731776,
17254 -0.999598799671910683252,
17255 -0.999497112467187190535,
17256 -0.999380338025023581928,
17257 -0.999247618943342473599,
17258 -0.999098124967667597662,
17259 -0.998931050830810562236,
17260 -0.998745614468095114704,
17261 -0.998541055697167906027,
17262 -0.998316635318407392531,
17263 -0.998071634524930323302,
17264 -0.997805354495957274562,
17265 -0.997517116063472399965,
17266 -0.997206259372221959076,
17267 -0.996872143485260161299,
17268 -0.996514145914890273849,
17269 -0.996131662079315037786,
17270 -0.995724104698407188509,
17271 -0.995290903148810302261,
17272 -0.994831502800621000519,
17273 -0.994345364356723405931,
17274 -0.993831963212755022209,
17275 -0.993290788851684966211,
17276 -0.992721344282788615328,
17277 -0.992123145530863117683,
17278 -0.991495721178106132399,
17279 -0.990838611958294243677,
17280 -0.990151370400770159181,
17281 -0.989433560520240838716,
17282 -0.988684757547429479939,
17283 -0.987904547695124280467,
17284 -0.987092527954034067190,
17285 -0.986248305913007552681,
17286 -0.985371499598520371114,
17287 -0.984461737328814534596,
17288 -0.983518657578632728762,
17289 -0.982541908851080604251,
17290 -0.981531149553740106867,
17291 -0.980486047876721339416,
17292 -0.979406281670862683806,
17293 -0.978291538324758539526,
17294 -0.977141514639705714156,
17295 -0.975955916702011753129,
17296 -0.974734459752402667761,
17297 -0.973476868052506926773,
17298 -0.972182874748581796578,
17299 -0.970852221732792443256,
17300 -0.969484659502459231771,
17301 -0.968079947017759947964,
17302 -0.966637851558416567092,
17303 -0.965158148579915665979,
17304 -0.963640621569812132521,
17305 -0.962085061904651475741,
17306 -0.960491268708020283423,
17307 -0.958859048710200221356,
17308 -0.957188216109860962736,
17309 -0.955478592438183697574,
17310 -0.953730006425761136415,
17311 -0.951942293872573589498,
17312 -0.950115297521294876558,
17313 -0.948248866934137357063,
17314 -0.946342858373402905148,
17315 -0.944397134685866648591,
17316 -0.942411565191083059813,
17317 -0.940386025573669721370,
17318 -0.938320397779592883655,
17319 -0.936214569916450806625,
17320 -0.934068436157725787999,
17321 -0.931881896650953639345,
17322 -0.929654857429740056670,
17323 -0.927387230329536696843,
17324 -0.925078932907075652364,
17325 -0.922729888363349241523,
17326 -0.920340025470012420730,
17327 -0.917909278499077501636,
17328 -0.915437587155765040644,
17329 -0.912924896514370590080,
17330 -0.910371156957004292498,
17331 -0.907776324115058903624,
17332 -0.905140358813261595189,
17333 -0.902463227016165675048,
17334 -0.899744899776940036639,
17335 -0.896985353188316590376,
17336 -0.894184568335559022859,
17337 -0.891342531251319871666,
17338 -0.888459232872256998890,
17339 -0.885534668997285008926,
17340 -0.882568840247341906842,
17341 -0.879561752026556262568,
17342 -0.876513414484705269742,
17343 -0.873423842480859310192,
17344 -0.870293055548113905851,
17345 -0.867121077859315215614,
17346 -0.863907938193690477146,
17347 -0.860653669904299969802,
17348 -0.857358310886232156525,
17349 -0.854021903545468625813,
17350 -0.850644494768350279758,
17351 -0.847226135891580884381,
17352 -0.843766882672708601038,
17353 -0.840266795261030442350,
17354 -0.836725938168868735503,
17355 -0.833144380243172624728,
17356 -0.829522194637401400178,
17357 -0.825859458783650001088,
17358 -0.822156254364980407373,
17359 -0.818412667287925807395,
17360 -0.814628787655137413436,
17361 -0.810804709738146594361,
17362 -0.806940531950217611856,
17363 -0.803036356819268687782,
17364 -0.799092290960841401800,
17365 -0.795108445051100526780,
17366 -0.791084933799848361435,
17367 -0.787021875923539422170,
17368 -0.782919394118283016385,
17369 -0.778777615032822744702,
17370 -0.774596669241483377036,
17371 -0.770376691217076824278,
17372 -0.766117819303760090717,
17373 -0.761820195689839149173,
17374 -0.757483966380513637926,
17375 -0.753109281170558142523,
17376 -0.748696293616936602823,
17377 -0.744245161011347082309,
17378 -0.739756044352694758677,
17379 -0.735229108319491547663,
17380 -0.730664521242181261329,
17381 -0.726062455075389632685,
17382 -0.721423085370098915485,
17383 -0.716746591245747095767,
17384 -0.712033155362252034587,
17385 -0.707282963891961103412,
17386 -0.702496206491527078610,
17387 -0.697673076273711232906,
17388 -0.692813769779114702895,
17389 -0.687918486947839325756,
17390 -0.682987431091079228087,
17391 -0.678020808862644517838,
17392 -0.673018830230418479199,
17393 -0.667981708447749702165,
17394 -0.662909660024780595461,
17395 -0.657802904699713735422,
17396 -0.652661665410017496101,
17397 -0.647486168263572388782,
17398 -0.642276642509759513774,
17399 -0.637033320510492495071,
17400 -0.631756437711194230414,
17401 -0.626446232611719746542,
17402 -0.621102946737226402941,
17403 -0.615726824608992638014,
17404 -0.610318113715186400156,
17405 -0.604877064481584353319,
17406 -0.599403930242242892974,
17407 -0.593898967210121954393,
17408 -0.588362434447662541434,
17409 -0.582794593837318850840,
17410 -0.577195710052045814844,
17411 -0.571566050525742833992,
17412 -0.565905885423654422623,
17413 -0.560215487612728441818,
17414 -0.554495132631932548866,
17415 -0.548745098662529448608,
17416 -0.542965666498311490492,
17417 -0.537157119515795115982,
17418 -0.531319743644375623972,
17419 -0.525453827336442687395,
17420 -0.519559661537457021993,
17421 -0.513637539655988578507,
17422 -0.507687757533716602155,
17423 -0.501710613415391878251,
17424 -0.495706407918761460170,
17425 -0.489675444004456155436,
17426 -0.483618026945841027562,
17427 -0.477534464298829155284,
17428 -0.471425065871658876934,
17429 -0.465290143694634735858,
17430 -0.459130011989832332874,
17431 -0.452944987140767283784,
17432 -0.446735387662028473742,
17433 -0.440501534168875795783,
17434 -0.434243749346802558002,
17435 -0.427962357921062742583,
17436 -0.421657686626163300056,
17437 -0.415330064175321663764,
17438 -0.408979821229888672409,
17439 -0.402607290368737092671,
17440 -0.396212806057615939183,
17441 -0.389796704618470795479,
17442 -0.383359324198730346916,
17443 -0.376901004740559344802,
17444 -0.370422087950078230138,
17445 -0.363922917266549655269,
17446 -0.357403837831532152376,
17447 -0.350865196458001209011,
17448 -0.344307341599438022777,
17449 -0.337730623318886219621,
17450 -0.331135393257976833093,
17451 -0.324522004605921855207,
17452 -0.317890812068476683182,
17453 -0.311242171836871800300,
17454 -0.304576441556714043335,
17455 -0.297893980296857823437,
17456 -0.291195148518246681964,
17457 -0.284480308042725577496,
17458 -0.277749822021824315065,
17459 -0.271004054905512543536,
17460 -0.264243372410926761945,
17461 -0.257468141491069790481,
17462 -0.250678730303483176613,
17463 -0.243875508178893021593,
17464 -0.237058845589829727213,
17465 -0.230229114119222177156,
17466 -0.223386686428966881628,
17467 -0.216531936228472628081,
17468 -0.209665238243181194766,
17469 -0.202786968183064697557,
17470 -0.195897502711100153915,
17471 -0.188997219411721861059,
17472 -0.182086496759252198246,
17473 -0.175165714086311475707,
17474 -0.168235251552207464982,
17475 -0.161295490111305257361,
17476 -0.154346811481378108692,
17477 -0.147389598111939940054,
17478 -0.140424233152560174594,
17479 -0.133451100421161601344,
17480 -0.126470584372301966851,
17481 -0.119483070065440005133,
17482 -0.112488943133186625746,
17483 -0.105488589749541988533,
17484 -0.984823965981192020903E-01,
17485 -0.914707508403553909095E-01,
17486 -0.844540400837108837102E-01,
17487 -0.774326523498572825675E-01,
17488 -0.704069760428551790633E-01,
17489 -0.633773999173222898797E-01,
17490 -0.563443130465927899720E-01,
17491 -0.493081047908686267156E-01,
17492 -0.422691647653636032124E-01,
17493 -0.352278828084410232603E-01,
17494 -0.281846489497456943394E-01,
17495 -0.211398533783310883350E-01,
17496 -0.140938864107824626142E-01,
17497 -0.704713845933674648514E-02,
17498 +0.000000000000000000000,
17499 +0.704713845933674648514E-02,
17500 +0.140938864107824626142E-01,
17501 +0.211398533783310883350E-01,
17502 +0.281846489497456943394E-01,
17503 +0.352278828084410232603E-01,
17504 +0.422691647653636032124E-01,
17505 +0.493081047908686267156E-01,
17506 +0.563443130465927899720E-01,
17507 +0.633773999173222898797E-01,
17508 +0.704069760428551790633E-01,
17509 +0.774326523498572825675E-01,
17510 +0.844540400837108837102E-01,
17511 +0.914707508403553909095E-01,
17512 +0.984823965981192020903E-01,
17513 +0.105488589749541988533,
17514 +0.112488943133186625746,
17515 +0.119483070065440005133,
17516 +0.126470584372301966851,
17517 +0.133451100421161601344,
17518 +0.140424233152560174594,
17519 +0.147389598111939940054,
17520 +0.154346811481378108692,
17521 +0.161295490111305257361,
17522 +0.168235251552207464982,
17523 +0.175165714086311475707,
17524 +0.182086496759252198246,
17525 +0.188997219411721861059,
17526 +0.195897502711100153915,
17527 +0.202786968183064697557,
17528 +0.209665238243181194766,
17529 +0.216531936228472628081,
17530 +0.223386686428966881628,
17531 +0.230229114119222177156,
17532 +0.237058845589829727213,
17533 +0.243875508178893021593,
17534 +0.250678730303483176613,
17535 +0.257468141491069790481,
17536 +0.264243372410926761945,
17537 +0.271004054905512543536,
17538 +0.277749822021824315065,
17539 +0.284480308042725577496,
17540 +0.291195148518246681964,
17541 +0.297893980296857823437,
17542 +0.304576441556714043335,
17543 +0.311242171836871800300,
17544 +0.317890812068476683182,
17545 +0.324522004605921855207,
17546 +0.331135393257976833093,
17547 +0.337730623318886219621,
17548 +0.344307341599438022777,
17549 +0.350865196458001209011,
17550 +0.357403837831532152376,
17551 +0.363922917266549655269,
17552 +0.370422087950078230138,
17553 +0.376901004740559344802,
17554 +0.383359324198730346916,
17555 +0.389796704618470795479,
17556 +0.396212806057615939183,
17557 +0.402607290368737092671,
17558 +0.408979821229888672409,
17559 +0.415330064175321663764,
17560 +0.421657686626163300056,
17561 +0.427962357921062742583,
17562 +0.434243749346802558002,
17563 +0.440501534168875795783,
17564 +0.446735387662028473742,
17565 +0.452944987140767283784,
17566 +0.459130011989832332874,
17567 +0.465290143694634735858,
17568 +0.471425065871658876934,
17569 +0.477534464298829155284,
17570 +0.483618026945841027562,
17571 +0.489675444004456155436,
17572 +0.495706407918761460170,
17573 +0.501710613415391878251,
17574 +0.507687757533716602155,
17575 +0.513637539655988578507,
17576 +0.519559661537457021993,
17577 +0.525453827336442687395,
17578 +0.531319743644375623972,
17579 +0.537157119515795115982,
17580 +0.542965666498311490492,
17581 +0.548745098662529448608,
17582 +0.554495132631932548866,
17583 +0.560215487612728441818,
17584 +0.565905885423654422623,
17585 +0.571566050525742833992,
17586 +0.577195710052045814844,
17587 +0.582794593837318850840,
17588 +0.588362434447662541434,
17589 +0.593898967210121954393,
17590 +0.599403930242242892974,
17591 +0.604877064481584353319,
17592 +0.610318113715186400156,
17593 +0.615726824608992638014,
17594 +0.621102946737226402941,
17595 +0.626446232611719746542,
17596 +0.631756437711194230414,
17597 +0.637033320510492495071,
17598 +0.642276642509759513774,
17599 +0.647486168263572388782,
17600 +0.652661665410017496101,
17601 +0.657802904699713735422,
17602 +0.662909660024780595461,
17603 +0.667981708447749702165,
17604 +0.673018830230418479199,
17605 +0.678020808862644517838,
17606 +0.682987431091079228087,
17607 +0.687918486947839325756,
17608 +0.692813769779114702895,
17609 +0.697673076273711232906,
17610 +0.702496206491527078610,
17611 +0.707282963891961103412,
17612 +0.712033155362252034587,
17613 +0.716746591245747095767,
17614 +0.721423085370098915485,
17615 +0.726062455075389632685,
17616 +0.730664521242181261329,
17617 +0.735229108319491547663,
17618 +0.739756044352694758677,
17619 +0.744245161011347082309,
17620 +0.748696293616936602823,
17621 +0.753109281170558142523,
17622 +0.757483966380513637926,
17623 +0.761820195689839149173,
17624 +0.766117819303760090717,
17625 +0.770376691217076824278,
17626 +0.774596669241483377036,
17627 +0.778777615032822744702,
17628 +0.782919394118283016385,
17629 +0.787021875923539422170,
17630 +0.791084933799848361435,
17631 +0.795108445051100526780,
17632 +0.799092290960841401800,
17633 +0.803036356819268687782,
17634 +0.806940531950217611856,
17635 +0.810804709738146594361,
17636 +0.814628787655137413436,
17637 +0.818412667287925807395,
17638 +0.822156254364980407373,
17639 +0.825859458783650001088,
17640 +0.829522194637401400178,
17641 +0.833144380243172624728,
17642 +0.836725938168868735503,
17643 +0.840266795261030442350,
17644 +0.843766882672708601038,
17645 +0.847226135891580884381,
17646 +0.850644494768350279758,
17647 +0.854021903545468625813,
17648 +0.857358310886232156525,
17649 +0.860653669904299969802,
17650 +0.863907938193690477146,
17651 +0.867121077859315215614,
17652 +0.870293055548113905851,
17653 +0.873423842480859310192,
17654 +0.876513414484705269742,
17655 +0.879561752026556262568,
17656 +0.882568840247341906842,
17657 +0.885534668997285008926,
17658 +0.888459232872256998890,
17659 +0.891342531251319871666,
17660 +0.894184568335559022859,
17661 +0.896985353188316590376,
17662 +0.899744899776940036639,
17663 +0.902463227016165675048,
17664 +0.905140358813261595189,
17665 +0.907776324115058903624,
17666 +0.910371156957004292498,
17667 +0.912924896514370590080,
17668 +0.915437587155765040644,
17669 +0.917909278499077501636,
17670 +0.920340025470012420730,
17671 +0.922729888363349241523,
17672 +0.925078932907075652364,
17673 +0.927387230329536696843,
17674 +0.929654857429740056670,
17675 +0.931881896650953639345,
17676 +0.934068436157725787999,
17677 +0.936214569916450806625,
17678 +0.938320397779592883655,
17679 +0.940386025573669721370,
17680 +0.942411565191083059813,
17681 +0.944397134685866648591,
17682 +0.946342858373402905148,
17683 +0.948248866934137357063,
17684 +0.950115297521294876558,
17685 +0.951942293872573589498,
17686 +0.953730006425761136415,
17687 +0.955478592438183697574,
17688 +0.957188216109860962736,
17689 +0.958859048710200221356,
17690 +0.960491268708020283423,
17691 +0.962085061904651475741,
17692 +0.963640621569812132521,
17693 +0.965158148579915665979,
17694 +0.966637851558416567092,
17695 +0.968079947017759947964,
17696 +0.969484659502459231771,
17697 +0.970852221732792443256,
17698 +0.972182874748581796578,
17699 +0.973476868052506926773,
17700 +0.974734459752402667761,
17701 +0.975955916702011753129,
17702 +0.977141514639705714156,
17703 +0.978291538324758539526,
17704 +0.979406281670862683806,
17705 +0.980486047876721339416,
17706 +0.981531149553740106867,
17707 +0.982541908851080604251,
17708 +0.983518657578632728762,
17709 +0.984461737328814534596,
17710 +0.985371499598520371114,
17711 +0.986248305913007552681,
17712 +0.987092527954034067190,
17713 +0.987904547695124280467,
17714 +0.988684757547429479939,
17715 +0.989433560520240838716,
17716 +0.990151370400770159181,
17717 +0.990838611958294243677,
17718 +0.991495721178106132399,
17719 +0.992123145530863117683,
17720 +0.992721344282788615328,
17721 +0.993290788851684966211,
17722 +0.993831963212755022209,
17723 +0.994345364356723405931,
17724 +0.994831502800621000519,
17725 +0.995290903148810302261,
17726 +0.995724104698407188509,
17727 +0.996131662079315037786,
17728 +0.996514145914890273849,
17729 +0.996872143485260161299,
17730 +0.997206259372221959076,
17731 +0.997517116063472399965,
17732 +0.997805354495957274562,
17733 +0.998071634524930323302,
17734 +0.998316635318407392531,
17735 +0.998541055697167906027,
17736 +0.998745614468095114704,
17737 +0.998931050830810562236,
17738 +0.999098124967667597662,
17739 +0.999247618943342473599,
17740 +0.999380338025023581928,
17741 +0.999497112467187190535,
17742 +0.999598799671910683252,
17743 +0.999686286448317731776,
17744 +0.999760490924432047330,
17745 +0.999822363679787739196,
17746 +0.999872888120357611938,
17747 +0.999913081144678282800,
17748 +0.999943996207054375764,
17749 +0.999966730098486276883,
17750 +0.999982430354891598580,
17751 +0.999992298136257588028,
17752 +0.999997596379748464620,
17753 +0.999999672956734384381
17768 else if ( n == 15 )
17772 else if ( n == 31 )
17776 else if ( n == 63 )
17780 else if ( n == 127 )
17784 else if ( n == 255 )
17788 else if ( n == 511 )
17795 std::cerr <<
"PATTERSON_LOOKUP_POINTS - Fatal error!\n";
17796 std::cerr <<
" Unexpected value of N = " << n <<
"\n";
17920 static double w_001[1] =
17924 static double w_003[3] =
17926 0.555555555555555555556,
17927 0.888888888888888888889,
17928 0.555555555555555555556
17930 static double w_007[7] =
17932 0.104656226026467265194,
17933 0.268488089868333440729,
17934 0.401397414775962222905,
17935 0.450916538658474142345,
17936 0.401397414775962222905,
17937 0.268488089868333440729,
17938 0.104656226026467265194
17940 static double w_015[15] =
17942 0.0170017196299402603390,
17943 0.0516032829970797396969,
17944 0.0929271953151245376859,
17945 0.134415255243784220360,
17946 0.171511909136391380787,
17947 0.200628529376989021034,
17948 0.219156858401587496404,
17949 0.225510499798206687386,
17950 0.219156858401587496404,
17951 0.200628529376989021034,
17952 0.171511909136391380787,
17953 0.134415255243784220360,
17954 0.0929271953151245376859,
17955 0.0516032829970797396969,
17956 0.0170017196299402603390
17958 static double w_031[31] =
17960 0.00254478079156187441540,
17961 0.00843456573932110624631,
17962 0.0164460498543878109338,
17963 0.0258075980961766535646,
17964 0.0359571033071293220968,
17965 0.0464628932617579865414,
17966 0.0569795094941233574122,
17967 0.0672077542959907035404,
17968 0.0768796204990035310427,
17969 0.0857559200499903511542,
17970 0.0936271099812644736167,
17971 0.100314278611795578771,
17972 0.105669893580234809744,
17973 0.109578421055924638237,
17974 0.111956873020953456880,
17975 0.112755256720768691607,
17976 0.111956873020953456880,
17977 0.109578421055924638237,
17978 0.105669893580234809744,
17979 0.100314278611795578771,
17980 0.0936271099812644736167,
17981 0.0857559200499903511542,
17982 0.0768796204990035310427,
17983 0.0672077542959907035404,
17984 0.0569795094941233574122,
17985 0.0464628932617579865414,
17986 0.0359571033071293220968,
17987 0.0258075980961766535646,
17988 0.0164460498543878109338,
17989 0.00843456573932110624631,
17990 0.00254478079156187441540
17992 static double w_063[63] =
17994 0.000363221481845530659694,
17995 0.00126515655623006801137,
17996 0.00257904979468568827243,
17997 0.00421763044155885483908,
17998 0.00611550682211724633968,
17999 0.00822300795723592966926,
18000 0.0104982469096213218983,
18001 0.0129038001003512656260,
18002 0.0154067504665594978021,
18003 0.0179785515681282703329,
18004 0.0205942339159127111492,
18005 0.0232314466399102694433,
18006 0.0258696793272147469108,
18007 0.0284897547458335486125,
18008 0.0310735511116879648799,
18009 0.0336038771482077305417,
18010 0.0360644327807825726401,
18011 0.0384398102494555320386,
18012 0.0407155101169443189339,
18013 0.0428779600250077344929,
18014 0.0449145316536321974143,
18015 0.0468135549906280124026,
18016 0.0485643304066731987159,
18017 0.0501571393058995374137,
18018 0.0515832539520484587768,
18019 0.0528349467901165198621,
18020 0.0539054993352660639269,
18021 0.0547892105279628650322,
18022 0.0554814043565593639878,
18023 0.0559784365104763194076,
18024 0.0562776998312543012726,
18025 0.0563776283603847173877,
18026 0.0562776998312543012726,
18027 0.0559784365104763194076,
18028 0.0554814043565593639878,
18029 0.0547892105279628650322,
18030 0.0539054993352660639269,
18031 0.0528349467901165198621,
18032 0.0515832539520484587768,
18033 0.0501571393058995374137,
18034 0.0485643304066731987159,
18035 0.0468135549906280124026,
18036 0.0449145316536321974143,
18037 0.0428779600250077344929,
18038 0.0407155101169443189339,
18039 0.0384398102494555320386,
18040 0.0360644327807825726401,
18041 0.0336038771482077305417,
18042 0.0310735511116879648799,
18043 0.0284897547458335486125,
18044 0.0258696793272147469108,
18045 0.0232314466399102694433,
18046 0.0205942339159127111492,
18047 0.0179785515681282703329,
18048 0.0154067504665594978021,
18049 0.0129038001003512656260,
18050 0.0104982469096213218983,
18051 0.00822300795723592966926,
18052 0.00611550682211724633968,
18053 0.00421763044155885483908,
18054 0.00257904979468568827243,
18055 0.00126515655623006801137,
18056 0.000363221481845530659694
18058 static double w_127[127] =
18060 0.0000505360952078625176247,
18061 0.000180739564445388357820,
18062 0.000377746646326984660274,
18063 0.000632607319362633544219,
18064 0.000938369848542381500794,
18065 0.00128952408261041739210,
18066 0.00168114286542146990631,
18067 0.00210881524572663287933,
18068 0.00256876494379402037313,
18069 0.00305775341017553113613,
18070 0.00357289278351729964938,
18071 0.00411150397865469304717,
18072 0.00467105037211432174741,
18073 0.00524912345480885912513,
18074 0.00584344987583563950756,
18075 0.00645190005017573692280,
18076 0.00707248999543355546805,
18077 0.00770337523327974184817,
18078 0.00834283875396815770558,
18079 0.00898927578406413572328,
18080 0.00964117772970253669530,
18081 0.0102971169579563555237,
18082 0.0109557333878379016480,
18083 0.0116157233199551347270,
18084 0.0122758305600827700870,
18085 0.0129348396636073734547,
18086 0.0135915710097655467896,
18087 0.0142448773729167743063,
18088 0.0148936416648151820348,
18089 0.0155367755558439824399,
18090 0.0161732187295777199419,
18091 0.0168019385741038652709,
18092 0.0174219301594641737472,
18093 0.0180322163903912863201,
18094 0.0186318482561387901863,
18095 0.0192199051247277660193,
18096 0.0197954950480974994880,
18097 0.0203577550584721594669,
18098 0.0209058514458120238522,
18099 0.0214389800125038672465,
18100 0.0219563663053178249393,
18101 0.0224572658268160987071,
18102 0.0229409642293877487608,
18103 0.0234067774953140062013,
18104 0.0238540521060385400804,
18105 0.0242821652033365993580,
18106 0.0246905247444876769091,
18107 0.0250785696529497687068,
18108 0.0254457699654647658126,
18109 0.0257916269760242293884,
18110 0.0261156733767060976805,
18111 0.0264174733950582599310,
18112 0.0266966229274503599062,
18113 0.0269527496676330319634,
18114 0.0271855132296247918192,
18115 0.0273946052639814325161,
18116 0.0275797495664818730349,
18117 0.0277407021782796819939,
18118 0.0278772514766137016085,
18119 0.0279892182552381597038,
18120 0.0280764557938172466068,
18121 0.0281388499156271506363,
18122 0.0281763190330166021307,
18123 0.0281888141801923586938,
18124 0.0281763190330166021307,
18125 0.0281388499156271506363,
18126 0.0280764557938172466068,
18127 0.0279892182552381597038,
18128 0.0278772514766137016085,
18129 0.0277407021782796819939,
18130 0.0275797495664818730349,
18131 0.0273946052639814325161,
18132 0.0271855132296247918192,
18133 0.0269527496676330319634,
18134 0.0266966229274503599062,
18135 0.0264174733950582599310,
18136 0.0261156733767060976805,
18137 0.0257916269760242293884,
18138 0.0254457699654647658126,
18139 0.0250785696529497687068,
18140 0.0246905247444876769091,
18141 0.0242821652033365993580,
18142 0.0238540521060385400804,
18143 0.0234067774953140062013,
18144 0.0229409642293877487608,
18145 0.0224572658268160987071,
18146 0.0219563663053178249393,
18147 0.0214389800125038672465,
18148 0.0209058514458120238522,
18149 0.0203577550584721594669,
18150 0.0197954950480974994880,
18151 0.0192199051247277660193,
18152 0.0186318482561387901863,
18153 0.0180322163903912863201,
18154 0.0174219301594641737472,
18155 0.0168019385741038652709,
18156 0.0161732187295777199419,
18157 0.0155367755558439824399,
18158 0.0148936416648151820348,
18159 0.0142448773729167743063,
18160 0.0135915710097655467896,
18161 0.0129348396636073734547,
18162 0.0122758305600827700870,
18163 0.0116157233199551347270,
18164 0.0109557333878379016480,
18165 0.0102971169579563555237,
18166 0.00964117772970253669530,
18167 0.00898927578406413572328,
18168 0.00834283875396815770558,
18169 0.00770337523327974184817,
18170 0.00707248999543355546805,
18171 0.00645190005017573692280,
18172 0.00584344987583563950756,
18173 0.00524912345480885912513,
18174 0.00467105037211432174741,
18175 0.00411150397865469304717,
18176 0.00357289278351729964938,
18177 0.00305775341017553113613,
18178 0.00256876494379402037313,
18179 0.00210881524572663287933,
18180 0.00168114286542146990631,
18181 0.00128952408261041739210,
18182 0.000938369848542381500794,
18183 0.000632607319362633544219,
18184 0.000377746646326984660274,
18185 0.000180739564445388357820,
18186 0.0000505360952078625176247
18188 static double w_255[255] =
18190 0.69379364324108267170E-05,
18191 0.25157870384280661489E-04,
18192 0.53275293669780613125E-04,
18193 0.90372734658751149261E-04,
18194 0.13575491094922871973E-03,
18195 0.18887326450650491366E-03,
18196 0.24921240048299729402E-03,
18197 0.31630366082226447689E-03,
18198 0.38974528447328229322E-03,
18199 0.46918492424785040975E-03,
18200 0.55429531493037471492E-03,
18201 0.64476204130572477933E-03,
18202 0.74028280424450333046E-03,
18203 0.84057143271072246365E-03,
18204 0.94536151685852538246E-03,
18205 0.10544076228633167722E-02,
18206 0.11674841174299594077E-02,
18207 0.12843824718970101768E-02,
18208 0.14049079956551446427E-02,
18209 0.15288767050877655684E-02,
18210 0.16561127281544526052E-02,
18211 0.17864463917586498247E-02,
18212 0.19197129710138724125E-02,
18213 0.20557519893273465236E-02,
18214 0.21944069253638388388E-02,
18215 0.23355251860571608737E-02,
18216 0.24789582266575679307E-02,
18217 0.26245617274044295626E-02,
18218 0.27721957645934509940E-02,
18219 0.29217249379178197538E-02,
18220 0.30730184347025783234E-02,
18221 0.32259500250878684614E-02,
18222 0.33803979910869203823E-02,
18223 0.35362449977167777340E-02,
18224 0.36933779170256508183E-02,
18225 0.38516876166398709241E-02,
18226 0.40110687240750233989E-02,
18227 0.41714193769840788528E-02,
18228 0.43326409680929828545E-02,
18229 0.44946378920320678616E-02,
18230 0.46573172997568547773E-02,
18231 0.48205888648512683476E-02,
18232 0.49843645647655386012E-02,
18233 0.51485584789781777618E-02,
18234 0.53130866051870565663E-02,
18235 0.54778666939189508240E-02,
18236 0.56428181013844441585E-02,
18237 0.58078616599775673635E-02,
18238 0.59729195655081658049E-02,
18239 0.61379152800413850435E-02,
18240 0.63027734490857587172E-02,
18241 0.64674198318036867274E-02,
18242 0.66317812429018878941E-02,
18243 0.67957855048827733948E-02,
18244 0.69593614093904229394E-02,
18245 0.71224386864583871532E-02,
18246 0.72849479805538070639E-02,
18247 0.74468208324075910174E-02,
18248 0.76079896657190565832E-02,
18249 0.77683877779219912200E-02,
18250 0.79279493342948491103E-02,
18251 0.80866093647888599710E-02,
18252 0.82443037630328680306E-02,
18253 0.84009692870519326354E-02,
18254 0.85565435613076896192E-02,
18255 0.87109650797320868736E-02,
18256 0.88641732094824942641E-02,
18257 0.90161081951956431600E-02,
18258 0.91667111635607884067E-02,
18259 0.93159241280693950932E-02,
18260 0.94636899938300652943E-02,
18261 0.96099525623638830097E-02,
18262 0.97546565363174114611E-02,
18263 0.98977475240487497440E-02,
18264 0.10039172044056840798E-01,
18265 0.10178877529236079733E-01,
18266 0.10316812330947621682E-01,
18267 0.10452925722906011926E-01,
18268 0.10587167904885197931E-01,
18269 0.10719490006251933623E-01,
18270 0.10849844089337314099E-01,
18271 0.10978183152658912470E-01,
18272 0.11104461134006926537E-01,
18273 0.11228632913408049354E-01,
18274 0.11350654315980596602E-01,
18275 0.11470482114693874380E-01,
18276 0.11588074033043952568E-01,
18277 0.11703388747657003101E-01,
18278 0.11816385890830235763E-01,
18279 0.11927026053019270040E-01,
18280 0.12035270785279562630E-01,
18281 0.12141082601668299679E-01,
18282 0.12244424981611985899E-01,
18283 0.12345262372243838455E-01,
18284 0.12443560190714035263E-01,
18285 0.12539284826474884353E-01,
18286 0.12632403643542078765E-01,
18287 0.12722884982732382906E-01,
18288 0.12810698163877361967E-01,
18289 0.12895813488012114694E-01,
18290 0.12978202239537399286E-01,
18291 0.13057836688353048840E-01,
18292 0.13134690091960152836E-01,
18293 0.13208736697529129966E-01,
18294 0.13279951743930530650E-01,
18295 0.13348311463725179953E-01,
18296 0.13413793085110098513E-01,
18297 0.13476374833816515982E-01,
18298 0.13536035934956213614E-01,
18299 0.13592756614812395910E-01,
18300 0.13646518102571291428E-01,
18301 0.13697302631990716258E-01,
18302 0.13745093443001896632E-01,
18303 0.13789874783240936517E-01,
18304 0.13831631909506428676E-01,
18305 0.13870351089139840997E-01,
18306 0.13906019601325461264E-01,
18307 0.13938625738306850804E-01,
18308 0.13968158806516938516E-01,
18309 0.13994609127619079852E-01,
18310 0.14017968039456608810E-01,
18311 0.14038227896908623303E-01,
18312 0.14055382072649964277E-01,
18313 0.14069424957813575318E-01,
18314 0.14080351962553661325E-01,
18315 0.14088159516508301065E-01,
18316 0.14092845069160408355E-01,
18317 0.14094407090096179347E-01,
18318 0.14092845069160408355E-01,
18319 0.14088159516508301065E-01,
18320 0.14080351962553661325E-01,
18321 0.14069424957813575318E-01,
18322 0.14055382072649964277E-01,
18323 0.14038227896908623303E-01,
18324 0.14017968039456608810E-01,
18325 0.13994609127619079852E-01,
18326 0.13968158806516938516E-01,
18327 0.13938625738306850804E-01,
18328 0.13906019601325461264E-01,
18329 0.13870351089139840997E-01,
18330 0.13831631909506428676E-01,
18331 0.13789874783240936517E-01,
18332 0.13745093443001896632E-01,
18333 0.13697302631990716258E-01,
18334 0.13646518102571291428E-01,
18335 0.13592756614812395910E-01,
18336 0.13536035934956213614E-01,
18337 0.13476374833816515982E-01,
18338 0.13413793085110098513E-01,
18339 0.13348311463725179953E-01,
18340 0.13279951743930530650E-01,
18341 0.13208736697529129966E-01,
18342 0.13134690091960152836E-01,
18343 0.13057836688353048840E-01,
18344 0.12978202239537399286E-01,
18345 0.12895813488012114694E-01,
18346 0.12810698163877361967E-01,
18347 0.12722884982732382906E-01,
18348 0.12632403643542078765E-01,
18349 0.12539284826474884353E-01,
18350 0.12443560190714035263E-01,
18351 0.12345262372243838455E-01,
18352 0.12244424981611985899E-01,
18353 0.12141082601668299679E-01,
18354 0.12035270785279562630E-01,
18355 0.11927026053019270040E-01,
18356 0.11816385890830235763E-01,
18357 0.11703388747657003101E-01,
18358 0.11588074033043952568E-01,
18359 0.11470482114693874380E-01,
18360 0.11350654315980596602E-01,
18361 0.11228632913408049354E-01,
18362 0.11104461134006926537E-01,
18363 0.10978183152658912470E-01,
18364 0.10849844089337314099E-01,
18365 0.10719490006251933623E-01,
18366 0.10587167904885197931E-01,
18367 0.10452925722906011926E-01,
18368 0.10316812330947621682E-01,
18369 0.10178877529236079733E-01,
18370 0.10039172044056840798E-01,
18371 0.98977475240487497440E-02,
18372 0.97546565363174114611E-02,
18373 0.96099525623638830097E-02,
18374 0.94636899938300652943E-02,
18375 0.93159241280693950932E-02,
18376 0.91667111635607884067E-02,
18377 0.90161081951956431600E-02,
18378 0.88641732094824942641E-02,
18379 0.87109650797320868736E-02,
18380 0.85565435613076896192E-02,
18381 0.84009692870519326354E-02,
18382 0.82443037630328680306E-02,
18383 0.80866093647888599710E-02,
18384 0.79279493342948491103E-02,
18385 0.77683877779219912200E-02,
18386 0.76079896657190565832E-02,
18387 0.74468208324075910174E-02,
18388 0.72849479805538070639E-02,
18389 0.71224386864583871532E-02,
18390 0.69593614093904229394E-02,
18391 0.67957855048827733948E-02,
18392 0.66317812429018878941E-02,
18393 0.64674198318036867274E-02,
18394 0.63027734490857587172E-02,
18395 0.61379152800413850435E-02,
18396 0.59729195655081658049E-02,
18397 0.58078616599775673635E-02,
18398 0.56428181013844441585E-02,
18399 0.54778666939189508240E-02,
18400 0.53130866051870565663E-02,
18401 0.51485584789781777618E-02,
18402 0.49843645647655386012E-02,
18403 0.48205888648512683476E-02,
18404 0.46573172997568547773E-02,
18405 0.44946378920320678616E-02,
18406 0.43326409680929828545E-02,
18407 0.41714193769840788528E-02,
18408 0.40110687240750233989E-02,
18409 0.38516876166398709241E-02,
18410 0.36933779170256508183E-02,
18411 0.35362449977167777340E-02,
18412 0.33803979910869203823E-02,
18413 0.32259500250878684614E-02,
18414 0.30730184347025783234E-02,
18415 0.29217249379178197538E-02,
18416 0.27721957645934509940E-02,
18417 0.26245617274044295626E-02,
18418 0.24789582266575679307E-02,
18419 0.23355251860571608737E-02,
18420 0.21944069253638388388E-02,
18421 0.20557519893273465236E-02,
18422 0.19197129710138724125E-02,
18423 0.17864463917586498247E-02,
18424 0.16561127281544526052E-02,
18425 0.15288767050877655684E-02,
18426 0.14049079956551446427E-02,
18427 0.12843824718970101768E-02,
18428 0.11674841174299594077E-02,
18429 0.10544076228633167722E-02,
18430 0.94536151685852538246E-03,
18431 0.84057143271072246365E-03,
18432 0.74028280424450333046E-03,
18433 0.64476204130572477933E-03,
18434 0.55429531493037471492E-03,
18435 0.46918492424785040975E-03,
18436 0.38974528447328229322E-03,
18437 0.31630366082226447689E-03,
18438 0.24921240048299729402E-03,
18439 0.18887326450650491366E-03,
18440 0.13575491094922871973E-03,
18441 0.90372734658751149261E-04,
18442 0.53275293669780613125E-04,
18443 0.25157870384280661489E-04,
18444 0.69379364324108267170E-05
18446 static double w_511[511] =
18448 0.945715933950007048827E-06,
18449 0.345456507169149134898E-05,
18450 0.736624069102321668857E-05,
18451 0.125792781889592743525E-04,
18452 0.190213681905875816679E-04,
18453 0.266376412339000901358E-04,
18454 0.353751372055189588628E-04,
18455 0.451863674126296143105E-04,
18456 0.560319507856164252140E-04,
18457 0.678774554733972416227E-04,
18458 0.806899228014035293851E-04,
18459 0.944366322532705527066E-04,
18460 0.109085545645741522051E-03,
18461 0.124606200241498368482E-03,
18462 0.140970302204104791413E-03,
18463 0.158151830411132242924E-03,
18464 0.176126765545083195474E-03,
18465 0.194872642236641146532E-03,
18466 0.214368090034216937149E-03,
18467 0.234592462123925204879E-03,
18468 0.255525589595236862014E-03,
18469 0.277147657465187357459E-03,
18470 0.299439176850911730874E-03,
18471 0.322381020652862389664E-03,
18472 0.345954492129903871350E-03,
18473 0.370141402122251665232E-03,
18474 0.394924138246873704434E-03,
18475 0.420285716355361231823E-03,
18476 0.446209810101403247488E-03,
18477 0.472680758429262691232E-03,
18478 0.499683553312800484519E-03,
18479 0.527203811431658386125E-03,
18480 0.555227733977307579715E-03,
18481 0.583742058714979703847E-03,
18482 0.612734008012225209294E-03,
18483 0.642191235948505088403E-03,
18484 0.672101776960108194646E-03,
18485 0.702453997827572321358E-03,
18486 0.733236554224767912055E-03,
18487 0.764438352543882784191E-03,
18488 0.796048517297550871506E-03,
18489 0.828056364077226302608E-03,
18490 0.860451377808527848128E-03,
18491 0.893223195879324912340E-03,
18492 0.926361595613111283368E-03,
18493 0.959856485506936206261E-03,
18494 0.993697899638760857945E-03,
18495 0.102787599466367326179E-02,
18496 0.106238104885340071375E-02,
18497 0.109720346268191941940E-02,
18498 0.113233376051597664917E-02,
18499 0.116776259302858043685E-02,
18500 0.120348074001265964881E-02,
18501 0.123947911332878396534E-02,
18502 0.127574875977346947345E-02,
18503 0.131228086370221478128E-02,
18504 0.134906674928353113127E-02,
18505 0.138609788229672549700E-02,
18506 0.142336587141720519900E-02,
18507 0.146086246895890987689E-02,
18508 0.149857957106456636214E-02,
18509 0.153650921735128916170E-02,
18510 0.157464359003212166189E-02,
18511 0.161297501254393423070E-02,
18512 0.165149594771914570655E-02,
18513 0.169019899554346019117E-02,
18514 0.172907689054461607168E-02,
18515 0.176812249885838886701E-02,
18516 0.180732881501808930079E-02,
18517 0.184668895851282540913E-02,
18518 0.188619617015808475394E-02,
18519 0.192584380831993546204E-02,
18520 0.196562534503150547732E-02,
18521 0.200553436203751169944E-02,
18522 0.204556454679958293446E-02,
18523 0.208570968849203942640E-02,
18524 0.212596367401472533045E-02,
18525 0.216632048404649142727E-02,
18526 0.220677418916003329194E-02,
18527 0.224731894601603393082E-02,
18528 0.228794899365195972378E-02,
18529 0.232865864987842738864E-02,
18530 0.236944230779380495146E-02,
18531 0.241029443242563417382E-02,
18532 0.245120955750556483923E-02,
18533 0.249218228238276930060E-02,
18534 0.253320726907925325750E-02,
18535 0.257427923948908888092E-02,
18536 0.261539297272236109225E-02,
18537 0.265654330259352828314E-02,
18538 0.269772511525294586667E-02,
18539 0.273893334695947541201E-02,
18540 0.278016298199139435045E-02,
18541 0.282140905069222207923E-02,
18542 0.286266662764757868253E-02,
18543 0.290393082998878368175E-02,
18544 0.294519681581857582284E-02,
18545 0.298645978275408290247E-02,
18546 0.302771496658198544480E-02,
18547 0.306895764002069252174E-02,
18548 0.311018311158427546158E-02,
18549 0.315138672454287935858E-02,
18550 0.319256385597434736790E-02,
18551 0.323370991590184336368E-02,
18552 0.327482034651233969564E-02,
18553 0.331589062145094394706E-02,
18554 0.335691624518616761342E-02,
18555 0.339789275244138669739E-02,
18556 0.343881570768790591876E-02,
18557 0.347968070469521146972E-02,
18558 0.352048336613417922682E-02,
18559 0.356121934322919357659E-02,
18560 0.360188431545532431869E-02,
18561 0.364247399027690353194E-02,
18562 0.368298410292403911967E-02,
18563 0.372341041620379550870E-02,
18564 0.376374872034296338241E-02,
18565 0.380399483285952829161E-02,
18566 0.384414459846013158917E-02,
18567 0.388419388896099560998E-02,
18568 0.392413860322995774660E-02,
18569 0.396397466714742455513E-02,
18570 0.400369803358421688562E-02,
18571 0.404330468239442998549E-02,
18572 0.408279062042157838350E-02,
18573 0.412215188151643401528E-02,
18574 0.416138452656509745764E-02,
18575 0.420048464352596631772E-02,
18576 0.423944834747438184434E-02,
18577 0.427827178065384480959E-02,
18578 0.431695111253279479928E-02,
18579 0.435548253986604343679E-02,
18580 0.439386228676004195260E-02,
18581 0.443208660474124713206E-02,
18582 0.447015177282692726900E-02,
18583 0.450805409759782158001E-02,
18584 0.454578991327213285488E-02,
18585 0.458335558178039420335E-02,
18586 0.462074749284080687482E-02,
18587 0.465796206403469754658E-02,
18588 0.469499574088179046532E-02,
18589 0.473184499691503264714E-02,
18590 0.476850633375474925263E-02,
18591 0.480497628118194150483E-02,
18592 0.484125139721057135214E-02,
18593 0.487732826815870573054E-02,
18594 0.491320350871841897367E-02,
18595 0.494887376202437487201E-02,
18596 0.498433569972103029914E-02,
18597 0.501958602202842039909E-02,
18598 0.505462145780650125058E-02,
18599 0.508943876461803986674E-02,
18600 0.512403472879005351831E-02,
18601 0.515840616547381084096E-02,
18602 0.519254991870341614863E-02,
18603 0.522646286145300596306E-02,
18604 0.526014189569259311205E-02,
18605 0.529358395244259896547E-02,
18606 0.532678599182711857974E-02,
18607 0.535974500312596681161E-02,
18608 0.539245800482555593606E-02,
18609 0.542492204466865704951E-02,
18610 0.545713419970309863995E-02,
18611 0.548909157632945623482E-02,
18612 0.552079131034778706457E-02,
18613 0.555223056700346326850E-02,
18614 0.558340654103215637610E-02,
18615 0.561431645670402467678E-02,
18616 0.564495756786715368885E-02,
18617 0.567532715799029830087E-02,
18618 0.570542254020497332312E-02,
18619 0.573524105734693719020E-02,
18620 0.576478008199711142954E-02,
18621 0.579403701652197628421E-02,
18622 0.582300929311348057702E-02,
18623 0.585169437382850155033E-02,
18624 0.588008975062788803205E-02,
18625 0.590819294541511788161E-02,
18626 0.593600151007459827614E-02,
18627 0.596351302650963502011E-02,
18628 0.599072510668009471472E-02,
18629 0.601763539263978131522E-02,
18630 0.604424155657354634589E-02,
18631 0.607054130083414983949E-02,
18632 0.609653235797888692923E-02,
18633 0.612221249080599294931E-02,
18634 0.614757949239083790214E-02,
18635 0.617263118612191922727E-02,
18636 0.619736542573665996342E-02,
18637 0.622178009535701763157E-02,
18638 0.624587310952490748541E-02,
18639 0.626964241323744217671E-02,
18640 0.629308598198198836688E-02,
18641 0.631620182177103938227E-02,
18642 0.633898796917690165912E-02,
18643 0.636144249136619145314E-02,
18644 0.638356348613413709795E-02,
18645 0.640534908193868098342E-02,
18646 0.642679743793437438922E-02,
18647 0.644790674400605734710E-02,
18648 0.646867522080231481688E-02,
18649 0.648910111976869964292E-02,
18650 0.650918272318071200827E-02,
18651 0.652891834417652442012E-02,
18652 0.654830632678944064054E-02,
18653 0.656734504598007641819E-02,
18654 0.658603290766824937794E-02,
18655 0.660436834876456498276E-02,
18656 0.662234983720168509457E-02,
18657 0.663997587196526532519E-02,
18658 0.665724498312454708217E-02,
18659 0.667415573186258997654E-02,
18660 0.669070671050613006584E-02,
18661 0.670689654255504925648E-02,
18662 0.672272388271144108036E-02,
18663 0.673818741690825799086E-02,
18664 0.675328586233752529078E-02,
18665 0.676801796747810680683E-02,
18666 0.678238251212300746082E-02,
18667 0.679637830740619795480E-02,
18668 0.681000419582894688374E-02,
18669 0.682325905128564571420E-02,
18670 0.683614177908911221841E-02,
18671 0.684865131599535812903E-02,
18672 0.686078663022780697951E-02,
18673 0.687254672150094831613E-02,
18674 0.688393062104341470995E-02,
18675 0.689493739162046825872E-02,
18676 0.690556612755588354803E-02,
18677 0.691581595475321433825E-02,
18678 0.692568603071643155621E-02,
18679 0.693517554456992049848E-02,
18680 0.694428371707782549438E-02,
18681 0.695300980066273063177E-02,
18682 0.696135307942366551493E-02,
18683 0.696931286915342540213E-02,
18684 0.697688851735519545845E-02,
18685 0.698407940325846925786E-02,
18686 0.699088493783425207545E-02,
18687 0.699730456380953992594E-02,
18688 0.700333775568106572820E-02,
18689 0.700898401972830440494E-02,
18690 0.701424289402572916425E-02,
18691 0.701911394845431165171E-02,
18692 0.702359678471225911031E-02,
18693 0.702769103632498213858E-02,
18694 0.703139636865428709508E-02,
18695 0.703471247890678765907E-02,
18696 0.703763909614153052319E-02,
18697 0.704017598127683066242E-02,
18698 0.704232292709631209597E-02,
18699 0.704407975825415053266E-02,
18700 0.704544633127951476780E-02,
18701 0.704642253458020417748E-02,
18702 0.704700828844548013730E-02,
18703 0.704720354504808967346E-02,
18704 0.704700828844548013730E-02,
18705 0.704642253458020417748E-02,
18706 0.704544633127951476780E-02,
18707 0.704407975825415053266E-02,
18708 0.704232292709631209597E-02,
18709 0.704017598127683066242E-02,
18710 0.703763909614153052319E-02,
18711 0.703471247890678765907E-02,
18712 0.703139636865428709508E-02,
18713 0.702769103632498213858E-02,
18714 0.702359678471225911031E-02,
18715 0.701911394845431165171E-02,
18716 0.701424289402572916425E-02,
18717 0.700898401972830440494E-02,
18718 0.700333775568106572820E-02,
18719 0.699730456380953992594E-02,
18720 0.699088493783425207545E-02,
18721 0.698407940325846925786E-02,
18722 0.697688851735519545845E-02,
18723 0.696931286915342540213E-02,
18724 0.696135307942366551493E-02,
18725 0.695300980066273063177E-02,
18726 0.694428371707782549438E-02,
18727 0.693517554456992049848E-02,
18728 0.692568603071643155621E-02,
18729 0.691581595475321433825E-02,
18730 0.690556612755588354803E-02,
18731 0.689493739162046825872E-02,
18732 0.688393062104341470995E-02,
18733 0.687254672150094831613E-02,
18734 0.686078663022780697951E-02,
18735 0.684865131599535812903E-02,
18736 0.683614177908911221841E-02,
18737 0.682325905128564571420E-02,
18738 0.681000419582894688374E-02,
18739 0.679637830740619795480E-02,
18740 0.678238251212300746082E-02,
18741 0.676801796747810680683E-02,
18742 0.675328586233752529078E-02,
18743 0.673818741690825799086E-02,
18744 0.672272388271144108036E-02,
18745 0.670689654255504925648E-02,
18746 0.669070671050613006584E-02,
18747 0.667415573186258997654E-02,
18748 0.665724498312454708217E-02,
18749 0.663997587196526532519E-02,
18750 0.662234983720168509457E-02,
18751 0.660436834876456498276E-02,
18752 0.658603290766824937794E-02,
18753 0.656734504598007641819E-02,
18754 0.654830632678944064054E-02,
18755 0.652891834417652442012E-02,
18756 0.650918272318071200827E-02,
18757 0.648910111976869964292E-02,
18758 0.646867522080231481688E-02,
18759 0.644790674400605734710E-02,
18760 0.642679743793437438922E-02,
18761 0.640534908193868098342E-02,
18762 0.638356348613413709795E-02,
18763 0.636144249136619145314E-02,
18764 0.633898796917690165912E-02,
18765 0.631620182177103938227E-02,
18766 0.629308598198198836688E-02,
18767 0.626964241323744217671E-02,
18768 0.624587310952490748541E-02,
18769 0.622178009535701763157E-02,
18770 0.619736542573665996342E-02,
18771 0.617263118612191922727E-02,
18772 0.614757949239083790214E-02,
18773 0.612221249080599294931E-02,
18774 0.609653235797888692923E-02,
18775 0.607054130083414983949E-02,
18776 0.604424155657354634589E-02,
18777 0.601763539263978131522E-02,
18778 0.599072510668009471472E-02,
18779 0.596351302650963502011E-02,
18780 0.593600151007459827614E-02,
18781 0.590819294541511788161E-02,
18782 0.588008975062788803205E-02,
18783 0.585169437382850155033E-02,
18784 0.582300929311348057702E-02,
18785 0.579403701652197628421E-02,
18786 0.576478008199711142954E-02,
18787 0.573524105734693719020E-02,
18788 0.570542254020497332312E-02,
18789 0.567532715799029830087E-02,
18790 0.564495756786715368885E-02,
18791 0.561431645670402467678E-02,
18792 0.558340654103215637610E-02,
18793 0.555223056700346326850E-02,
18794 0.552079131034778706457E-02,
18795 0.548909157632945623482E-02,
18796 0.545713419970309863995E-02,
18797 0.542492204466865704951E-02,
18798 0.539245800482555593606E-02,
18799 0.535974500312596681161E-02,
18800 0.532678599182711857974E-02,
18801 0.529358395244259896547E-02,
18802 0.526014189569259311205E-02,
18803 0.522646286145300596306E-02,
18804 0.519254991870341614863E-02,
18805 0.515840616547381084096E-02,
18806 0.512403472879005351831E-02,
18807 0.508943876461803986674E-02,
18808 0.505462145780650125058E-02,
18809 0.501958602202842039909E-02,
18810 0.498433569972103029914E-02,
18811 0.494887376202437487201E-02,
18812 0.491320350871841897367E-02,
18813 0.487732826815870573054E-02,
18814 0.484125139721057135214E-02,
18815 0.480497628118194150483E-02,
18816 0.476850633375474925263E-02,
18817 0.473184499691503264714E-02,
18818 0.469499574088179046532E-02,
18819 0.465796206403469754658E-02,
18820 0.462074749284080687482E-02,
18821 0.458335558178039420335E-02,
18822 0.454578991327213285488E-02,
18823 0.450805409759782158001E-02,
18824 0.447015177282692726900E-02,
18825 0.443208660474124713206E-02,
18826 0.439386228676004195260E-02,
18827 0.435548253986604343679E-02,
18828 0.431695111253279479928E-02,
18829 0.427827178065384480959E-02,
18830 0.423944834747438184434E-02,
18831 0.420048464352596631772E-02,
18832 0.416138452656509745764E-02,
18833 0.412215188151643401528E-02,
18834 0.408279062042157838350E-02,
18835 0.404330468239442998549E-02,
18836 0.400369803358421688562E-02,
18837 0.396397466714742455513E-02,
18838 0.392413860322995774660E-02,
18839 0.388419388896099560998E-02,
18840 0.384414459846013158917E-02,
18841 0.380399483285952829161E-02,
18842 0.376374872034296338241E-02,
18843 0.372341041620379550870E-02,
18844 0.368298410292403911967E-02,
18845 0.364247399027690353194E-02,
18846 0.360188431545532431869E-02,
18847 0.356121934322919357659E-02,
18848 0.352048336613417922682E-02,
18849 0.347968070469521146972E-02,
18850 0.343881570768790591876E-02,
18851 0.339789275244138669739E-02,
18852 0.335691624518616761342E-02,
18853 0.331589062145094394706E-02,
18854 0.327482034651233969564E-02,
18855 0.323370991590184336368E-02,
18856 0.319256385597434736790E-02,
18857 0.315138672454287935858E-02,
18858 0.311018311158427546158E-02,
18859 0.306895764002069252174E-02,
18860 0.302771496658198544480E-02,
18861 0.298645978275408290247E-02,
18862 0.294519681581857582284E-02,
18863 0.290393082998878368175E-02,
18864 0.286266662764757868253E-02,
18865 0.282140905069222207923E-02,
18866 0.278016298199139435045E-02,
18867 0.273893334695947541201E-02,
18868 0.269772511525294586667E-02,
18869 0.265654330259352828314E-02,
18870 0.261539297272236109225E-02,
18871 0.257427923948908888092E-02,
18872 0.253320726907925325750E-02,
18873 0.249218228238276930060E-02,
18874 0.245120955750556483923E-02,
18875 0.241029443242563417382E-02,
18876 0.236944230779380495146E-02,
18877 0.232865864987842738864E-02,
18878 0.228794899365195972378E-02,
18879 0.224731894601603393082E-02,
18880 0.220677418916003329194E-02,
18881 0.216632048404649142727E-02,
18882 0.212596367401472533045E-02,
18883 0.208570968849203942640E-02,
18884 0.204556454679958293446E-02,
18885 0.200553436203751169944E-02,
18886 0.196562534503150547732E-02,
18887 0.192584380831993546204E-02,
18888 0.188619617015808475394E-02,
18889 0.184668895851282540913E-02,
18890 0.180732881501808930079E-02,
18891 0.176812249885838886701E-02,
18892 0.172907689054461607168E-02,
18893 0.169019899554346019117E-02,
18894 0.165149594771914570655E-02,
18895 0.161297501254393423070E-02,
18896 0.157464359003212166189E-02,
18897 0.153650921735128916170E-02,
18898 0.149857957106456636214E-02,
18899 0.146086246895890987689E-02,
18900 0.142336587141720519900E-02,
18901 0.138609788229672549700E-02,
18902 0.134906674928353113127E-02,
18903 0.131228086370221478128E-02,
18904 0.127574875977346947345E-02,
18905 0.123947911332878396534E-02,
18906 0.120348074001265964881E-02,
18907 0.116776259302858043685E-02,
18908 0.113233376051597664917E-02,
18909 0.109720346268191941940E-02,
18910 0.106238104885340071375E-02,
18911 0.102787599466367326179E-02,
18912 0.993697899638760857945E-03,
18913 0.959856485506936206261E-03,
18914 0.926361595613111283368E-03,
18915 0.893223195879324912340E-03,
18916 0.860451377808527848128E-03,
18917 0.828056364077226302608E-03,
18918 0.796048517297550871506E-03,
18919 0.764438352543882784191E-03,
18920 0.733236554224767912055E-03,
18921 0.702453997827572321358E-03,
18922 0.672101776960108194646E-03,
18923 0.642191235948505088403E-03,
18924 0.612734008012225209294E-03,
18925 0.583742058714979703847E-03,
18926 0.555227733977307579715E-03,
18927 0.527203811431658386125E-03,
18928 0.499683553312800484519E-03,
18929 0.472680758429262691232E-03,
18930 0.446209810101403247488E-03,
18931 0.420285716355361231823E-03,
18932 0.394924138246873704434E-03,
18933 0.370141402122251665232E-03,
18934 0.345954492129903871350E-03,
18935 0.322381020652862389664E-03,
18936 0.299439176850911730874E-03,
18937 0.277147657465187357459E-03,
18938 0.255525589595236862014E-03,
18939 0.234592462123925204879E-03,
18940 0.214368090034216937149E-03,
18941 0.194872642236641146532E-03,
18942 0.176126765545083195474E-03,
18943 0.158151830411132242924E-03,
18944 0.140970302204104791413E-03,
18945 0.124606200241498368482E-03,
18946 0.109085545645741522051E-03,
18947 0.944366322532705527066E-04,
18948 0.806899228014035293851E-04,
18949 0.678774554733972416227E-04,
18950 0.560319507856164252140E-04,
18951 0.451863674126296143105E-04,
18952 0.353751372055189588628E-04,
18953 0.266376412339000901358E-04,
18954 0.190213681905875816679E-04,
18955 0.125792781889592743525E-04,
18956 0.736624069102321668857E-05,
18957 0.345456507169149134898E-05,
18958 0.945715933950007048827E-06,
18973 else if ( n == 15 )
18977 else if ( n == 31 )
18981 else if ( n == 63 )
18985 else if ( n == 127 )
18989 else if ( n == 255 )
18993 else if ( n == 511 )
19000 std::cerr <<
"PATTERSON_LOOKUP_WEIGHTS - Fatal error!\n";
19001 std::cerr <<
" Unexpected value of N = " << n <<
".\n";
19141 for ( j = 0; j < n; j++ )
19143 w[j] = w[j] / w_sum;
19147 for ( i = 0; i < m; i++ )
19150 for ( j = 0; j < n; j++ )
19152 z[i] = z[i] + a[i+j*m] * w[j];
19160 for ( j = 0; j < n; j++ )
19163 for ( i = 0; i < m; i++ )
19165 r[j] = r[j] + std::pow ( a[i+j*m] - z[i], 2 );
19167 r[j] = std::sqrt ( r[j] );
19179 unique =
new bool[n];
19180 for ( i = 0; i < n; i++ )
19185 for ( i = 0; i < n; i++ )
19187 if ( unique[indx[i]] )
19192 unique_num = unique_num + 1;
19199 while ( hi < n - 1 )
19201 if ( r[indx[i]] + tol < r[indx[hi+1]] )
19211 for ( j = i + 1; j <= hi; j++ )
19213 if ( unique[indx[j]] )
19216 for ( k = 0; k < m; k++ )
19218 dist = dist + std::pow ( a[k+indx[i]*m] - a[k+indx[j]*m], 2 );
19220 dist = std::sqrt ( dist );
19224 unique[indx[j]] =
false;
19242 double tol,
int *seed,
double z[],
double r1[],
int indx1[],
bool unique1[],
19321 for ( j1 = 0; j1 < n1; j1++ )
19323 w[j1] = w[j1] / w_sum;
19325 for ( i = 0; i < m; i++ )
19328 for ( j1 = 0; j1 < n1; j1++ )
19330 z[i] = z[i] + a1[i+j1*m] * w[j1];
19336 for ( j1 = 0; j1 < n1; j1++ )
19339 for ( i = 0; i < m; i++ )
19341 r1[j1] = r1[j1] + std::pow ( a1[i+j1*m] - z[i], 2 );
19343 r1[j1] = std::sqrt ( r1[j1] );
19348 for ( j1 = 0; j1 < n1; j1++ )
19350 unique1[j1] =
true;
19356 for ( j1 = 0; j1 < n1; j1++ )
19358 if ( unique1[indx1[j1]] )
19360 *unique_num1 = *unique_num1 + 1;
19364 while ( hi < n1 - 1 )
19366 if ( r1[indx1[j1]] + tol < r1[indx1[hi+1]] )
19373 for ( k1 = j1 + 1; k1 <= hi; k1++ )
19375 if ( unique1[indx1[k1]] )
19378 for ( i = 0; i < m; i++ )
19380 dist = dist + std::pow ( a1[i+indx1[j1]*m] - a1[i+indx1[k1]*m], 2 );
19382 dist = std::sqrt ( dist );
19386 unique1[indx1[k1]] =
false;
19400 double a2[],
double tol,
double z[],
double r1[],
int indx1[],
bool unique1[],
19486 r2 =
new double[n2];
19487 for ( j2 = 0; j2 < n2; j2++ )
19490 for ( i = 0; i < m; i++ )
19492 r2[j2] = r2[j2] + std::pow ( a2[i+j2*m] - z[i], 2 );
19494 r2[j2] = std::sqrt ( r2[j2] );
19497 indx2 =
new int[n2];
19500 unique2 =
new bool[n2];
19501 for ( j2 = 0; j2 < n2; j2++ )
19503 unique2[j2] =
true;
19511 for ( j1 = 0; j1 < n1; j1++ )
19513 if ( unique1[indx1[j1]] )
19515 r_lo = r1[indx1[j1]] - tol;
19516 r_hi = r1[indx1[j1]] + tol;
19521 for ( j2 = j2_lo; j2 <= j2_hi; j2++ )
19523 if ( unique2[indx2[j2]] )
19526 for ( i = 0; i < m; i++ )
19528 dist = dist + std::pow ( a1[i+indx1[j1]*m]
19529 - a2[i+indx2[j2]*m], 2 );
19531 dist = std::sqrt ( dist );
19534 unique2[indx2[j2]] =
false;
19544 for ( j2 = 0; j2 < n2; j2++ )
19546 if ( unique2[indx2[j2]] )
19548 *unique_num2 = *unique_num2 + 1;
19552 while ( hi < n2 - 1 )
19554 if ( r2[indx2[j2]] + tol < r2[indx2[hi+1]] )
19561 for ( k2 = j2 + 1; k2 <= hi; k2++ )
19563 if ( unique2[indx2[k2]] )
19566 for ( i = 0; i < m; i++ )
19568 dist = dist + std::pow ( a2[i+indx2[j2]*m] - a2[i+indx2[k2]*m], 2 );
19570 dist = std::sqrt ( dist );
19574 unique2[indx2[k2]] =
false;
19589 int *seed,
int undx[],
int xdnu[] )
19666 for ( j = 0; j < n; j++ )
19668 w[j] = w[j] / w_sum;
19672 for ( i = 0; i < m; i++ )
19675 for ( j = 0; j < n; j++ )
19677 z[i] = z[i] + a[i+j*m] * w[j];
19685 for ( j = 0; j < n; j++ )
19688 for ( i = 0; i < m; i++ )
19690 r[j] = r[j] + std::pow ( a[i+j*m] - z[i], 2 );
19692 r[j] = std::sqrt ( r[j] );
19704 unique =
new bool[n];
19705 for ( i = 0; i < n; i++ )
19710 for ( i = 0; i < n; i++ )
19712 if ( unique[indx[i]] )
19717 xdnu[indx[i]] = unique_num;
19718 undx[unique_num] = indx[i];
19719 unique_num = unique_num + 1;
19726 while ( hi < n - 1 )
19728 if ( r[indx[i]] + tol < r[indx[hi+1]] )
19738 for ( j = i + 1; j <= hi; j++ )
19740 if ( unique[indx[j]] )
19743 for ( k = 0; k < m; k++ )
19745 dist = dist + std::pow ( a[k+indx[i]*m] - a[k+indx[j]*m], 2 );
19747 dist = std::sqrt ( dist );
19751 unique[indx[j]] =
false;
19752 xdnu[indx[j]] = xdnu[indx[i]];
19770 double tol,
int *seed,
double z[],
double r1[],
int indx1[],
bool unique1[],
19771 int *unique_num1,
int undx1[],
int xdnu1[] )
19850 for ( j1 = 0; j1 < n1; j1++ )
19852 w[j1] = w[j1] / w_sum;
19855 for ( i = 0; i < m; i++ )
19858 for ( j1 = 0; j1 < n1; j1++ )
19860 z[i] = z[i] + a1[i+j1*m] * w[j1];
19866 for ( j1 = 0; j1 < n1; j1++ )
19869 for ( i = 0; i < m; i++ )
19871 r1[j1] = r1[j1] + std::pow ( a1[i+j1*m] - z[i], 2 );
19873 r1[j1] = std::sqrt ( r1[j1] );
19878 for ( j1 = 0; j1 < n1; j1++ )
19880 unique1[j1] =
true;
19886 for ( j1 = 0; j1 < n1; j1++ )
19888 if ( unique1[indx1[j1]] )
19890 xdnu1[indx1[j1]] = *unique_num1;
19891 undx1[*unique_num1] = indx1[j1];
19892 *unique_num1 = *unique_num1 + 1;
19896 while ( hi < n1 - 1 )
19898 if ( r1[indx1[j1]] + tol < r1[indx1[hi+1]] )
19905 for ( k1 = j1 + 1; k1 <= hi; k1++ )
19907 if ( unique1[indx1[k1]] )
19910 for ( i = 0; i < m; i++ )
19912 dist = dist + std::pow ( a1[i+indx1[j1]*m] - a1[i+indx1[k1]*m], 2 );
19914 dist = std::sqrt ( dist );
19918 unique1[indx1[k1]] =
false;
19919 xdnu1[indx1[k1]] = xdnu1[indx1[j1]];
19933 double a2[],
double tol,
double z[],
double r1[],
int indx1[],
bool unique1[],
19934 int unique_num1,
int undx1[],
int xdnu1[],
double r2[],
19935 int indx2[],
bool unique2[],
int *unique_num2,
int undx2[],
int xdnu2[] )
20038 for ( j2 = 0; j2 < n2; j2++ )
20041 for ( i = 0; i < m; i++ )
20043 r2[j2] = r2[j2] + std::pow ( a2[i+j2*m] - z[i], 2 );
20045 r2[j2] = std::sqrt ( r2[j2] );
20050 for ( j2 = 0; j2 < n2; j2++ )
20052 unique2[j2] =
true;
20060 for ( j1 = 0; j1 < n1; j1++ )
20062 if ( unique1[indx1[j1]] )
20064 r_lo = r1[indx1[j1]] - tol;
20065 r_hi = r1[indx1[j1]] + tol;
20070 for ( j2 = j2_lo; j2 <= j2_hi; j2++ )
20072 if ( unique2[indx2[j2]] )
20075 for ( i = 0; i < m; i++ )
20077 dist = dist + std::pow ( a1[i+indx1[j1]*m]
20078 - a2[i+indx2[j2]*m], 2 );
20080 dist = std::sqrt ( dist );
20083 unique2[indx2[j2]] =
false;
20084 xdnu2[indx2[j2]] = xdnu1[indx1[j1]];
20094 for ( j2 = 0; j2 < n2; j2++ )
20096 if ( unique2[indx2[j2]] )
20098 xdnu2[indx2[j2]] = unique_num1 + *unique_num2;
20099 undx2[*unique_num2] = indx2[j2] + n1;
20100 *unique_num2 = *unique_num2 + 1;
20104 while ( hi < n2 - 1 )
20106 if ( r2[indx2[j2]] + tol < r2[indx2[hi+1]] )
20113 for ( k2 = j2 + 1; k2 <= hi; k2++ )
20115 if ( unique2[indx2[k2]] )
20118 for ( i = 0; i < m; i++ )
20120 dist = dist + std::pow ( a2[i+indx2[j2]*m] - a2[i+indx2[k2]*m], 2 );
20122 dist = std::sqrt ( dist );
20126 unique2[indx2[k2]] =
false;
20127 xdnu2[indx2[k2]] = xdnu2[indx2[j2]];
20139 double r1[],
int indx1[],
bool unique1[],
int unique_num1,
int undx1[],
20140 int xdnu1[],
int n2,
double a2[],
double r2[],
int indx2[],
bool unique2[],
20141 int unique_num2,
int undx2[],
int xdnu2[],
int *n3,
double a3[],
double r3[],
20142 int indx3[],
bool unique3[],
int *unique_num3,
int undx3[],
int xdnu3[] )
20249 for ( i1 = 0; i1 < n1; i1++ )
20251 for ( i = 0; i < m; i++ )
20253 a3[i+i1*m] = a1[i+i1*m];
20256 for ( i2 = 0; i2 < n2; i2++ )
20259 for ( i = 0; i < m; i++ )
20261 a3[i+i3*m] = a2[i+i2*m];
20264 for ( i1 = 0; i1 < n1; i1++ )
20268 for ( i2 = 0; i2 < n2; i2++ )
20280 for ( i3 = 0; i3 < *n3; i3++ )
20284 v1 = r1[indx1[i1]];
20293 v2 = r2[indx2[i2]];
20302 indx3[i3] = indx1[i1];
20307 indx3[i3] = indx2[i2] + n1;
20312 *unique_num3 = unique_num1 + unique_num2;
20314 for ( i1 = 0; i1 < n1; i1++ )
20316 unique3[i1] = unique1[i1];
20318 for ( i2 = 0; i2 < n2; i2++ )
20321 unique3[i3] = unique2[i2];
20327 for ( i1 = 0; i1 < unique_num1; i1++ )
20329 undx3[i1] = undx1[i1];
20331 for ( i2 = 0; i2 < unique_num2; i2++ )
20333 i3 = unique_num1 + i2;
20334 undx3[i3] = undx2[i2];
20340 for ( i1 = 0; i1 < n1; i1++ )
20342 xdnu3[i1] = xdnu1[i1];
20344 for ( i2 = 0; i2 < n2; i2++ )
20347 xdnu3[i3] = xdnu2[i2];
20473 for ( i = 1; i < n; i++ )
20476 for ( k = 0; k < m; k++ )
20479 r8_abs ( a[k+indx[i]*m] - a[k+undx[j]*m] ) );
20495 int rule[],
double alpha[],
double beta[],
double weight_nd[] )
20560 for ( i = 0; i < order_nd; i++ )
20562 weight_nd[i] = 1.0;
20565 for ( dim = 0; dim < dim_num; dim++ )
20567 weight_1d =
new double[order_1d[dim]];
20569 if ( rule[dim] == 1 )
20573 else if ( rule[dim] == 2 )
20577 else if ( rule[dim] == 3 )
20581 else if ( rule[dim] == 4 )
20585 else if ( rule[dim] == 5 )
20589 else if ( rule[dim] == 6 )
20593 else if ( rule[dim] == 7 )
20597 else if ( rule[dim] == 8 )
20601 else if ( rule[dim] == 9 )
20605 else if ( rule[dim] == 10 )
20608 std::cerr <<
"PRODUCT_MIXED_WEIGHT - Fatal error!\n";
20609 std::cerr <<
" Do not know how to set weights for rule 10.\n";
20612 else if ( rule[dim] == 11 )
20616 else if ( rule[dim] == 12 )
20620 else if ( rule[dim] == 13 )
20624 else if ( rule[dim] == 14 )
20628 else if ( rule[dim] == 15 )
20632 else if ( rule[dim] == 16 )
20636 else if ( rule[dim] == 17 )
20643 std::cerr <<
"PRODUCT_MIXED_WEIGHT - Fatal error!\n";
20644 std::cerr <<
" Unexpected value of RULE[" << dim <<
"] = "
20645 << rule[dim] <<
".\n";
20650 dim_num, order_nd, weight_nd );
20652 delete [] weight_1d;
20749 value = value + 1.0;
20806 mn =
i4_min ( k, n - k );
20812 else if ( mn == 0 )
20818 mx =
i4_max ( k, n - k );
20819 value = ( double ) ( mx + 1 );
20821 for ( i = 2; i <= mn; i++ )
20823 value = ( value * ( double ) ( mx + i ) ) / (
double ) i;
20867 while ( 1.0 < (
double ) ( 1.0 + value ) )
20869 value = value / 2.0;
20872 value = 2.0 * value;
20915 for ( i = 1; i <= n; i++ )
20917 value = value * ( double ) ( i );
20985 while ( 1 < n_copy )
20987 value = value * ( double ) n_copy;
20988 n_copy = n_copy - 2;
21045 value = value - 1.0;
21110 -1.910444077728E-03,
21111 8.4171387781295E-04,
21112 -5.952379913043012E-04,
21113 7.93650793500350248E-04,
21114 -2.777777777777681622553E-03,
21115 8.333333333333333331554247E-02,
21116 5.7083835261E-03 };
21117 double eps = 2.22E-16;
21123 -1.71618513886549492533811E+00,
21124 2.47656508055759199108314E+01,
21125 -3.79804256470945635097577E+02,
21126 6.29331155312818442661052E+02,
21127 8.66966202790413211295064E+02,
21128 -3.14512729688483675254357E+04,
21129 -3.61444134186911729807069E+04,
21130 6.64561438202405440627855E+04 };
21132 double pi = 3.1415926535897932384626434;
21134 -3.08402300119738975254353E+01,
21135 3.15350626979604161529144E+02,
21136 -1.01515636749021914166146E+03,
21137 -3.10777167157231109440444E+03,
21138 2.25381184209801510330112E+04,
21139 4.75584627752788110767815E+03,
21140 -1.34659959864969306392456E+05,
21141 -1.15132259675553483497211E+05 };
21143 double sqrtpi = 0.9189385332046727417803297;
21145 double twelve = 12.0;
21148 double xbig = 171.624;
21150 double xinf = 1.79E+308;
21151 double xminin = 2.23E-308;
21168 y1 = ( double ) (
int ) ( y );
21173 if ( y1 != (
double ) ( int ) ( y1 * 0.5 ) * two )
21178 fact = - pi / std::sin ( pi * res );
21207 else if ( y < twelve )
21224 n = ( int ) ( y ) - 1;
21225 y = y - ( double ) ( n );
21233 for ( i = 0; i < 8; i++ )
21235 xnum = ( xnum + p[i] ) * z;
21236 xden = xden * z + q[i];
21238 res = xnum / xden + one;
21251 for ( i = 1; i <= n; i++ )
21267 for ( i = 0; i < 6; i++ )
21269 sum = sum / ysq + c[i];
21271 sum = sum / y - y + sqrtpi;
21272 sum = sum + ( y - 0.5 ) * std::log ( y );
21273 res = std::exp ( sum );
21401 double el = 0.5772156649015329;
21433 double pi = 3.141592653589793;
21444 l0 = ( c == ( int ) ( c ) ) && ( c < 0.0 );
21445 l1 = ( 1.0 - x < 1.0E-15 ) && ( c - a - b <= 0.0 );
21446 l2 = ( a == ( int ) ( a ) ) && ( a < 0.0 );
21447 l3 = ( b == ( int ) ( b ) ) && ( b < 0.0 );
21448 l4 = ( c - a == ( int ) ( c - a ) ) && ( c - a <= 0.0 );
21449 l5 = ( c - b == ( int ) ( c - b ) ) && ( c - b <= 0.0 );
21454 std::cerr <<
"R8_HYPER_2F1 - Fatal error!\n";
21455 std::cerr <<
" The hypergeometric series is divergent.\n";
21456 std::cerr <<
" C is integral and negative.\n";
21457 std::cerr <<
" C = " << c <<
"\n";
21464 std::cerr <<
"R8_HYPER_2F1 - Fatal error!\n";
21465 std::cerr <<
" The hypergeometric series is divergent.\n";
21466 std::cerr <<
" 1 - X < 0, C - A - B <= 0\n";
21467 std::cerr <<
" A = " << a <<
"\n";
21468 std::cerr <<
" B = " << b <<
"\n";
21469 std::cerr <<
" C = " << c <<
"\n";
21470 std::cerr <<
" X = " << x <<
"\n";
21483 if ( x == 0.0 || a == 0.0 || b == 0.0 )
21488 else if ( 1.0 - x == eps && 0.0 < c - a - b )
21494 hf = gc * gcab / ( gca * gcb );
21497 else if ( 1.0 + x <= eps &&
r8_abs ( c - a + b - 1.0 ) <= eps )
21499 g0 = std::sqrt ( pi ) * std::pow ( 2.0, - a );
21501 g2 =
r8_gamma ( 1.0 + a / 2.0 - b );
21503 hf = g0 * g1 / ( g2 * g3 );
21506 else if ( l2 || l3 )
21510 nm = ( int ) (
r8_abs ( a ) );
21515 nm = ( int ) (
r8_abs ( b ) );
21521 for ( k = 1; k <= nm; k++ )
21523 r = r * ( a + k - 1.0 ) * ( b + k - 1.0 )
21524 / ( k * ( c + k - 1.0 ) ) * x;
21530 else if ( l4 || l5 )
21534 nm = ( int ) (
r8_abs ( c - a ) );
21539 nm = ( int ) (
r8_abs ( c - b ) );
21544 for ( k = 1; k <= nm; k++ )
21546 r = r * ( c - a + k - 1.0 ) * ( c - b + k - 1.0 )
21547 / ( k * ( c + k - 1.0 ) ) * x;
21550 hf = std::pow ( 1.0 - x, c - a - b ) * hf;
21560 x = x / ( x - 1.0 );
21561 if ( a < c && b < a && 0.0 < b )
21573 if (
r8_abs ( c - a - b - (
int ) ( c - a - b ) ) < 1.0E-15 )
21575 m = ( int ) ( c - a - b );
21590 for ( j = 1; j <= std::abs ( m ) - 1; j++ )
21596 for ( j = 1; j <= std::abs ( m ); j++ )
21609 c0 = gm * gc / ( gam * gbm );
21610 c1 = - gc * std::pow ( x - 1.0, m ) / ( ga * gb * rm );
21612 for ( k = 1; k <= m - 1; k++ )
21614 r0 = r0 * ( a + k - 1.0 ) * ( b + k - 1.0 )
21615 / ( k * ( k - m ) ) * ( 1.0 - x );
21619 for ( k = 1; k <= m; k++ )
21621 sp0 = sp0 + 1.0 / ( a + k - 1.0 ) + 1.0 / ( b + k - 1.0 )
21622 - 1.0 / ( double ) ( k );
21625 f1 = pa + pb + sp0 + 2.0 * el + std::log ( 1.0 - x );
21628 for ( k = 1; k <= 250; k++ )
21630 sp = sp + ( 1.0 - a ) / ( k * ( a + k - 1.0 ) )
21631 + ( 1.0 - b ) / ( k * ( b + k - 1.0 ) );
21634 for ( j = 1; j <= m; j++ )
21636 sm = sm + ( 1.0 - a )
21637 / ( ( j + k ) * ( a + j + k - 1.0 ) )
21638 + 1.0 / ( b + j + k - 1.0 );
21641 rp = pa + pb + 2.0 * el + sp + sm + std::log ( 1.0 - x );
21643 r1 = r1 * ( a + m + k - 1.0 ) * ( b + m + k - 1.0 )
21644 / ( k * ( m + k ) ) * ( 1.0 - x );
21654 hf = f0 * c0 + f1 * c1;
21659 c0 = gm * gc / ( ga * gb * std::pow ( 1.0 - x, m ) );
21660 c1 = - std::pow ( - 1.0, m ) * gc / ( gam * gbm * rm );
21662 for ( k = 1; k <= m - 1; k++ )
21664 r0 = r0 * ( a - m + k - 1.0 ) * ( b - m + k - 1.0 )
21665 / ( k * ( k - m ) ) * ( 1.0 - x );
21669 for ( k = 1; k <= m; k++ )
21671 sp0 = sp0 + 1.0 / ( double ) ( k );
21674 f1 = pa + pb - sp0 + 2.0 * el + std::log ( 1.0 - x );
21677 for ( k = 1; k <= 250; k++ )
21679 sp = sp + ( 1.0 - a )
21680 / ( k * ( a + k - 1.0 ) )
21681 + ( 1.0 - b ) / ( k * ( b + k - 1.0 ) );
21684 for ( j = 1; j <= m; j++ )
21686 sm = sm + 1.0 / ( double ) ( j + k );
21689 rp = pa + pb + 2.0 * el + sp - sm + std::log ( 1.0 - x );
21691 r1 = r1 * ( a + k - 1.0 ) * ( b + k - 1.0 )
21692 / ( k * ( m + k ) ) * ( 1.0 - x );
21704 hf = f0 * c0 + f1 * c1;
21716 c0 = gc * gcab / ( gca * gcb );
21717 c1 = gc * gabc / ( ga * gb ) * std::pow ( 1.0 - x, c - a - b );
21723 for ( k = 1; k <= 250; k++ )
21725 r0 = r0 * ( a + k - 1.0 ) * ( b + k - 1.0 )
21726 / ( k * ( a + b - c + k ) ) * ( 1.0 - x );
21728 r1 = r1 * ( c - a + k - 1.0 ) * ( c - b + k - 1.0 )
21729 / ( k * ( c - a - b + k ) ) * ( 1.0 - x );
21746 if ( a < c && c < 2.0 * a && b < c && c < 2.0 * b )
21748 a0 = std::pow ( 1.0 - x, c - a - b );
21757 for ( k = 1; k <= 250; k++ )
21759 r = r * ( a + k - 1.0 ) * ( b + k - 1.0 )
21760 / ( k * ( c + k - 1.0 ) ) * x;
21777 c0 = 1.0 / std::pow ( 1.0 - x, aa );
21787 std::cerr <<
"R8_HYPER_2F1 - Warning!\n";
21788 std::cerr <<
" A large number of iterations were needed.\n";
21789 std::cerr <<
" The accuracy of the results should be checked.\n";
21911 if ( ( i % 2 ) == 0 )
21982 4.5104681245762934160E-03,
21983 5.4932855833000385356,
21984 3.7646693175929276856E+02,
21985 7.9525490849151998065E+03,
21986 7.1451595818951933210E+04,
21987 3.0655976301987365674E+05,
21988 6.3606997788964458797E+05,
21989 5.8041312783537569993E+05,
21990 1.6585695029761022321E+05 };
21992 -2.7103228277757834192,
21993 -1.5166271776896121383E+01,
21994 -1.9784554148719218667E+01,
21995 -8.8100958828312219821,
21996 -1.4479614616899842986,
21997 -7.3689600332394549911E-02,
21998 -6.5135387732718171306E-21 };
21999 double piov4 = 0.78539816339744830962;
22001 9.6141654774222358525E+01,
22002 2.6287715790581193330E+03,
22003 2.9862497022250277920E+04,
22004 1.6206566091533671639E+05,
22005 4.3487880712768329037E+05,
22006 5.4256384537269993733E+05,
22007 2.4242185002017985252E+05,
22008 6.4155223783576225996E-08 };
22010 4.4992760373789365846E+01,
22011 2.0240955312679931159E+02,
22012 2.4736979003315290057E+02,
22013 1.0742543875702278326E+02,
22014 1.7463965060678569906E+01,
22015 8.8427520398873480342E-01 };
22017 double three = 3.0;
22022 double x01 = 187.0;
22023 double x01d = 128.0;
22024 double x02 = 6.9464496836234126266E-04;
22025 double xinf = 1.70E+38;
22026 double xlarge = 2.04E+15;
22027 double xmax1 = 3.60E+16;
22028 double xmin1 = 5.89E-39;
22029 double xsmall = 2.05E-09;
22038 if ( xmax1 <= - x || w < xmin1 )
22075 w = w - ( double ) ( (
int ) ( w ) );
22076 nq = ( int ) ( w * 4.0 );
22077 w = 4.0 * ( w - ( double ) ( nq ) * 0.25 );
22092 if ( ( n % 2 ) != 0 )
22099 n = ( nq + 1 ) / 2;
22100 if ( ( n % 2 ) == 0 )
22117 aug = sgn * ( 4.0 / std::tan ( z ) );
22121 aug = sgn * ( 4.0 * std::tan ( z ) );
22133 for ( i = 1; i <= 7; i++ )
22135 den = ( den + q1[i-1] ) * x;
22136 upper = ( upper + p1[i]) * x;
22138 den = ( upper + p1[8] ) / ( den + q1[7] );
22139 x = ( x - x01 / x01d ) - x02;
22140 value = den * x + aug;
22148 w = one / ( x * x );
22151 for ( i = 1; i <= 5; i++ )
22153 den = ( den + q2[i-1] ) * w;
22154 upper = ( upper + p2[i] ) * w;
22156 aug = ( upper + p2[6] ) / ( den + q2[5] ) - 0.5 / x + aug;
22159 value = aug + std::log ( x );
22266 if ( i < 1 || n < i )
22269 std::cerr <<
"R8COL_COMPARE - Fatal error!\n";
22270 std::cerr <<
" Column index I is out of bounds.\n";
22271 std::cerr <<
" I = " << i <<
"\n";
22275 if ( j < 1 || n < j )
22278 std::cerr <<
"R8COL_COMPARE - Fatal error!\n";
22279 std::cerr <<
" Column index J is out of bounds.\n";
22280 std::cerr <<
" J = " << j <<
"\n";
22295 if ( a[k+(i-1)*m] < a[k+(j-1)*m] )
22300 else if ( a[k+(j-1)*m] < a[k+(i-1)*m] )
22393 else if ( indx < 0 )
22397 else if ( indx == 0 )
22476 for ( i = 0; i < n; i++ )
22486 column =
new double[m];
22497 for ( k = 0; k < m; k++ )
22499 column[k] = a[k+indxt*m];
22504 indxt = indx[ir-1];
22505 for ( k = 0; k < m; k++ )
22507 column[k] = a[k+indxt*m];
22509 indx[ir-1] = indx[0];
22538 indx[i-1] = indx[j-1];
22622 for ( j2 = 1; j2 < n; j2++ )
22625 for ( i = 0; i < m; i++ )
22627 diff =
r8_max ( diff,
r8_abs ( a[i+j1*m] - a[i+j2*m] ) );
22631 unique_num = unique_num + 1;
22696 if ( j1 < 1 || n < j1 || j2 < 1 || n < j2 )
22699 std::cerr <<
"R8COL_SWAP - Fatal error!\n";
22700 std::cerr <<
" J1 or J2 is out of bounds.\n";
22701 std::cerr <<
" J1 = " << j1 <<
"\n";
22702 std::cerr <<
" J2 = " << j2 <<
"\n";
22703 std::cerr <<
" NCOL = " << n <<
"\n";
22712 for ( i = 0; i < m; i++ )
22714 temp = a[i+(j1-1)*m];
22715 a[i+(j1-1)*m] = a[i+(j2-1)*m];
22716 a[i+(j2-1)*m] = temp;
22724 int undx[],
int xdnu[] )
22855 for ( i = 1; i < n; i++ )
22858 for ( j = 0; j <= k; j++ )
22861 for ( i2 = 0; i2 < m; i2++ )
22864 r8_abs ( a[i2+indx[i]*m] - a[i2+undx[j]*m] ) );
22968 for ( i = 1; i < n; i++ )
22971 for ( j = 0; j <= k; j++ )
22974 for ( i2 = 0; i2 < m; i2++ )
22977 r8_abs ( a[i2+indx[i]*m] - a[i2+undx[j]*m] ) );
23001 double tol,
int undx[],
int xdnu[] )
23123 for ( i = 1; i < x_num; i++ )
23126 for ( k = 0; k < x_dim; k++ )
23129 r8_abs ( x_val[k+indx[i]*x_dim] - x_val[k+undx[j]*x_dim] ) );
23145 int unique_index[] )
23196 for ( j1 = 0; j1 < n; j1++ )
23198 unique_index[j1] = -1;
23202 for ( j1 = 0; j1 < n; j1++ )
23204 if ( unique_index[j1] == -1 )
23206 unique_index[j1] = unique_num;
23208 for ( j2 = j1 + 1; j2 < n; j2++ )
23211 for ( i = 0; i < m; i++ )
23214 r8_abs ( a[i+j1*m] - a[i+j2*m] ) );
23218 unique_index[j2] = unique_num;
23221 unique_num = unique_num + 1;
23269 int ihi,
int jhi, std::string title )
23319 std::cout << title <<
"\n";
23321 for ( i2lo =
i4_max ( ilo, 1 ); i2lo <=
i4_min ( ihi, m ); i2lo = i2lo +
INCX )
23323 i2hi = i2lo +
INCX - 1;
23324 i2hi =
i4_min ( i2hi, m );
23325 i2hi =
i4_min ( i2hi, ihi );
23327 inc = i2hi + 1 - i2lo;
23330 std::cout <<
" Row: ";
23331 for ( i = i2lo; i <= i2hi; i++ )
23333 std::cout << std::setw(7) << i - 1 <<
" ";
23336 std::cout <<
" Col\n";
23339 j2lo =
i4_max ( jlo, 1 );
23340 j2hi =
i4_min ( jhi, n );
23342 for ( j = j2lo; j <= j2hi; j++ )
23344 std::cout << std::setw(5) << j - 1 <<
":";
23345 for ( i2 = 1; i2 <= inc; i2++ )
23348 std::cout << std::setw(14) << a[(i-1)+(j-1)*m];
23392 std::ofstream output;
23396 output.open ( output_filename.c_str ( ) );
23401 std::cerr <<
"R8MAT_WRITE - Fatal error!\n";
23402 std::cerr <<
" Could not open the output file.\n";
23408 for ( j = 0; j < n; j++ )
23410 for ( i = 0; i < m; i++ )
23412 output <<
" " << std::setw(24) << std::setprecision(16) << table[i+j*m];
23468 for ( i = n - 1; 0 <= i; i-- )
23470 value = ( value + poly_cof[i] / ( double ) ( i + 1 ) ) * xval;
23513 double pi = 3.141592653589793;
23520 a[0] = ( a_first + a_last ) / 2.0;
23524 for ( i = 0; i < n; i++ )
23526 theta = ( double ) ( n - i - 1 ) * pi / ( double ) ( n - 1 );
23528 c = std::cos ( theta );
23530 if ( ( n % 2 ) == 1 )
23532 if ( 2 * i + 1 == n )
23538 a[i] = ( ( 1.0 - c ) * a_first
23539 + ( 1.0 + c ) * a_last )
23601 for ( k = 0; k < n; k++ )
23608 else if ( b[k] < a[k] )
23649 for ( i = 0; i < n; i++ )
23693 a2 =
new double[n];
23695 for ( i = 0; i < n; i++ )
23745 for ( i = 0; i < n; i++ )
23754 double factor_value[],
int factor_num,
int point_num,
double w[] )
23877 static int contig = 0;
23881 static int rep = 0;
23882 static int skip = 0;
23885 if ( factor_index == 0 )
23890 for ( i = 0; i < point_num; i++ )
23896 rep = rep / factor_order;
23897 skip = skip * factor_order;
23899 for ( j = 0; j < factor_order; j++ )
23901 start = 0 + j * contig;
23903 for ( k = 1; k <= rep; k++ )
23905 for ( i = start; i < start + contig; i++ )
23907 w[i] = w[i] * factor_value[j];
23909 start = start + skip;
23913 contig = contig * factor_order;
23956 for ( i = 0; i < n; i++ )
23958 value = value + a1[i] * a2[i];
24005 for ( i = 0; i < n; i++ )
24007 value = value + r8vec[i] * ( double ) ( i4vec[i] );
24014 double r_hi,
int *i_lo,
int *i_hi )
24057 if ( r[indx[n-1]] < r_lo )
24064 if ( r_hi < r[indx[0]] )
24075 if ( r_lo <= r[indx[0]] && r[indx[0]] <= r_hi )
24090 if ( r_lo <= r[indx[0]] )
24103 i1 = ( j1 + j2 - 1 ) / 2;
24108 if ( r_lo < r[indx[i1]] )
24111 i1 = ( j1 + j2 - 1 ) / 2;
24114 else if ( r[indx[i2]] < r_lo )
24117 i1 = ( j1 + j2 - 1 ) / 2;
24130 if ( r[indx[n-1]] <= r_hi )
24138 i1 = ( j1 + j2 - 1 ) / 2;
24143 if ( r_hi < r[indx[i1]] )
24146 i1 = ( j1 + j2 - 1 ) / 2;
24149 else if ( r[indx[i2]] < r_hi )
24152 i1 = ( j1 + j2 - 1 ) / 2;
24169 if ( r[indx[*i_lo]] < r_lo )
24172 if ( n - 1 < *i_lo )
24178 if ( r_hi < r[indx[*i_hi]] )
24250 for ( i = ( n / 2 ) - 1; 0 <= i; i-- )
24276 if ( m + 1 <= n - 1 )
24282 if ( a[indx[m]] < a[indx[m+1]] )
24292 if ( a[indx[m]] <= a[key] )
24297 indx[ifree] = indx[m];
24372 std::cerr <<
"R8VEC_INDEXED_HEAP_D_EXTRACT - Fatal error!\n";
24373 std::cerr <<
" The heap is empty.\n";
24379 indx_extract = indx[0];
24384 return indx_extract;
24389 indx[0] = indx[*n-1];
24396 return indx_extract;
24462 parent = ( i - 1 ) / 2;
24464 if ( a[indx_insert] <= a[indx[parent]] )
24469 indx[i] = indx[parent];
24473 indx[i] = indx_insert;
24530 indx_max = indx[0];
24574 for ( i = 0; i < n; i++ )
24576 a[i] = ( ( 1.0 - a[i] ) * a_first
24577 + ( 1.0 + a[i] ) * a_last )
24624 a[0] = ( a_first + a_last ) / 2.0;
24628 for ( i = 0; i < n; i++ )
24630 a[i] = ( ( double ) ( n - 1 - i ) * a_first
24631 + ( double ) ( i ) * a_last )
24632 / (
double ) ( n - 1 );
24677 for ( i = 1; i < n; i++ )
24679 if ( r8vec[i] < value )
24728 for ( i = 0; i < n; i++ )
24732 if ( a[i] < value )
24778 std::cout << title <<
"\n";
24780 for ( i = 0; i < n; i++ )
24782 std::cout <<
" " << std::setw(8) << i
24783 <<
": " << std::setw(14) << a[i] <<
"\n";
24826 for ( i = 0; i < n; i++ )
24898 for ( i = 0; i < n; i++ )
24921 indxt = indx[ir-1];
24923 indx[ir-1] = indx[0];
24940 if ( a[indx[j-1]] < a[indx[j]] )
24946 if ( aval < a[indx[j-1]] )
24948 indx[i-1] = indx[j-1];
25031 for ( i = 0; i < n; i++ )
25054 indxt = indx[ir-1];
25056 indx[ir-1] = indx[0];
25073 if ( a[indx[j-1]] < a[indx[j]] )
25079 if ( aval < a[indx[j-1]] )
25081 indx[i-1] = indx[j-1];
25140 for ( i = 0; i < n; i++ )
25142 for ( j = 0; j < m; j++ )
25189 for ( i = 0; i < n; i++ )
25191 value = value + a[i];
25267 int i4_huge = 2147483647;
25273 std::cerr <<
"R8VEC_UNIFORM_01 - Fatal error!\n";
25274 std::cerr <<
" Input value of SEED = 0.\n";
25278 for ( i = 0; i < n; i++ )
25280 k = *seed / 127773;
25282 *seed = 16807 * ( *seed - k * 127773 ) - k * 2836;
25286 *seed = *seed + i4_huge;
25289 r[i] = ( double ) ( *seed ) * 4.656612875E-10;
25365 int i4_huge = 2147483647;
25372 std::cerr <<
"R8VEC_UNIFORM_01_NEW - Fatal error!\n";
25373 std::cerr <<
" Input value of SEED = 0.\n";
25379 for ( i = 0; i < n; i++ )
25381 k = *seed / 127773;
25383 *seed = 16807 * ( *seed - k * 127773 ) - k * 2836;
25387 *seed = *seed + i4_huge;
25390 r[i] = ( double ) ( *seed ) * 4.656612875E-10;
25430 for ( i = 0; i < n; i++ )
25501 static int i_save = 0;
25502 static int j_save = 0;
25521 else if ( *indx < 0 )
25527 i_save = i_save + 1;
25570 else if ( *indx == 1 )
25580 if ( i_save == n1 )
25589 else if ( i_save <= n1 )
25591 j_save = i_save + 1;
25658 # define TIME_SIZE 40
25661 const struct std::tm *tm_ptr;
25665 now = std::time ( NULL );
25666 tm_ptr = std::localtime ( &now );
25669 std::strftime ( time_buffer,
TIME_SIZE,
"%d %B %Y %I:%M:%S %p", tm_ptr );
25671 std::cout << time_buffer <<
"\n";
25751 for ( i = 0; i < dim_num; i++ )
25759 for ( i = 0; i < dim_num; i++ )
25763 if ( a[i] <= base[i] )
void r8vec_direct_product2(int factor_index, int factor_order, double factor_value[], int factor_num, int point_num, double w[])
void level_growth_to_order(int dim_num, int level[], int rule[], int growth[], int order[])
void legendre_compute_points_np(int order, int np, double p[], double x[])
void i4mat_transpose_print(int m, int n, int a[], std::string title)
void nco_compute_weights(int n, double w[])
void hermite_compute_np(int order, int np, double p[], double x[], double w[])
void legendre_compute_np(int order, int np, double p[], double x[], double w[])
void r8vec_indexed_heap_d_insert(int *n, double a[], int indx[], int indx_insert)
void binary_vector_next(int n, int bvec[])
void point_radial_tol_unique_index_inc1(int m, int n1, double a1[], double tol, int *seed, double z[], double r1[], int indx1[], bool unique1[], int *unique_num1, int undx1[], int xdnu1[])
void patterson_lookup_weights(int n, double w[])
void chebyshev2_compute_np(int order, int np, double p[], double x[], double w[])
void fejer2_compute(int order, double x[], double w[])
void gegenbauer_compute_np(int order, int np, double p[], double x[], double w[])
void laguerre_compute_points(int order, double x[])
double legendre_integral(int expon)
void gen_hermite_dr_compute(int order, double alpha, double x[], double w[])
void hce_compute_np(int n, int np, double p[], double x[], double w[])
double gegenbauer_integral(int expon, double alpha)
double gen_laguerre_integral(int expon, double alpha)
void gen_laguerre_compute_points(int order, double alpha, double x[])
void laguerre_lookup(int n, double x[], double w[])
void gen_hermite_compute_weights(int order, double alpha, double w[])
void hcc_compute_points(int n, double x[])
void r8vec_print(int n, double a[], std::string title)
void hermite_gk18_lookup_points(int n, double x[])
void ccn_compute_np(int n, int np, double p[], double x[], double w[])
void hermite_lookup(int n, double x[], double w[])
void level_to_order_default(int dim_num, int level[], int rule[], int order[])
double r8vec_sum(int n, double a[])
void hermite_lookup_points(int n, double x[])
void chebyshev1_compute_points(int order, double x[])
void r8col_swap(int m, int n, double a[], int j1, int j2)
void sort_heap_external(int n, int *indx, int *i, int *j, int isgn)
double r8_gamma(double x)
double r8_min(double x, double y)
void jacobi_compute_points(int order, double alpha, double beta, double x[])
void laguerre_lookup_weights(int n, double w[])
void hce_compute_points(int n, double x[])
void r8col_unique_index(int m, int n, double a[], double tol, int unique_index[])
void jacobi_compute_weights(int order, double alpha, double beta, double w[])
void level_to_order_exponential(int dim_num, int level[], int rule[], int order[])
void chebyshev1_compute_np(int order, int np, double p[], double x[], double w[])
void gen_laguerre_compute(int order, double alpha, double x[], double w[])
double laguerre_integral(int expon)
void hce_compute_points_np(int n, int np, double p[], double x[])
void hermite_compute_points(int order, double x[])
double * nc_compute_new(int n, double x_min, double x_max, double x[])
void hermite_gk22_lookup_points(int n, double x[])
void gen_hermite_compute(int order, double alpha, double x[], double w[])
int r8col_tol_unique_count(int m, int n, double a[], double tol)
void fejer2_compute_weights(int order, double w[])
void ncoh_compute_points(int n, double x[])
void r8vec_index_sorted_range(int n, double r[], int indx[], double r_lo, double r_hi, int *i_lo, int *i_hi)
void ccn_compute(int n, double x[], double w[])
int * i4vec_copy_new(int n, int a1[])
void hcc_compute(int n, double x[], double w[])
void gegenbauer_root(double *x, int order, double alpha, double *dp2, double *p1, double c[])
void legendre_dr_compute(int order, double x[], double w[])
int r8vec_compare(int n, double a[], double b[])
void legendre_lookup(int n, double x[], double w[])
void r8vec_sort_heap_index_a(int n, double a[], int indx[])
void gegenbauer_recur(double *p2, double *dp2, double *p1, double x, int order, double alpha, double c[])
void legendre_compute_weights(int order, double w[])
double * r8vec_chebyshev_new(int n, double a_first, double a_last)
double gen_hermite_integral(int expon, double alpha)
void gegenbauer_compute_points(int order, double alpha, double x[])
void hermite_interpolant(int n, double x[], double y[], double yp[], double xd[], double yd[], double xdp[], double ydp[])
int i4vec_product(int n, int a[])
void hermite_compute_points_np(int order, int np, double p[], double x[])
int i4_power(int i, int j)
void i4vec_zero(int n, int a[])
void dif_shift_x(int nd, double xd[], double yd[], double xv)
void laguerre_lookup_points(int n, double x[])
void clenshaw_curtis_compute_points_np(int order, int np, double p[], double x[])
void gegenbauer_compute_weights(int order, double alpha, double w[])
void hermite_compute_weights_np(int order, int np, double p[], double w[])
void gen_laguerre_compute_points_np(int order, int np, double p[], double x[])
void patterson_lookup_points(int n, double x[])
void level_to_order_linear(int dim_num, int level[], int rule[], int order[])
double r8_factorial2(int n)
int level_to_order_exp_hgk(int level, int growth)
void i4vec_copy(int n, int a1[], int a2[])
void laguerre_compute_weights(int order, double w[])
void hcc_compute_points_np(int n, int np, double p[], double x[])
void dif_shift_zero(int nd, double xd[], double yd[])
void gen_laguerre_compute_weights(int order, double alpha, double w[])
void legendre_lookup_weights(int n, double w[])
void fejer2_compute_points_np(int order, int np, double p[], double x[])
void gen_hermite_compute_points(int order, double alpha, double x[])
double r8_hyper_2f1(double a, double b, double c, double x)
void fejer2_compute_weights_np(int order, int np, double p[], double w[])
int point_radial_tol_unique_index(int m, int n, double a[], double tol, int *seed, int undx[], int xdnu[])
void level_to_order_exponential_slow(int dim_num, int level[], int rule[], int order[])
void clenshaw_curtis_compute_weights(int order, double w[])
void clenshaw_curtis_compute(int order, double x[], double w[])
void ccn_compute_points_np(int n, int np, double p[], double x[])
void fejer2_compute_np(int order, int np, double p[], double x[], double w[])
void point_radial_tol_unique_count_inc1(int m, int n1, double a1[], double tol, int *seed, double z[], double r1[], int indx1[], bool unique1[], int *unique_num1)
void gen_hermite_compute_np(int order, int np, double p[], double x[], double w[])
double jacobi_integral(int expon, double alpha, double beta)
void laguerre_compute_points_np(int order, int np, double p[], double x[])
void laguerre_ss_compute(int order, double x[], double w[])
void laguerre_compute_np(int order, int np, double p[], double x[], double w[])
void i4mat_copy(int m, int n, int a1[], int a2[])
void vec_colex_next3(int dim_num, int base[], int a[], bool *more)
void r8col_undex(int x_dim, int x_num, double x_val[], int x_unique_num, double tol, int undx[], int xdnu[])
double * legendre_zeros(int order)
void gen_laguerre_ss_recur(double *p2, double *dp2, double *p1, double x, int order, double alpha, double b[], double c[])
void point_radial_tol_unique_index_inc3(int m, int n1, double a1[], double r1[], int indx1[], bool unique1[], int unique_num1, int undx1[], int xdnu1[], int n2, double a2[], double r2[], int indx2[], bool unique2[], int unique_num2, int undx2[], int xdnu2[], int *n3, double a3[], double r3[], int indx3[], bool unique3[], int *unique_num3, int undx3[], int xdnu3[])
void ncoh_compute_weights(int n, double w[])
void patterson_lookup(int n, double x[], double w[])
void clenshaw_curtis_compute_weights_np(int order, int np, double p[], double w[])
void ccn_compute_points(int n, double x[])
bool i4vec_any_lt(int n, int a[], int b[])
void gen_hermite_compute_points_np(int order, int np, double p[], double x[])
void gen_laguerre_ss_root(double *x, int order, double alpha, double *dp2, double *p1, double b[], double c[])
void hc_compute_weights_from_points(int nhalf, double x[], double w[])
double * r8vec_uniform_01_new(int n, int *seed)
void hce_compute_weights(int n, double w[])
void imtqlx(int n, double d[], double e[], double z[])
double r8vec_min_pos(int n, double a[])
void hermite_genz_keister_lookup(int n, double x[], double w[])
void hce_compute_weights_np(int n, int np, double p[], double w[])
void hermite_gk24_lookup_points(int n, double x[])
void i4mat_write(std::string output_filename, int m, int n, int table[])
int * i4vec_add_new(int n, int a[], int b[])
void laguerre_compute(int n, double x[], double w[])
void chebyshev2_compute_weights_np(int order, int np, double p[], double w[])
void r8mat_transpose_print_some(int m, int n, double a[], int ilo, int jlo, int ihi, int jhi, std::string title)
void laguerre_compute_weights_np(int order, int np, double p[], double w[])
int level_to_order_linear_nn(int level, int growth)
void jacobi_ss_compute(int order, double alpha, double beta, double x[], double w[])
void gen_laguerre_compute_np(int order, int np, double p[], double x[], double w[])
void hermite_ss_root(double *x, int order, double *dp2, double *p1)
void jacobi_compute(int order, double alpha, double beta, double x[], double w[])
void i4vec_print(int n, int a[], std::string title)
void hce_compute(int n, double x[], double w[])
void hermite_interpolant_rule(int n, double a, double b, double x[], double w[])
void hcc_compute_weights(int n, double w[])
void jacobi_ss_recur(double *p2, double *dp2, double *p1, double x, int order, double alpha, double beta, double b[], double c[])
void nc_compute(int n, double x_min, double x_max, double x[], double w[])
int * i4mat_copy_new(int m, int n, int a1[])
int i4vec_sum(int n, int a[])
void jacobi_compute_points_np(int order, int np, double p[], double x[])
void ccn_compute_weights_np(int n, int np, double p[], double w[])
void chebyshev1_compute_weights(int order, double w[])
int level_to_order_exp_f2(int level, int growth)
int level_to_order_linear_wn(int level, int growth)
void r8vec_zero(int n, double a[])
void legendre_compute_weights_np(int order, int np, double p[], double w[])
void chebyshev1_compute(int order, double x[], double w[])
void nco_compute_points(int n, double x[])
void hcc_compute_weights_np(int n, int np, double p[], double w[])
void chebyshev1_compute_weights_np(int order, int np, double p[], double w[])
void hermite_genz_keister_lookup_points(int n, double x[])
void r8col_tol_undex(int x_dim, int x_num, double x_val[], int x_unique_num, double tol, int undx[], int xdnu[])
double r8_choose(int n, int k)
void chebyshev2_compute_points_np(int order, int np, double p[], double x[])
void legendre_lookup_points(int n, double x[])
int r8vec_indexed_heap_d_extract(int *n, double a[], int indx[])
void ncc_compute_weights(int n, double w[])
double * r8vec_legendre_new(int n, double a_first, double a_last)
void r8mat_write(std::string output_filename, int m, int n, double table[])
void r8vec_stutter(int n, double a[], int m, double am[])
void chebyshev2_compute_weights(int order, double w[])
int * r8vec_sort_heap_index_a_new(int n, double a[])
void hermite_genz_keister_lookup_points_np(int n, int np, double p[], double x[])
double hermite_integral(int n)
void laguerre_ss_root(double *x, int order, double *dp2, double *p1, double b[], double c[])
void point_unique_index(int m, int n, double a[], int unique_num, int undx[], int xdnu[])
int level_to_order_exp_gauss(int level, int growth)
int i4_min(int i1, int i2)
void hermite_ss_recur(double *p2, double *dp2, double *p1, double x, int order)
void jacobi_compute_np(int order, int np, double p[], double x[], double w[])
double r8vec_diff_norm_li(int n, double a[], double b[])
int * i4vec_zero_new(int n)
int point_radial_tol_unique_count(int m, int n, double a[], double tol, int *seed)
void jacobi_compute_weights_np(int order, int np, double p[], double w[])
void dif_deriv(int nd, double xd[], double yd[], int *ndp, double xdp[], double ydp[])
void hermite_genz_keister_lookup_weights(int n, double w[])
int r8col_compare(int m, int n, double a[], int i, int j)
double r8_factorial(int n)
void hermite_lookup_weights(int n, double w[])
void point_radial_tol_unique_count_inc2(int m, int n1, double a1[], int n2, double a2[], double tol, double z[], double r1[], int indx1[], bool unique1[], int *unique_num2)
int r8col_sorted_unique_count(int m, int n, double a[], double tol)
int level_to_order_exp_gp(int level, int growth)
int i4_max(int i1, int i2)
void laguerre_ss_recur(double *p2, double *dp2, double *p1, double x, int order, double b[], double c[])
void hermite_genz_keister_lookup_weights_np(int n, int np, double p[], double w[])
double r8vec_i4vec_dot_product(int n, double r8vec[], int i4vec[])
void r8vec_copy(int n, double a1[], double a2[])
void patterson_lookup_points_np(int n, int np, double p[], double x[])
void fejer2_compute_points(int order, double x[])
void patterson_lookup_weights_np(int n, int np, double p[], double w[])
int r8vec_indexed_heap_d_max(int n, double a[], int indx[])
int * r8col_sort_heap_index_a(int m, int n, double a[])
double chebyshev1_integral(int expon)
void gegenbauer_compute(int order, double alpha, double x[], double w[])
void clenshaw_curtis_compute_points(int order, double x[])
void legendre_compute_points(int order, double x[])
void r8col_sort_heap_a(int m, int n, double a[])
double * r8vec_linspace_new(int n, double a_first, double a_last)
double r8vec_min(int n, double r8vec[])
void hermite_compute_weights(int order, double w[])
void hermite_ss_compute(int order, double x[], double w[])
void ncc_compute_points(int n, double x[])
void chebyshev2_compute(int order, double x[], double w[])
void legendre_compute(int n, double x[], double w[])
double * r8vec_copy_new(int n, double a1[])
void i4mat_transpose_print_some(int m, int n, int a[], int ilo, int jlo, int ihi, int jhi, std::string title)
void r8vec_indexed_heap_d(int n, double a[], int indx[])
void chebyshev1_compute_points_np(int order, int np, double p[], double x[])
void hcc_compute_np(int n, int np, double p[], double x[], double w[])
void product_mixed_weight(int dim_num, int order_1d[], int order_nd, int rule[], double alpha[], double beta[], double weight_nd[])
double r8_ceiling(double x)
double r8_max(double x, double y)
double r8vec_dot_product(int n, double a1[], double a2[])
int level_to_order_exp_cc(int level, int growth)
void dif_to_r8poly(int nd, double xd[], double yd[], double c[])
void ccn_compute_weights(int n, double w[])
void hermite_compute(int order, double x[], double w[])
void gegenbauer_compute_points_np(int order, int np, double p[], double x[])
void gen_laguerre_ss_compute(int order, double alpha, double x[], double w[])
void comp_next(int n, int k, int a[], bool *more, int *h, int *t)
void r8vec_scale(double s, int n, double a[])
void i4vec_min_mv(int m, int n, int u[], int v[], int w[])
void r8mat_transpose_print(int m, int n, double a[], std::string title)
double r8poly_ant_val(int n, double poly_cof[], double xval)
void jacobi_ss_root(double *x, int order, double alpha, double beta, double *dp2, double *p1, double b[], double c[])
void gen_laguerre_compute_weights_np(int order, int np, double p[], double w[])
void r8vec_uniform_01(int n, int *seed, double r[])
void point_radial_tol_unique_index_inc2(int m, int n1, double a1[], int n2, double a2[], double tol, double z[], double r1[], int indx1[], bool unique1[], int unique_num1, int undx1[], int xdnu1[], double r2[], int indx2[], bool unique2[], int *unique_num2, int undx2[], int xdnu2[])
void hermite_interpolant_value(int nd, double xd[], double yd[], double xdp[], double ydp[], int nv, double xv[], double yv[], double yvp[])
void clenshaw_curtis_compute_np(int order, int np, double p[], double x[], double w[])
void gen_hermite_compute_weights_np(int order, int np, double p[], double w[])
double chebyshev2_integral(int expon)
void gegenbauer_compute_weights_np(int order, int np, double p[], double w[])
int i4_choose(int n, int k)
double r8_floor(double x)
void chebyshev2_compute_points(int order, double x[])