sgrust 0.8.6

A sparse grid library written in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
pub(crate) fn num_nodes(level: u32) -> usize
{
    match level
    {
        0 => 1,
        1 => 3,
        2 => 7,
        3 => 15,
        4 => 31,
        5 => 63,
        6 => 127,
        7 => 255,
        8 => 511,
        _ => panic!("Gauss-Patterson only supported for level <= 8!")
    }
}
#[allow(clippy::excessive_precision)]
pub(crate) fn gauss_patterson_abscissa(level: u32) -> Vec<f64>
{
    let mut x: Vec<f64> = Vec::new();
    if level == 0
    {
      x.push(0.0);
    }
    else if level == 1
    {
        x.resize(3, 0.0);
        x[0] = -0.77459666924148337704;
        x[1] =  0.0;
        x[2] =  0.77459666924148337704;
    }
    else if level == 2
    {
        x.resize(7, 0.0);
        x[0] = -0.96049126870802028342;
        x[1] = -0.77459666924148337704;
        x[2] = -0.43424374934680255800;
        x[3] =  0.0;
        x[4] =  0.43424374934680255800;
        x[5] =  0.77459666924148337704;
        x[6] =  0.96049126870802028342;
  
    }
    else if level == 3
    {
        x.resize(15, 0.0);
        x[ 0] = -0.99383196321275502221;
        x[ 1] = -0.96049126870802028342;
        x[ 2] = -0.88845923287225699889;
        x[ 3] = -0.77459666924148337704;
        x[ 4] = -0.62110294673722640294;
        x[ 5] = -0.43424374934680255800;
        x[ 6] = -0.22338668642896688163;
        x[ 7] =  0.0;
        x[ 8] =  0.22338668642896688163;
        x[ 9] =  0.43424374934680255800;
        x[10] =  0.62110294673722640294;
        x[11] =  0.77459666924148337704;
        x[12] =  0.88845923287225699889;
        x[13] =  0.96049126870802028342;
        x[14] =  0.99383196321275502221;
    }
    else if level == 4
    {
        x.resize(31, 0.0);
        x[ 0] = -0.99909812496766759766;
        x[ 1] = -0.99383196321275502221;
        x[ 2] = -0.98153114955374010687;
        x[ 3] = -0.96049126870802028342;
        x[ 4] = -0.92965485742974005667;
        x[ 5] = -0.88845923287225699889;
        x[ 6] = -0.83672593816886873550;
        x[ 7] = -0.77459666924148337704;
        x[ 8] = -0.70249620649152707861;
        x[ 9] = -0.62110294673722640294;
        x[10] = -0.53131974364437562397;
        x[11] = -0.43424374934680255800;
        x[12] = -0.33113539325797683309;
        x[13] = -0.22338668642896688163;
        x[14] = -0.11248894313318662575;
        x[15] =  0.0;
        x[16] =  0.11248894313318662575;
        x[17] =  0.22338668642896688163;
        x[18] =  0.33113539325797683309;
        x[19] =  0.43424374934680255800;
        x[20] =  0.53131974364437562397;
        x[21] =  0.62110294673722640294;
        x[22] =  0.70249620649152707861;
        x[23] =  0.77459666924148337704;
        x[24] =  0.83672593816886873550;
        x[25] =  0.88845923287225699889;
        x[26] =  0.92965485742974005667;
        x[27] =  0.96049126870802028342;
        x[28] =  0.98153114955374010687;
        x[29] =  0.99383196321275502221;
        x[30] =  0.99909812496766759766;
    }
    else if level == 5
    {
        x.resize(63, 0.0);
        x[ 0] = -0.99987288812035761194;
        x[ 1] = -0.99909812496766759766;
        x[ 2] = -0.99720625937222195908;
        x[ 3] = -0.99383196321275502221;
        x[ 4] = -0.98868475754742947994;
        x[ 5] = -0.98153114955374010687;
        x[ 6] = -0.97218287474858179658;
        x[ 7] = -0.96049126870802028342;
        x[ 8] = -0.94634285837340290515;
        x[ 9] = -0.92965485742974005667;
        x[10] = -0.91037115695700429250;
        x[11] = -0.88845923287225699889;
        x[12] = -0.86390793819369047715;
        x[13] = -0.83672593816886873550;
        x[14] = -0.80694053195021761186;
        x[15] = -0.77459666924148337704;
        x[16] = -0.73975604435269475868;
        x[17] = -0.70249620649152707861;
        x[18] = -0.66290966002478059546;
        x[19] = -0.62110294673722640294;
        x[20] = -0.57719571005204581484;
        x[21] = -0.53131974364437562397;
        x[22] = -0.48361802694584102756;
        x[23] = -0.43424374934680255800;
        x[24] = -0.38335932419873034692;
        x[25] = -0.33113539325797683309;
        x[26] = -0.27774982202182431507;
        x[27] = -0.22338668642896688163;
        x[28] = -0.16823525155220746498;
        x[29] = -0.11248894313318662575;
        x[30] = -0.056344313046592789972;
        x[31] =  0.0;
        x[32] =  0.056344313046592789972;
        x[33] =  0.11248894313318662575;
        x[34] =  0.16823525155220746498;
        x[35] =  0.22338668642896688163;
        x[36] =  0.27774982202182431507;
        x[37] =  0.33113539325797683309;
        x[38] =  0.38335932419873034692;
        x[39] =  0.43424374934680255800;
        x[40] =  0.48361802694584102756;
        x[41] =  0.53131974364437562397;
        x[42] =  0.57719571005204581484;
        x[43] =  0.62110294673722640294;
        x[44] =  0.66290966002478059546;
        x[45] =  0.70249620649152707861;
        x[46] =  0.73975604435269475868;
        x[47] =  0.77459666924148337704;
        x[48] =  0.80694053195021761186;
        x[49] =  0.83672593816886873550;
        x[50] =  0.86390793819369047715;
        x[51] =  0.88845923287225699889;
        x[52] =  0.91037115695700429250;
        x[53] =  0.92965485742974005667;
        x[54] =  0.94634285837340290515;
        x[55] =  0.96049126870802028342;
        x[56] =  0.97218287474858179658;
        x[57] =  0.98153114955374010687;
        x[58] =  0.98868475754742947994;
        x[59] =  0.99383196321275502221;
        x[60] =  0.99720625937222195908;
        x[61] =  0.99909812496766759766;
        x[62] =  0.99987288812035761194;
    }
    else if level == 6
    {
        x.resize(127, 0.0);
        x[  0] = -0.99998243035489159858;
        x[  1] = -0.99987288812035761194;
        x[  2] = -0.99959879967191068325;
        x[  3] = -0.99909812496766759766;
        x[  4] = -0.99831663531840739253;
        x[  5] = -0.99720625937222195908;
        x[  6] = -0.99572410469840718851;
        x[  7] = -0.99383196321275502221;
        x[  8] = -0.99149572117810613240;
        x[  9] = -0.98868475754742947994;
        x[ 10] = -0.98537149959852037111;
        x[ 11] = -0.98153114955374010687;
        x[ 12] = -0.97714151463970571416;
        x[ 13] = -0.97218287474858179658;
        x[ 14] = -0.96663785155841656709;
        x[ 15] = -0.96049126870802028342;
        x[ 16] = -0.95373000642576113641;
        x[ 17] = -0.94634285837340290515;
        x[ 18] = -0.93832039777959288365;
        x[ 19] = -0.92965485742974005667;
        x[ 20] = -0.92034002547001242073;
        x[ 21] = -0.91037115695700429250;
        x[ 22] = -0.89974489977694003664;
        x[ 23] = -0.88845923287225699889;
        x[ 24] = -0.87651341448470526974;
        x[ 25] = -0.86390793819369047715;
        x[ 26] = -0.85064449476835027976;
        x[ 27] = -0.83672593816886873550;
        x[ 28] = -0.82215625436498040737;
        x[ 29] = -0.80694053195021761186;
        x[ 30] = -0.79108493379984836143;
        x[ 31] = -0.77459666924148337704;
        x[ 32] = -0.75748396638051363793;
        x[ 33] = -0.73975604435269475868;
        x[ 34] = -0.72142308537009891548;
        x[ 35] = -0.70249620649152707861;
        x[ 36] = -0.68298743109107922809;
        x[ 37] = -0.66290966002478059546;
        x[ 38] = -0.64227664250975951377;
        x[ 39] = -0.62110294673722640294;
        x[ 40] = -0.59940393024224289297;
        x[ 41] = -0.57719571005204581484;
        x[ 42] = -0.55449513263193254887;
        x[ 43] = -0.53131974364437562397;
        x[ 44] = -0.50768775753371660215;
        x[ 45] = -0.48361802694584102756;
        x[ 46] = -0.45913001198983233287;
        x[ 47] = -0.43424374934680255800;
        x[ 48] = -0.40897982122988867241;
        x[ 49] = -0.38335932419873034692;
        x[ 50] = -0.35740383783153215238;
        x[ 51] = -0.33113539325797683309;
        x[ 52] = -0.30457644155671404334;
        x[ 53] = -0.27774982202182431507;
        x[ 54] = -0.25067873030348317661;
        x[ 55] = -0.22338668642896688163;
        x[ 56] = -0.19589750271110015392;
        x[ 57] = -0.16823525155220746498;
        x[ 58] = -0.14042423315256017459;
        x[ 59] = -0.11248894313318662575;
        x[ 60] = -0.084454040083710883710;
        x[ 61] = -0.056344313046592789972;
        x[ 62] = -0.028184648949745694339;
        x[ 63] =  0.0;
        x[ 64] =  0.028184648949745694339;
        x[ 65] =  0.056344313046592789972;
        x[ 66] =  0.084454040083710883710;
        x[ 67] =  0.11248894313318662575;
        x[ 68] =  0.14042423315256017459;
        x[ 69] =  0.16823525155220746498;
        x[ 70] =  0.19589750271110015392;
        x[ 71] =  0.22338668642896688163;
        x[ 72] =  0.25067873030348317661;
        x[ 73] =  0.27774982202182431507;
        x[ 74] =  0.30457644155671404334;
        x[ 75] =  0.33113539325797683309;
        x[ 76] =  0.35740383783153215238;
        x[ 77] =  0.38335932419873034692;
        x[ 78] =  0.40897982122988867241;
        x[ 79] =  0.43424374934680255800;
        x[ 80] =  0.45913001198983233287;
        x[ 81] =  0.48361802694584102756;
        x[ 82] =  0.50768775753371660215;
        x[ 83] =  0.53131974364437562397;
        x[ 84] =  0.55449513263193254887;
        x[ 85] =  0.57719571005204581484;
        x[ 86] =  0.59940393024224289297;
        x[ 87] =  0.62110294673722640294;
        x[ 88] =  0.64227664250975951377;
        x[ 89] =  0.66290966002478059546;
        x[ 90] =  0.68298743109107922809;
        x[ 91] =  0.70249620649152707861;
        x[ 92] =  0.72142308537009891548;
        x[ 93] =  0.73975604435269475868;
        x[ 94] =  0.75748396638051363793;
        x[ 95] =  0.77459666924148337704;
        x[ 96] =  0.79108493379984836143;
        x[ 97] =  0.80694053195021761186;
        x[ 98] =  0.82215625436498040737;
        x[ 99] =  0.83672593816886873550;
        x[100] =  0.85064449476835027976;
        x[101] =  0.86390793819369047715;
        x[102] =  0.87651341448470526974;
        x[103] =  0.88845923287225699889;
        x[104] =  0.89974489977694003664;
        x[105] =  0.91037115695700429250;
        x[106] =  0.92034002547001242073;
        x[107] =  0.92965485742974005667;
        x[108] =  0.93832039777959288365;
        x[109] =  0.94634285837340290515;
        x[110] =  0.95373000642576113641;
        x[111] =  0.96049126870802028342;
        x[112] =  0.96663785155841656709;
        x[113] =  0.97218287474858179658;
        x[114] =  0.97714151463970571416;
        x[115] =  0.98153114955374010687;
        x[116] =  0.98537149959852037111;
        x[117] =  0.98868475754742947994;
        x[118] =  0.99149572117810613240;
        x[119] =  0.99383196321275502221;
        x[120] =  0.99572410469840718851;
        x[121] =  0.99720625937222195908;
        x[122] =  0.99831663531840739253;
        x[123] =  0.99909812496766759766;
        x[124] =  0.99959879967191068325;
        x[125] =  0.99987288812035761194;
        x[126] =  0.99998243035489159858;
    }
    else if level == 7
    {
        x.resize(255, 0.0);
        x[  0] = -0.99999759637974846462;
        x[  1] = -0.99998243035489159858;
        x[  2] = -0.99994399620705437576;
        x[  3] = -0.99987288812035761194;
        x[  4] = -0.99976049092443204733;
        x[  5] = -0.99959879967191068325;
        x[  6] = -0.99938033802502358193;
        x[  7] = -0.99909812496766759766;
        x[  8] = -0.99874561446809511470;
        x[  9] = -0.99831663531840739253;
        x[ 10] = -0.99780535449595727456;
        x[ 11] = -0.99720625937222195908;
        x[ 12] = -0.99651414591489027385;
        x[ 13] = -0.99572410469840718851;
        x[ 14] = -0.99483150280062100052;
        x[ 15] = -0.99383196321275502221;
        x[ 16] = -0.99272134428278861533;
        x[ 17] = -0.99149572117810613240;
        x[ 18] = -0.99015137040077015918;
        x[ 19] = -0.98868475754742947994;
        x[ 20] = -0.98709252795403406719;
        x[ 21] = -0.98537149959852037111;
        x[ 22] = -0.98351865757863272876;
        x[ 23] = -0.98153114955374010687;
        x[ 24] = -0.97940628167086268381;
        x[ 25] = -0.97714151463970571416;
        x[ 26] = -0.97473445975240266776;
        x[ 27] = -0.97218287474858179658;
        x[ 28] = -0.96948465950245923177;
        x[ 29] = -0.96663785155841656709;
        x[ 30] = -0.96364062156981213252;
        x[ 31] = -0.96049126870802028342;
        x[ 32] = -0.95718821610986096274;
        x[ 33] = -0.95373000642576113641;
        x[ 34] = -0.95011529752129487656;
        x[ 35] = -0.94634285837340290515;
        x[ 36] = -0.94241156519108305981;
        x[ 37] = -0.93832039777959288365;
        x[ 38] = -0.93406843615772578800;
        x[ 39] = -0.92965485742974005667;
        x[ 40] = -0.92507893290707565236;
        x[ 41] = -0.92034002547001242073;
        x[ 42] = -0.91543758715576504064;
        x[ 43] = -0.91037115695700429250;
        x[ 44] = -0.90514035881326159519;
        x[ 45] = -0.89974489977694003664;
        x[ 46] = -0.89418456833555902286;
        x[ 47] = -0.88845923287225699889;
        x[ 48] = -0.88256884024734190684;
        x[ 49] = -0.87651341448470526974;
        x[ 50] = -0.87029305554811390585;
        x[ 51] = -0.86390793819369047715;
        x[ 52] = -0.85735831088623215653;
        x[ 53] = -0.85064449476835027976;
        x[ 54] = -0.84376688267270860104;
        x[ 55] = -0.83672593816886873550;
        x[ 56] = -0.82952219463740140018;
        x[ 57] = -0.82215625436498040737;
        x[ 58] = -0.81462878765513741344;
        x[ 59] = -0.80694053195021761186;
        x[ 60] = -0.79909229096084140180;
        x[ 61] = -0.79108493379984836143;
        x[ 62] = -0.78291939411828301639;
        x[ 63] = -0.77459666924148337704;
        x[ 64] = -0.76611781930376009072;
        x[ 65] = -0.75748396638051363793;
        x[ 66] = -0.74869629361693660282;
        x[ 67] = -0.73975604435269475868;
        x[ 68] = -0.73066452124218126133;
        x[ 69] = -0.72142308537009891548;
        x[ 70] = -0.71203315536225203459;
        x[ 71] = -0.70249620649152707861;
        x[ 72] = -0.69281376977911470289;
        x[ 73] = -0.68298743109107922809;
        x[ 74] = -0.67301883023041847920;
        x[ 75] = -0.66290966002478059546;
        x[ 76] = -0.65266166541001749610;
        x[ 77] = -0.64227664250975951377;
        x[ 78] = -0.63175643771119423041;
        x[ 79] = -0.62110294673722640294;
        x[ 80] = -0.61031811371518640016;
        x[ 81] = -0.59940393024224289297;
        x[ 82] = -0.58836243444766254143;
        x[ 83] = -0.57719571005204581484;
        x[ 84] = -0.56590588542365442262;
        x[ 85] = -0.55449513263193254887;
        x[ 86] = -0.54296566649831149049;
        x[ 87] = -0.53131974364437562397;
        x[ 88] = -0.51955966153745702199;
        x[ 89] = -0.50768775753371660215;
        x[ 90] = -0.49570640791876146017;
        x[ 91] = -0.48361802694584102756;
        x[ 92] = -0.47142506587165887693;
        x[ 93] = -0.45913001198983233287;
        x[ 94] = -0.44673538766202847374;
        x[ 95] = -0.43424374934680255800;
        x[ 96] = -0.42165768662616330006;
        x[ 97] = -0.40897982122988867241;
        x[ 98] = -0.39621280605761593918;
        x[ 99] = -0.38335932419873034692;
        x[100] = -0.37042208795007823014;
        x[101] = -0.35740383783153215238;
        x[102] = -0.34430734159943802278;
        x[103] = -0.33113539325797683309;
        x[104] = -0.31789081206847668318;
        x[105] = -0.30457644155671404334;
        x[106] = -0.29119514851824668196;
        x[107] = -0.27774982202182431507;
        x[108] = -0.26424337241092676194;
        x[109] = -0.25067873030348317661;
        x[110] = -0.23705884558982972721;
        x[111] = -0.22338668642896688163;
        x[112] = -0.20966523824318119477;
        x[113] = -0.19589750271110015392;
        x[114] = -0.18208649675925219825;
        x[115] = -0.16823525155220746498;
        x[116] = -0.15434681148137810869;
        x[117] = -0.14042423315256017459;
        x[118] = -0.12647058437230196685;
        x[119] = -0.11248894313318662575;
        x[120] = -0.098482396598119202090;
        x[121] = -0.084454040083710883710;
        x[122] = -0.070406976042855179063;
        x[123] = -0.056344313046592789972;
        x[124] = -0.042269164765363603212;
        x[125] = -0.028184648949745694339;
        x[126] = -0.014093886410782462614;
        x[127] =  0.0;
        x[128] =  0.014093886410782462614;
        x[129] =  0.028184648949745694339;
        x[130] =  0.042269164765363603212;
        x[131] =  0.056344313046592789972;
        x[132] =  0.070406976042855179063;
        x[133] =  0.084454040083710883710;
        x[134] =  0.098482396598119202090;
        x[135] =  0.11248894313318662575;
        x[136] =  0.12647058437230196685;
        x[137] =  0.14042423315256017459;
        x[138] =  0.15434681148137810869;
        x[139] =  0.16823525155220746498;
        x[140] =  0.18208649675925219825;
        x[141] =  0.19589750271110015392;
        x[142] =  0.20966523824318119477;
        x[143] =  0.22338668642896688163;
        x[144] =  0.23705884558982972721;
        x[145] =  0.25067873030348317661;
        x[146] =  0.26424337241092676194;
        x[147] =  0.27774982202182431507;
        x[148] =  0.29119514851824668196;
        x[149] =  0.30457644155671404334;
        x[150] =  0.31789081206847668318;
        x[151] =  0.33113539325797683309;
        x[152] =  0.34430734159943802278;
        x[153] =  0.35740383783153215238;
        x[154] =  0.37042208795007823014;
        x[155] =  0.38335932419873034692;
        x[156] =  0.39621280605761593918;
        x[157] =  0.40897982122988867241;
        x[158] =  0.42165768662616330006;
        x[159] =  0.43424374934680255800;
        x[160] =  0.44673538766202847374;
        x[161] =  0.45913001198983233287;
        x[162] =  0.47142506587165887693;
        x[163] =  0.48361802694584102756;
        x[164] =  0.49570640791876146017;
        x[165] =  0.50768775753371660215;
        x[166] =  0.51955966153745702199;
        x[167] =  0.53131974364437562397;
        x[168] =  0.54296566649831149049;
        x[169] =  0.55449513263193254887;
        x[170] =  0.56590588542365442262;
        x[171] =  0.57719571005204581484;
        x[172] =  0.58836243444766254143;
        x[173] =  0.59940393024224289297;
        x[174] =  0.61031811371518640016;
        x[175] =  0.62110294673722640294;
        x[176] =  0.63175643771119423041;
        x[177] =  0.64227664250975951377;
        x[178] =  0.65266166541001749610;
        x[179] =  0.66290966002478059546;
        x[180] =  0.67301883023041847920;
        x[181] =  0.68298743109107922809;
        x[182] =  0.69281376977911470289;
        x[183] =  0.70249620649152707861;
        x[184] =  0.71203315536225203459;
        x[185] =  0.72142308537009891548;
        x[186] =  0.73066452124218126133;
        x[187] =  0.73975604435269475868;
        x[188] =  0.74869629361693660282;
        x[189] =  0.75748396638051363793;
        x[190] =  0.76611781930376009072;
        x[191] =  0.77459666924148337704;
        x[192] =  0.78291939411828301639;
        x[193] =  0.79108493379984836143;
        x[194] =  0.79909229096084140180;
        x[195] =  0.80694053195021761186;
        x[196] =  0.81462878765513741344;
        x[197] =  0.82215625436498040737;
        x[198] =  0.82952219463740140018;
        x[199] =  0.83672593816886873550;
        x[200] =  0.84376688267270860104;
        x[201] =  0.85064449476835027976;
        x[202] =  0.85735831088623215653;
        x[203] =  0.86390793819369047715;
        x[204] =  0.87029305554811390585;
        x[205] =  0.87651341448470526974;
        x[206] =  0.88256884024734190684;
        x[207] =  0.88845923287225699889;
        x[208] =  0.89418456833555902286;
        x[209] =  0.89974489977694003664;
        x[210] =  0.90514035881326159519;
        x[211] =  0.91037115695700429250;
        x[212] =  0.91543758715576504064;
        x[213] =  0.92034002547001242073;
        x[214] =  0.92507893290707565236;
        x[215] =  0.92965485742974005667;
        x[216] =  0.93406843615772578800;
        x[217] =  0.93832039777959288365;
        x[218] =  0.94241156519108305981;
        x[219] =  0.94634285837340290515;
        x[220] =  0.95011529752129487656;
        x[221] =  0.95373000642576113641;
        x[222] =  0.95718821610986096274;
        x[223] =  0.96049126870802028342;
        x[224] =  0.96364062156981213252;
        x[225] =  0.96663785155841656709;
        x[226] =  0.96948465950245923177;
        x[227] =  0.97218287474858179658;
        x[228] =  0.97473445975240266776;
        x[229] =  0.97714151463970571416;
        x[230] =  0.97940628167086268381;
        x[231] =  0.98153114955374010687;
        x[232] =  0.98351865757863272876;
        x[233] =  0.98537149959852037111;
        x[234] =  0.98709252795403406719;
        x[235] =  0.98868475754742947994;
        x[236] =  0.99015137040077015918;
        x[237] =  0.99149572117810613240;
        x[238] =  0.99272134428278861533;
        x[239] =  0.99383196321275502221;
        x[240] =  0.99483150280062100052;
        x[241] =  0.99572410469840718851;
        x[242] =  0.99651414591489027385;
        x[243] =  0.99720625937222195908;
        x[244] =  0.99780535449595727456;
        x[245] =  0.99831663531840739253;
        x[246] =  0.99874561446809511470;
        x[247] =  0.99909812496766759766;
        x[248] =  0.99938033802502358193;
        x[249] =  0.99959879967191068325;
        x[250] =  0.99976049092443204733;
        x[251] =  0.99987288812035761194;
        x[252] =  0.99994399620705437576;
        x[253] =  0.99998243035489159858;
        x[254] =  0.99999759637974846462;
    }
    else if level == 8
    {
        x.resize(511, 0.0);
        x[  0] = -0.999999672956734384381;
        x[  1] = -0.999997596379748464620;
        x[  2] = -0.999992298136257588028;
        x[  3] = -0.999982430354891598580;
        x[  4] = -0.999966730098486276883;
        x[  5] = -0.999943996207054375764;
        x[  6] = -0.999913081144678282800;
        x[  7] = -0.999872888120357611938;
        x[  8] = -0.999822363679787739196;
        x[  9] = -0.999760490924432047330;
        x[ 10] = -0.999686286448317731776;
        x[ 11] = -0.999598799671910683252;
        x[ 12] = -0.999497112467187190535;
        x[ 13] = -0.999380338025023581928;
        x[ 14] = -0.999247618943342473599;
        x[ 15] = -0.999098124967667597662;
        x[ 16] = -0.998931050830810562236;
        x[ 17] = -0.998745614468095114704;
        x[ 18] = -0.998541055697167906027;
        x[ 19] = -0.998316635318407392531;
        x[ 20] = -0.998071634524930323302;
        x[ 21] = -0.997805354495957274562;
        x[ 22] = -0.997517116063472399965;
        x[ 23] = -0.997206259372221959076;
        x[ 24] = -0.996872143485260161299;
        x[ 25] = -0.996514145914890273849;
        x[ 26] = -0.996131662079315037786;
        x[ 27] = -0.995724104698407188509;
        x[ 28] = -0.995290903148810302261;
        x[ 29] = -0.994831502800621000519;
        x[ 30] = -0.994345364356723405931;
        x[ 31] = -0.993831963212755022209;
        x[ 32] = -0.993290788851684966211;
        x[ 33] = -0.992721344282788615328;
        x[ 34] = -0.992123145530863117683;
        x[ 35] = -0.991495721178106132399;
        x[ 36] = -0.990838611958294243677;
        x[ 37] = -0.990151370400770159181;
        x[ 38] = -0.989433560520240838716;
        x[ 39] = -0.988684757547429479939;
        x[ 40] = -0.987904547695124280467;
        x[ 41] = -0.987092527954034067190;
        x[ 42] = -0.986248305913007552681;
        x[ 43] = -0.985371499598520371114;
        x[ 44] = -0.984461737328814534596;
        x[ 45] = -0.983518657578632728762;
        x[ 46] = -0.982541908851080604251;
        x[ 47] = -0.981531149553740106867;
        x[ 48] = -0.980486047876721339416;
        x[ 49] = -0.979406281670862683806;
        x[ 50] = -0.978291538324758539526;
        x[ 51] = -0.977141514639705714156;
        x[ 52] = -0.975955916702011753129;
        x[ 53] = -0.974734459752402667761;
        x[ 54] = -0.973476868052506926773;
        x[ 55] = -0.972182874748581796578;
        x[ 56] = -0.970852221732792443256;
        x[ 57] = -0.969484659502459231771;
        x[ 58] = -0.968079947017759947964;
        x[ 59] = -0.966637851558416567092;
        x[ 60] = -0.965158148579915665979;
        x[ 61] = -0.963640621569812132521;
        x[ 62] = -0.962085061904651475741;
        x[ 63] = -0.960491268708020283423;
        x[ 64] = -0.958859048710200221356;
        x[ 65] = -0.957188216109860962736;
        x[ 66] = -0.955478592438183697574;
        x[ 67] = -0.953730006425761136415;
        x[ 68] = -0.951942293872573589498;
        x[ 69] = -0.950115297521294876558;
        x[ 70] = -0.948248866934137357063;
        x[ 71] = -0.946342858373402905148;
        x[ 72] = -0.944397134685866648591;
        x[ 73] = -0.942411565191083059813;
        x[ 74] = -0.940386025573669721370;
        x[ 75] = -0.938320397779592883655;
        x[ 76] = -0.936214569916450806625;
        x[ 77] = -0.934068436157725787999;
        x[ 78] = -0.931881896650953639345;
        x[ 79] = -0.929654857429740056670;
        x[ 80] = -0.927387230329536696843;
        x[ 81] = -0.925078932907075652364;
        x[ 82] = -0.922729888363349241523;
        x[ 83] = -0.920340025470012420730;
        x[ 84] = -0.917909278499077501636;
        x[ 85] = -0.915437587155765040644;
        x[ 86] = -0.912924896514370590080;
        x[ 87] = -0.910371156957004292498;
        x[ 88] = -0.907776324115058903624;
        x[ 89] = -0.905140358813261595189;
        x[ 90] = -0.902463227016165675048;
        x[ 91] = -0.899744899776940036639;
        x[ 92] = -0.896985353188316590376;
        x[ 93] = -0.894184568335559022859;
        x[ 94] = -0.891342531251319871666;
        x[ 95] = -0.888459232872256998890;
        x[ 96] = -0.885534668997285008926;
        x[ 97] = -0.882568840247341906842;
        x[ 98] = -0.879561752026556262568;
        x[ 99] = -0.876513414484705269742;
        x[100] = -0.873423842480859310192;
        x[101] = -0.870293055548113905851;
        x[102] = -0.867121077859315215614;
        x[103] = -0.863907938193690477146;
        x[104] = -0.860653669904299969802;
        x[105] = -0.857358310886232156525;
        x[106] = -0.854021903545468625813;
        x[107] = -0.850644494768350279758;
        x[108] = -0.847226135891580884381;
        x[109] = -0.843766882672708601038;
        x[110] = -0.840266795261030442350;
        x[111] = -0.836725938168868735503;
        x[112] = -0.833144380243172624728;
        x[113] = -0.829522194637401400178;
        x[114] = -0.825859458783650001088;
        x[115] = -0.822156254364980407373;
        x[116] = -0.818412667287925807395;
        x[117] = -0.814628787655137413436;
        x[118] = -0.810804709738146594361;
        x[119] = -0.806940531950217611856;
        x[120] = -0.803036356819268687782;
        x[121] = -0.799092290960841401800;
        x[122] = -0.795108445051100526780;
        x[123] = -0.791084933799848361435;
        x[124] = -0.787021875923539422170;
        x[125] = -0.782919394118283016385;
        x[126] = -0.778777615032822744702;
        x[127] = -0.774596669241483377036;
        x[128] = -0.770376691217076824278;
        x[129] = -0.766117819303760090717;
        x[130] = -0.761820195689839149173;
        x[131] = -0.757483966380513637926;
        x[132] = -0.753109281170558142523;
        x[133] = -0.748696293616936602823;
        x[134] = -0.744245161011347082309;
        x[135] = -0.739756044352694758677;
        x[136] = -0.735229108319491547663;
        x[137] = -0.730664521242181261329;
        x[138] = -0.726062455075389632685;
        x[139] = -0.721423085370098915485;
        x[140] = -0.716746591245747095767;
        x[141] = -0.712033155362252034587;
        x[142] = -0.707282963891961103412;
        x[143] = -0.702496206491527078610;
        x[144] = -0.697673076273711232906;
        x[145] = -0.692813769779114702895;
        x[146] = -0.687918486947839325756;
        x[147] = -0.682987431091079228087;
        x[148] = -0.678020808862644517838;
        x[149] = -0.673018830230418479199;
        x[150] = -0.667981708447749702165;
        x[151] = -0.662909660024780595461;
        x[152] = -0.657802904699713735422;
        x[153] = -0.652661665410017496101;
        x[154] = -0.647486168263572388782;
        x[155] = -0.642276642509759513774;
        x[156] = -0.637033320510492495071;
        x[157] = -0.631756437711194230414;
        x[158] = -0.626446232611719746542;
        x[159] = -0.621102946737226402941;
        x[160] = -0.615726824608992638014;
        x[161] = -0.610318113715186400156;
        x[162] = -0.604877064481584353319;
        x[163] = -0.599403930242242892974;
        x[164] = -0.593898967210121954393;
        x[165] = -0.588362434447662541434;
        x[166] = -0.582794593837318850840;
        x[167] = -0.577195710052045814844;
        x[168] = -0.571566050525742833992;
        x[169] = -0.565905885423654422623;
        x[170] = -0.560215487612728441818;
        x[171] = -0.554495132631932548866;
        x[172] = -0.548745098662529448608;
        x[173] = -0.542965666498311490492;
        x[174] = -0.537157119515795115982;
        x[175] = -0.531319743644375623972;
        x[176] = -0.525453827336442687395;
        x[177] = -0.519559661537457021993;
        x[178] = -0.513637539655988578507;
        x[179] = -0.507687757533716602155;
        x[180] = -0.501710613415391878251;
        x[181] = -0.495706407918761460170;
        x[182] = -0.489675444004456155436;
        x[183] = -0.483618026945841027562;
        x[184] = -0.477534464298829155284;
        x[185] = -0.471425065871658876934;
        x[186] = -0.465290143694634735858;
        x[187] = -0.459130011989832332874;
        x[188] = -0.452944987140767283784;
        x[189] = -0.446735387662028473742;
        x[190] = -0.440501534168875795783;
        x[191] = -0.434243749346802558002;
        x[192] = -0.427962357921062742583;
        x[193] = -0.421657686626163300056;
        x[194] = -0.415330064175321663764;
        x[195] = -0.408979821229888672409;
        x[196] = -0.402607290368737092671;
        x[197] = -0.396212806057615939183;
        x[198] = -0.389796704618470795479;
        x[199] = -0.383359324198730346916;
        x[200] = -0.376901004740559344802;
        x[201] = -0.370422087950078230138;
        x[202] = -0.363922917266549655269;
        x[203] = -0.357403837831532152376;
        x[204] = -0.350865196458001209011;
        x[205] = -0.344307341599438022777;
        x[206] = -0.337730623318886219621;
        x[207] = -0.331135393257976833093;
        x[208] = -0.324522004605921855207;
        x[209] = -0.317890812068476683182;
        x[210] = -0.311242171836871800300;
        x[211] = -0.304576441556714043335;
        x[212] = -0.297893980296857823437;
        x[213] = -0.291195148518246681964;
        x[214] = -0.284480308042725577496;
        x[215] = -0.277749822021824315065;
        x[216] = -0.271004054905512543536;
        x[217] = -0.264243372410926761945;
        x[218] = -0.257468141491069790481;
        x[219] = -0.250678730303483176613;
        x[220] = -0.243875508178893021593;
        x[221] = -0.237058845589829727213;
        x[222] = -0.230229114119222177156;
        x[223] = -0.223386686428966881628;
        x[224] = -0.216531936228472628081;
        x[225] = -0.209665238243181194766;
        x[226] = -0.202786968183064697557;
        x[227] = -0.195897502711100153915;
        x[228] = -0.188997219411721861059;
        x[229] = -0.182086496759252198246;
        x[230] = -0.175165714086311475707;
        x[231] = -0.168235251552207464982;
        x[232] = -0.161295490111305257361;
        x[233] = -0.154346811481378108692;
        x[234] = -0.147389598111939940054;
        x[235] = -0.140424233152560174594;
        x[236] = -0.133451100421161601344;
        x[237] = -0.126470584372301966851;
        x[238] = -0.119483070065440005133;
        x[239] = -0.112488943133186625746;
        x[240] = -0.105488589749541988533;
        x[241] = -0.984823965981192020903E-01;
        x[242] = -0.914707508403553909095E-01;
        x[243] = -0.844540400837108837102E-01;
        x[244] = -0.774326523498572825675E-01;
        x[245] = -0.704069760428551790633E-01;
        x[246] = -0.633773999173222898797E-01;
        x[247] = -0.563443130465927899720E-01;
        x[248] = -0.493081047908686267156E-01;
        x[249] = -0.422691647653636032124E-01;
        x[250] = -0.352278828084410232603E-01;
        x[251] = -0.281846489497456943394E-01;
        x[252] = -0.211398533783310883350E-01;
        x[253] = -0.140938864107824626142E-01;
        x[254] = -0.704713845933674648514E-02;
        x[255] = 0.000000000000000000000;
        x[256] = 0.704713845933674648514E-02;
        x[257] = 0.140938864107824626142E-01;
        x[258] = 0.211398533783310883350E-01;
        x[259] = 0.281846489497456943394E-01;
        x[260] = 0.352278828084410232603E-01;
        x[261] = 0.422691647653636032124E-01;
        x[262] = 0.493081047908686267156E-01;
        x[263] = 0.563443130465927899720E-01;
        x[264] = 0.633773999173222898797E-01;
        x[265] = 0.704069760428551790633E-01;
        x[266] = 0.774326523498572825675E-01;
        x[267] = 0.844540400837108837102E-01;
        x[268] = 0.914707508403553909095E-01;
        x[269] = 0.984823965981192020903E-01;
        x[270] = 0.105488589749541988533;
        x[271] = 0.112488943133186625746;
        x[272] = 0.119483070065440005133;
        x[273] = 0.126470584372301966851;
        x[274] = 0.133451100421161601344;
        x[275] = 0.140424233152560174594;
        x[276] = 0.147389598111939940054;
        x[277] = 0.154346811481378108692;
        x[278] = 0.161295490111305257361;
        x[279] = 0.168235251552207464982;
        x[280] = 0.175165714086311475707;
        x[281] = 0.182086496759252198246;
        x[282] = 0.188997219411721861059;
        x[283] = 0.195897502711100153915;
        x[284] = 0.202786968183064697557;
        x[285] = 0.209665238243181194766;
        x[286] = 0.216531936228472628081;
        x[287] = 0.223386686428966881628;
        x[288] = 0.230229114119222177156;
        x[289] = 0.237058845589829727213;
        x[290] = 0.243875508178893021593;
        x[291] = 0.250678730303483176613;
        x[292] = 0.257468141491069790481;
        x[293] = 0.264243372410926761945;
        x[294] = 0.271004054905512543536;
        x[295] = 0.277749822021824315065;
        x[296] = 0.284480308042725577496;
        x[297] = 0.291195148518246681964;
        x[298] = 0.297893980296857823437;
        x[299] = 0.304576441556714043335;
        x[300] = 0.311242171836871800300;
        x[301] = 0.317890812068476683182;
        x[302] = 0.324522004605921855207;
        x[303] = 0.331135393257976833093;
        x[304] = 0.337730623318886219621;
        x[305] = 0.344307341599438022777;
        x[306] = 0.350865196458001209011;
        x[307] = 0.357403837831532152376;
        x[308] = 0.363922917266549655269;
        x[309] = 0.370422087950078230138;
        x[310] = 0.376901004740559344802;
        x[311] = 0.383359324198730346916;
        x[312] = 0.389796704618470795479;
        x[313] = 0.396212806057615939183;
        x[314] = 0.402607290368737092671;
        x[315] = 0.408979821229888672409;
        x[316] = 0.415330064175321663764;
        x[317] = 0.421657686626163300056;
        x[318] = 0.427962357921062742583;
        x[319] = 0.434243749346802558002;
        x[320] = 0.440501534168875795783;
        x[321] = 0.446735387662028473742;
        x[322] = 0.452944987140767283784;
        x[323] = 0.459130011989832332874;
        x[324] = 0.465290143694634735858;
        x[325] = 0.471425065871658876934;
        x[326] = 0.477534464298829155284;
        x[327] = 0.483618026945841027562;
        x[328] = 0.489675444004456155436;
        x[329] = 0.495706407918761460170;
        x[330] = 0.501710613415391878251;
        x[331] = 0.507687757533716602155;
        x[332] = 0.513637539655988578507;
        x[333] = 0.519559661537457021993;
        x[334] = 0.525453827336442687395;
        x[335] = 0.531319743644375623972;
        x[336] = 0.537157119515795115982;
        x[337] = 0.542965666498311490492;
        x[338] = 0.548745098662529448608;
        x[339] = 0.554495132631932548866;
        x[340] = 0.560215487612728441818;
        x[341] = 0.565905885423654422623;
        x[342] = 0.571566050525742833992;
        x[343] = 0.577195710052045814844;
        x[344] = 0.582794593837318850840;
        x[345] = 0.588362434447662541434;
        x[346] = 0.593898967210121954393;
        x[347] = 0.599403930242242892974;
        x[348] = 0.604877064481584353319;
        x[349] = 0.610318113715186400156;
        x[350] = 0.615726824608992638014;
        x[351] = 0.621102946737226402941;
        x[352] = 0.626446232611719746542;
        x[353] = 0.631756437711194230414;
        x[354] = 0.637033320510492495071;
        x[355] = 0.642276642509759513774;
        x[356] = 0.647486168263572388782;
        x[357] = 0.652661665410017496101;
        x[358] = 0.657802904699713735422;
        x[359] = 0.662909660024780595461;
        x[360] = 0.667981708447749702165;
        x[361] = 0.673018830230418479199;
        x[362] = 0.678020808862644517838;
        x[363] = 0.682987431091079228087;
        x[364] = 0.687918486947839325756;
        x[365] = 0.692813769779114702895;
        x[366] = 0.697673076273711232906;
        x[367] = 0.702496206491527078610;
        x[368] = 0.707282963891961103412;
        x[369] = 0.712033155362252034587;
        x[370] = 0.716746591245747095767;
        x[371] = 0.721423085370098915485;
        x[372] = 0.726062455075389632685;
        x[373] = 0.730664521242181261329;
        x[374] = 0.735229108319491547663;
        x[375] = 0.739756044352694758677;
        x[376] = 0.744245161011347082309;
        x[377] = 0.748696293616936602823;
        x[378] = 0.753109281170558142523;
        x[379] = 0.757483966380513637926;
        x[380] = 0.761820195689839149173;
        x[381] = 0.766117819303760090717;
        x[382] = 0.770376691217076824278;
        x[383] = 0.774596669241483377036;
        x[384] = 0.778777615032822744702;
        x[385] = 0.782919394118283016385;
        x[386] = 0.787021875923539422170;
        x[387] = 0.791084933799848361435;
        x[388] = 0.795108445051100526780;
        x[389] = 0.799092290960841401800;
        x[390] = 0.803036356819268687782;
        x[391] = 0.806940531950217611856;
        x[392] = 0.810804709738146594361;
        x[393] = 0.814628787655137413436;
        x[394] = 0.818412667287925807395;
        x[395] = 0.822156254364980407373;
        x[396] = 0.825859458783650001088;
        x[397] = 0.829522194637401400178;
        x[398] = 0.833144380243172624728;
        x[399] = 0.836725938168868735503;
        x[400] = 0.840266795261030442350;
        x[401] = 0.843766882672708601038;
        x[402] = 0.847226135891580884381;
        x[403] = 0.850644494768350279758;
        x[404] = 0.854021903545468625813;
        x[405] = 0.857358310886232156525;
        x[406] = 0.860653669904299969802;
        x[407] = 0.863907938193690477146;
        x[408] = 0.867121077859315215614;
        x[409] = 0.870293055548113905851;
        x[410] = 0.873423842480859310192;
        x[411] = 0.876513414484705269742;
        x[412] = 0.879561752026556262568;
        x[413] = 0.882568840247341906842;
        x[414] = 0.885534668997285008926;
        x[415] = 0.888459232872256998890;
        x[416] = 0.891342531251319871666;
        x[417] = 0.894184568335559022859;
        x[418] = 0.896985353188316590376;
        x[419] = 0.899744899776940036639;
        x[420] = 0.902463227016165675048;
        x[421] = 0.905140358813261595189;
        x[422] = 0.907776324115058903624;
        x[423] = 0.910371156957004292498;
        x[424] = 0.912924896514370590080;
        x[425] = 0.915437587155765040644;
        x[426] = 0.917909278499077501636;
        x[427] = 0.920340025470012420730;
        x[428] = 0.922729888363349241523;
        x[429] = 0.925078932907075652364;
        x[430] = 0.927387230329536696843;
        x[431] = 0.929654857429740056670;
        x[432] = 0.931881896650953639345;
        x[433] = 0.934068436157725787999;
        x[434] = 0.936214569916450806625;
        x[435] = 0.938320397779592883655;
        x[436] = 0.940386025573669721370;
        x[437] = 0.942411565191083059813;
        x[438] = 0.944397134685866648591;
        x[439] = 0.946342858373402905148;
        x[440] = 0.948248866934137357063;
        x[441] = 0.950115297521294876558;
        x[442] = 0.951942293872573589498;
        x[443] = 0.953730006425761136415;
        x[444] = 0.955478592438183697574;
        x[445] = 0.957188216109860962736;
        x[446] = 0.958859048710200221356;
        x[447] = 0.960491268708020283423;
        x[448] = 0.962085061904651475741;
        x[449] = 0.963640621569812132521;
        x[450] = 0.965158148579915665979;
        x[451] = 0.966637851558416567092;
        x[452] = 0.968079947017759947964;
        x[453] = 0.969484659502459231771;
        x[454] = 0.970852221732792443256;
        x[455] = 0.972182874748581796578;
        x[456] = 0.973476868052506926773;
        x[457] = 0.974734459752402667761;
        x[458] = 0.975955916702011753129;
        x[459] = 0.977141514639705714156;
        x[460] = 0.978291538324758539526;
        x[461] = 0.979406281670862683806;
        x[462] = 0.980486047876721339416;
        x[463] = 0.981531149553740106867;
        x[464] = 0.982541908851080604251;
        x[465] = 0.983518657578632728762;
        x[466] = 0.984461737328814534596;
        x[467] = 0.985371499598520371114;
        x[468] = 0.986248305913007552681;
        x[469] = 0.987092527954034067190;
        x[470] = 0.987904547695124280467;
        x[471] = 0.988684757547429479939;
        x[472] = 0.989433560520240838716;
        x[473] = 0.990151370400770159181;
        x[474] = 0.990838611958294243677;
        x[475] = 0.991495721178106132399;
        x[476] = 0.992123145530863117683;
        x[477] = 0.992721344282788615328;
        x[478] = 0.993290788851684966211;
        x[479] = 0.993831963212755022209;
        x[480] = 0.994345364356723405931;
        x[481] = 0.994831502800621000519;
        x[482] = 0.995290903148810302261;
        x[483] = 0.995724104698407188509;
        x[484] = 0.996131662079315037786;
        x[485] = 0.996514145914890273849;
        x[486] = 0.996872143485260161299;
        x[487] = 0.997206259372221959076;
        x[488] = 0.997517116063472399965;
        x[489] = 0.997805354495957274562;
        x[490] = 0.998071634524930323302;
        x[491] = 0.998316635318407392531;
        x[492] = 0.998541055697167906027;
        x[493] = 0.998745614468095114704;
        x[494] = 0.998931050830810562236;
        x[495] = 0.999098124967667597662;
        x[496] = 0.999247618943342473599;
        x[497] = 0.999380338025023581928;
        x[498] = 0.999497112467187190535;
        x[499] = 0.999598799671910683252;
        x[500] = 0.999686286448317731776;
        x[501] = 0.999760490924432047330;
        x[502] = 0.999822363679787739196;
        x[503] = 0.999872888120357611938;
        x[504] = 0.999913081144678282800;
        x[505] = 0.999943996207054375764;
        x[506] = 0.999966730098486276883;
        x[507] = 0.999982430354891598580;
        x[508] = 0.999992298136257588028;
        x[509] = 0.999997596379748464620;
        x[510] = 0.999999672956734384381;
    }
    else
    {
        panic!("Gauss-Patterson only supported for level <= 8!")
    }
    // Rescale from (-1, 1) to (0,1)
    for xi in x.iter_mut()
    {
        *xi = 0.5*(1.0 + *xi);
    }
    x
}
#[allow(clippy::excessive_precision)]
pub(crate) fn gauss_patterson_weights(level: u32) -> Vec<f64>
{
    let mut w: Vec<f64> = Vec::new();
    if level == 0
    {
        w.push(2.0);
    }
    else if level == 1
    {
        w.resize(3, 0.0);
        w[0] = 0.555555555555555555556;
        w[1] = 0.888888888888888888889;
        w[2] = 0.555555555555555555556;
    }
    else if level == 2
    {
        w.resize(7, 0.0);
        w[0] = 0.104656226026467265194;
        w[1] = 0.268488089868333440729;
        w[2] = 0.401397414775962222905;
        w[3] = 0.450916538658474142345;
        w[4] = 0.401397414775962222905;
        w[5] = 0.268488089868333440729;
        w[6] = 0.104656226026467265194;
    }
    else if level == 3
    {
        w.resize(15, 0.0);
        w[ 0] = 0.0170017196299402603390;
        w[ 1] = 0.0516032829970797396969;
        w[ 2] = 0.0929271953151245376859;
        w[ 3] = 0.134415255243784220360;
        w[ 4] = 0.171511909136391380787;
        w[ 5] = 0.200628529376989021034;
        w[ 6] = 0.219156858401587496404;
        w[ 7] = 0.225510499798206687386;
        w[ 8] = 0.219156858401587496404;
        w[ 9] = 0.200628529376989021034;
        w[10] = 0.171511909136391380787;
        w[11] = 0.134415255243784220360;
        w[12] = 0.0929271953151245376859;
        w[13] = 0.0516032829970797396969;
        w[14] = 0.0170017196299402603390;
    }
    else if level == 4
    {
        w.resize(31, 0.0);
        w[ 0] = 0.00254478079156187441540;
        w[ 1] = 0.00843456573932110624631;
        w[ 2] = 0.0164460498543878109338;
        w[ 3] = 0.0258075980961766535646;
        w[ 4] = 0.0359571033071293220968;
        w[ 5] = 0.0464628932617579865414;
        w[ 6] = 0.0569795094941233574122;
        w[ 7] = 0.0672077542959907035404;
        w[ 8] = 0.0768796204990035310427;
        w[ 9] = 0.0857559200499903511542;
        w[10] = 0.0936271099812644736167;
        w[11] = 0.100314278611795578771;
        w[12] = 0.105669893580234809744;
        w[13] = 0.109578421055924638237;
        w[14] = 0.111956873020953456880;
        w[15] = 0.112755256720768691607;
        w[16] = 0.111956873020953456880;
        w[17] = 0.109578421055924638237;
        w[18] = 0.105669893580234809744;
        w[19] = 0.100314278611795578771;
        w[20] = 0.0936271099812644736167;
        w[21] = 0.0857559200499903511542;
        w[22] = 0.0768796204990035310427;
        w[23] = 0.0672077542959907035404;
        w[24] = 0.0569795094941233574122;
        w[25] = 0.0464628932617579865414;
        w[26] = 0.0359571033071293220968;
        w[27] = 0.0258075980961766535646;
        w[28] = 0.0164460498543878109338;
        w[29] = 0.00843456573932110624631;
        w[30] = 0.00254478079156187441540;
    }
    else if level == 5
    {       
        w.resize(63, 0.0);
        w[ 0] = 0.000363221481845530659694;
        w[ 1] = 0.00126515655623006801137;
        w[ 2] = 0.00257904979468568827243;
        w[ 3] = 0.00421763044155885483908;
        w[ 4] = 0.00611550682211724633968;
        w[ 5] = 0.00822300795723592966926;
        w[ 6] = 0.0104982469096213218983;
        w[ 7] = 0.0129038001003512656260;
        w[ 8] = 0.0154067504665594978021;
        w[ 9] = 0.0179785515681282703329;
        w[10] = 0.0205942339159127111492;
        w[11] = 0.0232314466399102694433;
        w[12] = 0.0258696793272147469108;
        w[13] = 0.0284897547458335486125;
        w[14] = 0.0310735511116879648799;
        w[15] = 0.0336038771482077305417;
        w[16] = 0.0360644327807825726401;
        w[17] = 0.0384398102494555320386;
        w[18] = 0.0407155101169443189339;
        w[19] = 0.0428779600250077344929;
        w[20] = 0.0449145316536321974143;
        w[21] = 0.0468135549906280124026;
        w[22] = 0.0485643304066731987159;
        w[23] = 0.0501571393058995374137;
        w[24] = 0.0515832539520484587768;
        w[25] = 0.0528349467901165198621;
        w[26] = 0.0539054993352660639269;
        w[27] = 0.0547892105279628650322;
        w[28] = 0.0554814043565593639878;
        w[29] = 0.0559784365104763194076;
        w[30] = 0.0562776998312543012726;
        w[31] = 0.0563776283603847173877;
        w[32] = 0.0562776998312543012726;
        w[33] = 0.0559784365104763194076;
        w[34] = 0.0554814043565593639878;
        w[35] = 0.0547892105279628650322;
        w[36] = 0.0539054993352660639269;
        w[37] = 0.0528349467901165198621;
        w[38] = 0.0515832539520484587768;
        w[39] = 0.0501571393058995374137;
        w[40] = 0.0485643304066731987159;
        w[41] = 0.0468135549906280124026;
        w[42] = 0.0449145316536321974143;
        w[43] = 0.0428779600250077344929;
        w[44] = 0.0407155101169443189339;
        w[45] = 0.0384398102494555320386;
        w[46] = 0.0360644327807825726401;
        w[47] = 0.0336038771482077305417;
        w[48] = 0.0310735511116879648799;
        w[49] = 0.0284897547458335486125;
        w[50] = 0.0258696793272147469108;
        w[51] = 0.0232314466399102694433;
        w[52] = 0.0205942339159127111492;
        w[53] = 0.0179785515681282703329;
        w[54] = 0.0154067504665594978021;
        w[55] = 0.0129038001003512656260;
        w[56] = 0.0104982469096213218983;
        w[57] = 0.00822300795723592966926;
        w[58] = 0.00611550682211724633968;
        w[59] = 0.00421763044155885483908;
        w[60] = 0.00257904979468568827243;
        w[61] = 0.00126515655623006801137;
        w[62] = 0.000363221481845530659694;
    }
    else if level == 6
    {        
        w.resize(127, 0.0);
        w[  0] = 0.0000505360952078625176247;
        w[  1] = 0.000180739564445388357820;
        w[  2] = 0.000377746646326984660274;
        w[  3] = 0.000632607319362633544219;
        w[  4] = 0.000938369848542381500794;
        w[  5] = 0.00128952408261041739210;
        w[  6] = 0.00168114286542146990631;
        w[  7] = 0.00210881524572663287933;
        w[  8] = 0.00256876494379402037313;
        w[  9] = 0.00305775341017553113613;
        w[ 10] = 0.00357289278351729964938;
        w[ 11] = 0.00411150397865469304717;
        w[ 12] = 0.00467105037211432174741;
        w[ 13] = 0.00524912345480885912513;
        w[ 14] = 0.00584344987583563950756;
        w[ 15] = 0.00645190005017573692280;
        w[ 16] = 0.00707248999543355546805;
        w[ 17] = 0.00770337523327974184817;
        w[ 18] = 0.00834283875396815770558;
        w[ 19] = 0.00898927578406413572328;
        w[ 20] = 0.00964117772970253669530;
        w[ 21] = 0.0102971169579563555237;
        w[ 22] = 0.0109557333878379016480;
        w[ 23] = 0.0116157233199551347270;
        w[ 24] = 0.0122758305600827700870;
        w[ 25] = 0.0129348396636073734547;
        w[ 26] = 0.0135915710097655467896;
        w[ 27] = 0.0142448773729167743063;
        w[ 28] = 0.0148936416648151820348;
        w[ 29] = 0.0155367755558439824399;
        w[ 30] = 0.0161732187295777199419;
        w[ 31] = 0.0168019385741038652709;
        w[ 32] = 0.0174219301594641737472;
        w[ 33] = 0.0180322163903912863201;
        w[ 34] = 0.0186318482561387901863;
        w[ 35] = 0.0192199051247277660193;
        w[ 36] = 0.0197954950480974994880;
        w[ 37] = 0.0203577550584721594669;
        w[ 38] = 0.0209058514458120238522;
        w[ 39] = 0.0214389800125038672465;
        w[ 40] = 0.0219563663053178249393;
        w[ 41] = 0.0224572658268160987071;
        w[ 42] = 0.0229409642293877487608;
        w[ 43] = 0.0234067774953140062013;
        w[ 44] = 0.0238540521060385400804;
        w[ 45] = 0.0242821652033365993580;
        w[ 46] = 0.0246905247444876769091;
        w[ 47] = 0.0250785696529497687068;
        w[ 48] = 0.0254457699654647658126;
        w[ 49] = 0.0257916269760242293884;
        w[ 50] = 0.0261156733767060976805;
        w[ 51] = 0.0264174733950582599310;
        w[ 52] = 0.0266966229274503599062;
        w[ 53] = 0.0269527496676330319634;
        w[ 54] = 0.0271855132296247918192;
        w[ 55] = 0.0273946052639814325161;
        w[ 56] = 0.0275797495664818730349;
        w[ 57] = 0.0277407021782796819939;
        w[ 58] = 0.0278772514766137016085;
        w[ 59] = 0.0279892182552381597038;
        w[ 60] = 0.0280764557938172466068;
        w[ 61] = 0.0281388499156271506363;
        w[ 62] = 0.0281763190330166021307;
        w[ 63] = 0.0281888141801923586938;
        w[ 64] = 0.0281763190330166021307;
        w[ 65] = 0.0281388499156271506363;
        w[ 66] = 0.0280764557938172466068;
        w[ 67] = 0.0279892182552381597038;
        w[ 68] = 0.0278772514766137016085;
        w[ 69] = 0.0277407021782796819939;
        w[ 70] = 0.0275797495664818730349;
        w[ 71] = 0.0273946052639814325161;
        w[ 72] = 0.0271855132296247918192;
        w[ 73] = 0.0269527496676330319634;
        w[ 74] = 0.0266966229274503599062;
        w[ 75] = 0.0264174733950582599310;
        w[ 76] = 0.0261156733767060976805;
        w[ 77] = 0.0257916269760242293884;
        w[ 78] = 0.0254457699654647658126;
        w[ 79] = 0.0250785696529497687068;
        w[ 80] = 0.0246905247444876769091;
        w[ 81] = 0.0242821652033365993580;
        w[ 82] = 0.0238540521060385400804;
        w[ 83] = 0.0234067774953140062013;
        w[ 84] = 0.0229409642293877487608;
        w[ 85] = 0.0224572658268160987071;
        w[ 86] = 0.0219563663053178249393;
        w[ 87] = 0.0214389800125038672465;
        w[ 88] = 0.0209058514458120238522;
        w[ 89] = 0.0203577550584721594669;
        w[ 90] = 0.0197954950480974994880;
        w[ 91] = 0.0192199051247277660193;
        w[ 92] = 0.0186318482561387901863;
        w[ 93] = 0.0180322163903912863201;
        w[ 94] = 0.0174219301594641737472;
        w[ 95] = 0.0168019385741038652709;
        w[ 96] = 0.0161732187295777199419;
        w[ 97] = 0.0155367755558439824399;
        w[ 98] = 0.0148936416648151820348;
        w[ 99] = 0.0142448773729167743063;
        w[100] = 0.0135915710097655467896;
        w[101] = 0.0129348396636073734547;
        w[102] = 0.0122758305600827700870;
        w[103] = 0.0116157233199551347270;
        w[104] = 0.0109557333878379016480;
        w[105] = 0.0102971169579563555237;
        w[106] = 0.00964117772970253669530;
        w[107] = 0.00898927578406413572328;
        w[108] = 0.00834283875396815770558;
        w[109] = 0.00770337523327974184817;
        w[110] = 0.00707248999543355546805;
        w[111] = 0.00645190005017573692280;
        w[112] = 0.00584344987583563950756;
        w[113] = 0.00524912345480885912513;
        w[114] = 0.00467105037211432174741;
        w[115] = 0.00411150397865469304717;
        w[116] = 0.00357289278351729964938;
        w[117] = 0.00305775341017553113613;
        w[118] = 0.00256876494379402037313;
        w[119] = 0.00210881524572663287933;
        w[120] = 0.00168114286542146990631;
        w[121] = 0.00128952408261041739210;
        w[122] = 0.000938369848542381500794;
        w[123] = 0.000632607319362633544219;
        w[124] = 0.000377746646326984660274;
        w[125] = 0.000180739564445388357820;
        w[126] = 0.0000505360952078625176247;
    }
    else if level == 7
    {
        w.resize(255, 0.0);
        w[  0] = 0.69379364324108267170E-05;
        w[  1] = 0.25157870384280661489E-04;
        w[  2] = 0.53275293669780613125E-04;
        w[  3] = 0.90372734658751149261E-04;
        w[  4] = 0.13575491094922871973E-03;
        w[  5] = 0.18887326450650491366E-03;
        w[  6] = 0.24921240048299729402E-03;
        w[  7] = 0.31630366082226447689E-03;
        w[  8] = 0.38974528447328229322E-03;
        w[  9] = 0.46918492424785040975E-03;
        w[ 10] = 0.55429531493037471492E-03;
        w[ 11] = 0.64476204130572477933E-03;
        w[ 12] = 0.74028280424450333046E-03;
        w[ 13] = 0.84057143271072246365E-03;
        w[ 14] = 0.94536151685852538246E-03;
        w[ 15] = 0.10544076228633167722E-02;
        w[ 16] = 0.11674841174299594077E-02;
        w[ 17] = 0.12843824718970101768E-02;
        w[ 18] = 0.14049079956551446427E-02;
        w[ 19] = 0.15288767050877655684E-02;
        w[ 20] = 0.16561127281544526052E-02;
        w[ 21] = 0.17864463917586498247E-02;
        w[ 22] = 0.19197129710138724125E-02;
        w[ 23] = 0.20557519893273465236E-02;
        w[ 24] = 0.21944069253638388388E-02;
        w[ 25] = 0.23355251860571608737E-02;
        w[ 26] = 0.24789582266575679307E-02;
        w[ 27] = 0.26245617274044295626E-02;
        w[ 28] = 0.27721957645934509940E-02;
        w[ 29] = 0.29217249379178197538E-02;
        w[ 30] = 0.30730184347025783234E-02;
        w[ 31] = 0.32259500250878684614E-02;
        w[ 32] = 0.33803979910869203823E-02;
        w[ 33] = 0.35362449977167777340E-02;
        w[ 34] = 0.36933779170256508183E-02;
        w[ 35] = 0.38516876166398709241E-02;
        w[ 36] = 0.40110687240750233989E-02;
        w[ 37] = 0.41714193769840788528E-02;
        w[ 38] = 0.43326409680929828545E-02;
        w[ 39] = 0.44946378920320678616E-02;
        w[ 40] = 0.46573172997568547773E-02;
        w[ 41] = 0.48205888648512683476E-02;
        w[ 42] = 0.49843645647655386012E-02;
        w[ 43] = 0.51485584789781777618E-02;
        w[ 44] = 0.53130866051870565663E-02;
        w[ 45] = 0.54778666939189508240E-02;
        w[ 46] = 0.56428181013844441585E-02;
        w[ 47] = 0.58078616599775673635E-02;
        w[ 48] = 0.59729195655081658049E-02;
        w[ 49] = 0.61379152800413850435E-02;
        w[ 50] = 0.63027734490857587172E-02;
        w[ 51] = 0.64674198318036867274E-02;
        w[ 52] = 0.66317812429018878941E-02;
        w[ 53] = 0.67957855048827733948E-02;
        w[ 54] = 0.69593614093904229394E-02;
        w[ 55] = 0.71224386864583871532E-02;
        w[ 56] = 0.72849479805538070639E-02;
        w[ 57] = 0.74468208324075910174E-02;
        w[ 58] = 0.76079896657190565832E-02;
        w[ 59] = 0.77683877779219912200E-02;
        w[ 60] = 0.79279493342948491103E-02;
        w[ 61] = 0.80866093647888599710E-02;
        w[ 62] = 0.82443037630328680306E-02;
        w[ 63] = 0.84009692870519326354E-02;
        w[ 64] = 0.85565435613076896192E-02;
        w[ 65] = 0.87109650797320868736E-02;
        w[ 66] = 0.88641732094824942641E-02;
        w[ 67] = 0.90161081951956431600E-02;
        w[ 68] = 0.91667111635607884067E-02;
        w[ 69] = 0.93159241280693950932E-02;
        w[ 70] = 0.94636899938300652943E-02;
        w[ 71] = 0.96099525623638830097E-02;
        w[ 72] = 0.97546565363174114611E-02;
        w[ 73] = 0.98977475240487497440E-02;
        w[ 74] = 0.10039172044056840798E-01;
        w[ 75] = 0.10178877529236079733E-01;
        w[ 76] = 0.10316812330947621682E-01;
        w[ 77] = 0.10452925722906011926E-01;
        w[ 78] = 0.10587167904885197931E-01;
        w[ 79] = 0.10719490006251933623E-01;
        w[ 80] = 0.10849844089337314099E-01;
        w[ 81] = 0.10978183152658912470E-01;
        w[ 82] = 0.11104461134006926537E-01;
        w[ 83] = 0.11228632913408049354E-01;
        w[ 84] = 0.11350654315980596602E-01;
        w[ 85] = 0.11470482114693874380E-01;
        w[ 86] = 0.11588074033043952568E-01;
        w[ 87] = 0.11703388747657003101E-01;
        w[ 88] = 0.11816385890830235763E-01;
        w[ 89] = 0.11927026053019270040E-01;
        w[ 90] = 0.12035270785279562630E-01;
        w[ 91] = 0.12141082601668299679E-01;
        w[ 92] = 0.12244424981611985899E-01;
        w[ 93] = 0.12345262372243838455E-01;
        w[ 94] = 0.12443560190714035263E-01;
        w[ 95] = 0.12539284826474884353E-01;
        w[ 96] = 0.12632403643542078765E-01;
        w[ 97] = 0.12722884982732382906E-01;
        w[ 98] = 0.12810698163877361967E-01;
        w[ 99] = 0.12895813488012114694E-01;
        w[100] = 0.12978202239537399286E-01;
        w[101] = 0.13057836688353048840E-01;
        w[102] = 0.13134690091960152836E-01;
        w[103] = 0.13208736697529129966E-01;
        w[104] = 0.13279951743930530650E-01;
        w[105] = 0.13348311463725179953E-01;
        w[106] = 0.13413793085110098513E-01;
        w[107] = 0.13476374833816515982E-01;
        w[108] = 0.13536035934956213614E-01;
        w[109] = 0.13592756614812395910E-01;
        w[110] = 0.13646518102571291428E-01;
        w[111] = 0.13697302631990716258E-01;
        w[112] = 0.13745093443001896632E-01;
        w[113] = 0.13789874783240936517E-01;
        w[114] = 0.13831631909506428676E-01;
        w[115] = 0.13870351089139840997E-01;
        w[116] = 0.13906019601325461264E-01;
        w[117] = 0.13938625738306850804E-01;
        w[118] = 0.13968158806516938516E-01;
        w[119] = 0.13994609127619079852E-01;
        w[120] = 0.14017968039456608810E-01;
        w[121] = 0.14038227896908623303E-01;
        w[122] = 0.14055382072649964277E-01;
        w[123] = 0.14069424957813575318E-01;
        w[124] = 0.14080351962553661325E-01;
        w[125] = 0.14088159516508301065E-01;
        w[126] = 0.14092845069160408355E-01;
        w[127] = 0.14094407090096179347E-01;
        w[128] = 0.14092845069160408355E-01;
        w[129] = 0.14088159516508301065E-01;
        w[130] = 0.14080351962553661325E-01;
        w[131] = 0.14069424957813575318E-01;
        w[132] = 0.14055382072649964277E-01;
        w[133] = 0.14038227896908623303E-01;
        w[134] = 0.14017968039456608810E-01;
        w[135] = 0.13994609127619079852E-01;
        w[136] = 0.13968158806516938516E-01;
        w[137] = 0.13938625738306850804E-01;
        w[138] = 0.13906019601325461264E-01;
        w[139] = 0.13870351089139840997E-01;
        w[140] = 0.13831631909506428676E-01;
        w[141] = 0.13789874783240936517E-01;
        w[142] = 0.13745093443001896632E-01;
        w[143] = 0.13697302631990716258E-01;
        w[144] = 0.13646518102571291428E-01;
        w[145] = 0.13592756614812395910E-01;
        w[146] = 0.13536035934956213614E-01;
        w[147] = 0.13476374833816515982E-01;
        w[148] = 0.13413793085110098513E-01;
        w[149] = 0.13348311463725179953E-01;
        w[150] = 0.13279951743930530650E-01;
        w[151] = 0.13208736697529129966E-01;
        w[152] = 0.13134690091960152836E-01;
        w[153] = 0.13057836688353048840E-01;
        w[154] = 0.12978202239537399286E-01;
        w[155] = 0.12895813488012114694E-01;
        w[156] = 0.12810698163877361967E-01;
        w[157] = 0.12722884982732382906E-01;
        w[158] = 0.12632403643542078765E-01;
        w[159] = 0.12539284826474884353E-01;
        w[160] = 0.12443560190714035263E-01;
        w[161] = 0.12345262372243838455E-01;
        w[162] = 0.12244424981611985899E-01;
        w[163] = 0.12141082601668299679E-01;
        w[164] = 0.12035270785279562630E-01;
        w[165] = 0.11927026053019270040E-01;
        w[166] = 0.11816385890830235763E-01;
        w[167] = 0.11703388747657003101E-01;
        w[168] = 0.11588074033043952568E-01;
        w[169] = 0.11470482114693874380E-01;
        w[170] = 0.11350654315980596602E-01;
        w[171] = 0.11228632913408049354E-01;
        w[172] = 0.11104461134006926537E-01;
        w[173] = 0.10978183152658912470E-01;
        w[174] = 0.10849844089337314099E-01;
        w[175] = 0.10719490006251933623E-01;
        w[176] = 0.10587167904885197931E-01;
        w[177] = 0.10452925722906011926E-01;
        w[178] = 0.10316812330947621682E-01;
        w[179] = 0.10178877529236079733E-01;
        w[180] = 0.10039172044056840798E-01;
        w[181] = 0.98977475240487497440E-02;
        w[182] = 0.97546565363174114611E-02;
        w[183] = 0.96099525623638830097E-02;
        w[184] = 0.94636899938300652943E-02;
        w[185] = 0.93159241280693950932E-02;
        w[186] = 0.91667111635607884067E-02;
        w[187] = 0.90161081951956431600E-02;
        w[188] = 0.88641732094824942641E-02;
        w[189] = 0.87109650797320868736E-02;
        w[190] = 0.85565435613076896192E-02;
        w[191] = 0.84009692870519326354E-02;
        w[192] = 0.82443037630328680306E-02;
        w[193] = 0.80866093647888599710E-02;
        w[194] = 0.79279493342948491103E-02;
        w[195] = 0.77683877779219912200E-02;
        w[196] = 0.76079896657190565832E-02;
        w[197] = 0.74468208324075910174E-02;
        w[198] = 0.72849479805538070639E-02;
        w[199] = 0.71224386864583871532E-02;
        w[200] = 0.69593614093904229394E-02;
        w[201] = 0.67957855048827733948E-02;
        w[202] = 0.66317812429018878941E-02;
        w[203] = 0.64674198318036867274E-02;
        w[204] = 0.63027734490857587172E-02;
        w[205] = 0.61379152800413850435E-02;
        w[206] = 0.59729195655081658049E-02;
        w[207] = 0.58078616599775673635E-02;
        w[208] = 0.56428181013844441585E-02;
        w[209] = 0.54778666939189508240E-02;
        w[210] = 0.53130866051870565663E-02;
        w[211] = 0.51485584789781777618E-02;
        w[212] = 0.49843645647655386012E-02;
        w[213] = 0.48205888648512683476E-02;
        w[214] = 0.46573172997568547773E-02;
        w[215] = 0.44946378920320678616E-02;
        w[216] = 0.43326409680929828545E-02;
        w[217] = 0.41714193769840788528E-02;
        w[218] = 0.40110687240750233989E-02;
        w[219] = 0.38516876166398709241E-02;
        w[220] = 0.36933779170256508183E-02;
        w[221] = 0.35362449977167777340E-02;
        w[222] = 0.33803979910869203823E-02;
        w[223] = 0.32259500250878684614E-02;
        w[224] = 0.30730184347025783234E-02;
        w[225] = 0.29217249379178197538E-02;
        w[226] = 0.27721957645934509940E-02;
        w[227] = 0.26245617274044295626E-02;
        w[228] = 0.24789582266575679307E-02;
        w[229] = 0.23355251860571608737E-02;
        w[230] = 0.21944069253638388388E-02;
        w[231] = 0.20557519893273465236E-02;
        w[232] = 0.19197129710138724125E-02;
        w[233] = 0.17864463917586498247E-02;
        w[234] = 0.16561127281544526052E-02;
        w[235] = 0.15288767050877655684E-02;
        w[236] = 0.14049079956551446427E-02;
        w[237] = 0.12843824718970101768E-02;
        w[238] = 0.11674841174299594077E-02;
        w[239] = 0.10544076228633167722E-02;
        w[240] = 0.94536151685852538246E-03;
        w[241] = 0.84057143271072246365E-03;
        w[242] = 0.74028280424450333046E-03;
        w[243] = 0.64476204130572477933E-03;
        w[244] = 0.55429531493037471492E-03;
        w[245] = 0.46918492424785040975E-03;
        w[246] = 0.38974528447328229322E-03;
        w[247] = 0.31630366082226447689E-03;
        w[248] = 0.24921240048299729402E-03;
        w[249] = 0.18887326450650491366E-03;
        w[250] = 0.13575491094922871973E-03;
        w[251] = 0.90372734658751149261E-04;
        w[252] = 0.53275293669780613125E-04;
        w[253] = 0.25157870384280661489E-04;
        w[254] = 0.69379364324108267170E-05;
    }
    else if level == 8
    {      
        w.resize(511, 0.0);
        w[  0] = 0.945715933950007048827E-06;
        w[  1] = 0.345456507169149134898E-05;
        w[  2] = 0.736624069102321668857E-05;
        w[  3] = 0.125792781889592743525E-04;
        w[  4] = 0.190213681905875816679E-04;
        w[  5] = 0.266376412339000901358E-04;
        w[  6] = 0.353751372055189588628E-04;
        w[  7] = 0.451863674126296143105E-04;
        w[  8] = 0.560319507856164252140E-04;
        w[  9] = 0.678774554733972416227E-04;
        w[ 10] = 0.806899228014035293851E-04;
        w[ 11] = 0.944366322532705527066E-04;
        w[ 12] = 0.109085545645741522051E-03;
        w[ 13] = 0.124606200241498368482E-03;
        w[ 14] = 0.140970302204104791413E-03;
        w[ 15] = 0.158151830411132242924E-03;
        w[ 16] = 0.176126765545083195474E-03;
        w[ 17] = 0.194872642236641146532E-03;
        w[ 18] = 0.214368090034216937149E-03;
        w[ 19] = 0.234592462123925204879E-03;
        w[ 20] = 0.255525589595236862014E-03;
        w[ 21] = 0.277147657465187357459E-03;
        w[ 22] = 0.299439176850911730874E-03;
        w[ 23] = 0.322381020652862389664E-03;
        w[ 24] = 0.345954492129903871350E-03;
        w[ 25] = 0.370141402122251665232E-03;
        w[ 26] = 0.394924138246873704434E-03;
        w[ 27] = 0.420285716355361231823E-03;
        w[ 28] = 0.446209810101403247488E-03;
        w[ 29] = 0.472680758429262691232E-03;
        w[ 30] = 0.499683553312800484519E-03;
        w[ 31] = 0.527203811431658386125E-03;
        w[ 32] = 0.555227733977307579715E-03;
        w[ 33] = 0.583742058714979703847E-03;
        w[ 34] = 0.612734008012225209294E-03;
        w[ 35] = 0.642191235948505088403E-03;
        w[ 36] = 0.672101776960108194646E-03;
        w[ 37] = 0.702453997827572321358E-03;
        w[ 38] = 0.733236554224767912055E-03;
        w[ 39] = 0.764438352543882784191E-03;
        w[ 40] = 0.796048517297550871506E-03;
        w[ 41] = 0.828056364077226302608E-03;
        w[ 42] = 0.860451377808527848128E-03;
        w[ 43] = 0.893223195879324912340E-03;
        w[ 44] = 0.926361595613111283368E-03;
        w[ 45] = 0.959856485506936206261E-03;
        w[ 46] = 0.993697899638760857945E-03;
        w[ 47] = 0.102787599466367326179E-02;
        w[ 48] = 0.106238104885340071375E-02;
        w[ 49] = 0.109720346268191941940E-02;
        w[ 50] = 0.113233376051597664917E-02;
        w[ 51] = 0.116776259302858043685E-02;
        w[ 52] = 0.120348074001265964881E-02;
        w[ 53] = 0.123947911332878396534E-02;
        w[ 54] = 0.127574875977346947345E-02;
        w[ 55] = 0.131228086370221478128E-02;
        w[ 56] = 0.134906674928353113127E-02;
        w[ 57] = 0.138609788229672549700E-02;
        w[ 58] = 0.142336587141720519900E-02;
        w[ 59] = 0.146086246895890987689E-02;
        w[ 60] = 0.149857957106456636214E-02;
        w[ 61] = 0.153650921735128916170E-02;
        w[ 62] = 0.157464359003212166189E-02;
        w[ 63] = 0.161297501254393423070E-02;
        w[ 64] = 0.165149594771914570655E-02;
        w[ 65] = 0.169019899554346019117E-02;
        w[ 66] = 0.172907689054461607168E-02;
        w[ 67] = 0.176812249885838886701E-02;
        w[ 68] = 0.180732881501808930079E-02;
        w[ 69] = 0.184668895851282540913E-02;
        w[ 70] = 0.188619617015808475394E-02;
        w[ 71] = 0.192584380831993546204E-02;
        w[ 72] = 0.196562534503150547732E-02;
        w[ 73] = 0.200553436203751169944E-02;
        w[ 74] = 0.204556454679958293446E-02;
        w[ 75] = 0.208570968849203942640E-02;
        w[ 76] = 0.212596367401472533045E-02;
        w[ 77] = 0.216632048404649142727E-02;
        w[ 78] = 0.220677418916003329194E-02;
        w[ 79] = 0.224731894601603393082E-02;
        w[ 80] = 0.228794899365195972378E-02;
        w[ 81] = 0.232865864987842738864E-02;
        w[ 82] = 0.236944230779380495146E-02;
        w[ 83] = 0.241029443242563417382E-02;
        w[ 84] = 0.245120955750556483923E-02;
        w[ 85] = 0.249218228238276930060E-02;
        w[ 86] = 0.253320726907925325750E-02;
        w[ 87] = 0.257427923948908888092E-02;
        w[ 88] = 0.261539297272236109225E-02;
        w[ 89] = 0.265654330259352828314E-02;
        w[ 90] = 0.269772511525294586667E-02;
        w[ 91] = 0.273893334695947541201E-02;
        w[ 92] = 0.278016298199139435045E-02;
        w[ 93] = 0.282140905069222207923E-02;
        w[ 94] = 0.286266662764757868253E-02;
        w[ 95] = 0.290393082998878368175E-02;
        w[ 96] = 0.294519681581857582284E-02;
        w[ 97] = 0.298645978275408290247E-02;
        w[ 98] = 0.302771496658198544480E-02;
        w[ 99] = 0.306895764002069252174E-02;
        w[100] = 0.311018311158427546158E-02;
        w[101] = 0.315138672454287935858E-02;
        w[102] = 0.319256385597434736790E-02;
        w[103] = 0.323370991590184336368E-02;
        w[104] = 0.327482034651233969564E-02;
        w[105] = 0.331589062145094394706E-02;
        w[106] = 0.335691624518616761342E-02;
        w[107] = 0.339789275244138669739E-02;
        w[108] = 0.343881570768790591876E-02;
        w[109] = 0.347968070469521146972E-02;
        w[110] = 0.352048336613417922682E-02;
        w[111] = 0.356121934322919357659E-02;
        w[112] = 0.360188431545532431869E-02;
        w[113] = 0.364247399027690353194E-02;
        w[114] = 0.368298410292403911967E-02;
        w[115] = 0.372341041620379550870E-02;
        w[116] = 0.376374872034296338241E-02;
        w[117] = 0.380399483285952829161E-02;
        w[118] = 0.384414459846013158917E-02;
        w[119] = 0.388419388896099560998E-02;
        w[120] = 0.392413860322995774660E-02;
        w[121] = 0.396397466714742455513E-02;
        w[122] = 0.400369803358421688562E-02;
        w[123] = 0.404330468239442998549E-02;
        w[124] = 0.408279062042157838350E-02;
        w[125] = 0.412215188151643401528E-02;
        w[126] = 0.416138452656509745764E-02;
        w[127] = 0.420048464352596631772E-02;
        w[128] = 0.423944834747438184434E-02;
        w[129] = 0.427827178065384480959E-02;
        w[130] = 0.431695111253279479928E-02;
        w[131] = 0.435548253986604343679E-02;
        w[132] = 0.439386228676004195260E-02;
        w[133] = 0.443208660474124713206E-02;
        w[134] = 0.447015177282692726900E-02;
        w[135] = 0.450805409759782158001E-02;
        w[136] = 0.454578991327213285488E-02;
        w[137] = 0.458335558178039420335E-02;
        w[138] = 0.462074749284080687482E-02;
        w[139] = 0.465796206403469754658E-02;
        w[140] = 0.469499574088179046532E-02;
        w[141] = 0.473184499691503264714E-02;
        w[142] = 0.476850633375474925263E-02;
        w[143] = 0.480497628118194150483E-02;
        w[144] = 0.484125139721057135214E-02;
        w[145] = 0.487732826815870573054E-02;
        w[146] = 0.491320350871841897367E-02;
        w[147] = 0.494887376202437487201E-02;
        w[148] = 0.498433569972103029914E-02;
        w[149] = 0.501958602202842039909E-02;
        w[150] = 0.505462145780650125058E-02;
        w[151] = 0.508943876461803986674E-02;
        w[152] = 0.512403472879005351831E-02;
        w[153] = 0.515840616547381084096E-02;
        w[154] = 0.519254991870341614863E-02;
        w[155] = 0.522646286145300596306E-02;
        w[156] = 0.526014189569259311205E-02;
        w[157] = 0.529358395244259896547E-02;
        w[158] = 0.532678599182711857974E-02;
        w[159] = 0.535974500312596681161E-02;
        w[160] = 0.539245800482555593606E-02;
        w[161] = 0.542492204466865704951E-02;
        w[162] = 0.545713419970309863995E-02;
        w[163] = 0.548909157632945623482E-02;
        w[164] = 0.552079131034778706457E-02;
        w[165] = 0.555223056700346326850E-02;
        w[166] = 0.558340654103215637610E-02;
        w[167] = 0.561431645670402467678E-02;
        w[168] = 0.564495756786715368885E-02;
        w[169] = 0.567532715799029830087E-02;
        w[170] = 0.570542254020497332312E-02;
        w[171] = 0.573524105734693719020E-02;
        w[172] = 0.576478008199711142954E-02;
        w[173] = 0.579403701652197628421E-02;
        w[174] = 0.582300929311348057702E-02;
        w[175] = 0.585169437382850155033E-02;
        w[176] = 0.588008975062788803205E-02;
        w[177] = 0.590819294541511788161E-02;
        w[178] = 0.593600151007459827614E-02;
        w[179] = 0.596351302650963502011E-02;
        w[180] = 0.599072510668009471472E-02;
        w[181] = 0.601763539263978131522E-02;
        w[182] = 0.604424155657354634589E-02;
        w[183] = 0.607054130083414983949E-02;
        w[184] = 0.609653235797888692923E-02;
        w[185] = 0.612221249080599294931E-02;
        w[186] = 0.614757949239083790214E-02;
        w[187] = 0.617263118612191922727E-02;
        w[188] = 0.619736542573665996342E-02;
        w[189] = 0.622178009535701763157E-02;
        w[190] = 0.624587310952490748541E-02;
        w[191] = 0.626964241323744217671E-02;
        w[192] = 0.629308598198198836688E-02;
        w[193] = 0.631620182177103938227E-02;
        w[194] = 0.633898796917690165912E-02;
        w[195] = 0.636144249136619145314E-02;
        w[196] = 0.638356348613413709795E-02;
        w[197] = 0.640534908193868098342E-02;
        w[198] = 0.642679743793437438922E-02;
        w[199] = 0.644790674400605734710E-02;
        w[200] = 0.646867522080231481688E-02;
        w[201] = 0.648910111976869964292E-02;
        w[202] = 0.650918272318071200827E-02;
        w[203] = 0.652891834417652442012E-02;
        w[204] = 0.654830632678944064054E-02;
        w[205] = 0.656734504598007641819E-02;
        w[206] = 0.658603290766824937794E-02;
        w[207] = 0.660436834876456498276E-02;
        w[208] = 0.662234983720168509457E-02;
        w[209] = 0.663997587196526532519E-02;
        w[210] = 0.665724498312454708217E-02;
        w[211] = 0.667415573186258997654E-02;
        w[212] = 0.669070671050613006584E-02;
        w[213] = 0.670689654255504925648E-02;
        w[214] = 0.672272388271144108036E-02;
        w[215] = 0.673818741690825799086E-02;
        w[216] = 0.675328586233752529078E-02;
        w[217] = 0.676801796747810680683E-02;
        w[218] = 0.678238251212300746082E-02;
        w[219] = 0.679637830740619795480E-02;
        w[220] = 0.681000419582894688374E-02;
        w[221] = 0.682325905128564571420E-02;
        w[222] = 0.683614177908911221841E-02;
        w[223] = 0.684865131599535812903E-02;
        w[224] = 0.686078663022780697951E-02;
        w[225] = 0.687254672150094831613E-02;
        w[226] = 0.688393062104341470995E-02;
        w[227] = 0.689493739162046825872E-02;
        w[228] = 0.690556612755588354803E-02;
        w[229] = 0.691581595475321433825E-02;
        w[230] = 0.692568603071643155621E-02;
        w[231] = 0.693517554456992049848E-02;
        w[232] = 0.694428371707782549438E-02;
        w[233] = 0.695300980066273063177E-02;
        w[234] = 0.696135307942366551493E-02;
        w[235] = 0.696931286915342540213E-02;
        w[236] = 0.697688851735519545845E-02;
        w[237] = 0.698407940325846925786E-02;
        w[238] = 0.699088493783425207545E-02;
        w[239] = 0.699730456380953992594E-02;
        w[240] = 0.700333775568106572820E-02;
        w[241] = 0.700898401972830440494E-02;
        w[242] = 0.701424289402572916425E-02;
        w[243] = 0.701911394845431165171E-02;
        w[244] = 0.702359678471225911031E-02;
        w[245] = 0.702769103632498213858E-02;
        w[246] = 0.703139636865428709508E-02;
        w[247] = 0.703471247890678765907E-02;
        w[248] = 0.703763909614153052319E-02;
        w[249] = 0.704017598127683066242E-02;
        w[250] = 0.704232292709631209597E-02;
        w[251] = 0.704407975825415053266E-02;
        w[252] = 0.704544633127951476780E-02;
        w[253] = 0.704642253458020417748E-02;
        w[254] = 0.704700828844548013730E-02;
        w[255] = 0.704720354504808967346E-02;
        w[256] = 0.704700828844548013730E-02;
        w[257] = 0.704642253458020417748E-02;
        w[258] = 0.704544633127951476780E-02;
        w[259] = 0.704407975825415053266E-02;
        w[260] = 0.704232292709631209597E-02;
        w[261] = 0.704017598127683066242E-02;
        w[262] = 0.703763909614153052319E-02;
        w[263] = 0.703471247890678765907E-02;
        w[264] = 0.703139636865428709508E-02;
        w[265] = 0.702769103632498213858E-02;
        w[266] = 0.702359678471225911031E-02;
        w[267] = 0.701911394845431165171E-02;
        w[268] = 0.701424289402572916425E-02;
        w[269] = 0.700898401972830440494E-02;
        w[270] = 0.700333775568106572820E-02;
        w[271] = 0.699730456380953992594E-02;
        w[272] = 0.699088493783425207545E-02;
        w[273] = 0.698407940325846925786E-02;
        w[274] = 0.697688851735519545845E-02;
        w[275] = 0.696931286915342540213E-02;
        w[276] = 0.696135307942366551493E-02;
        w[277] = 0.695300980066273063177E-02;
        w[278] = 0.694428371707782549438E-02;
        w[279] = 0.693517554456992049848E-02;
        w[280] = 0.692568603071643155621E-02;
        w[281] = 0.691581595475321433825E-02;
        w[282] = 0.690556612755588354803E-02;
        w[283] = 0.689493739162046825872E-02;
        w[284] = 0.688393062104341470995E-02;
        w[285] = 0.687254672150094831613E-02;
        w[286] = 0.686078663022780697951E-02;
        w[287] = 0.684865131599535812903E-02;
        w[288] = 0.683614177908911221841E-02;
        w[289] = 0.682325905128564571420E-02;
        w[290] = 0.681000419582894688374E-02;
        w[291] = 0.679637830740619795480E-02;
        w[292] = 0.678238251212300746082E-02;
        w[293] = 0.676801796747810680683E-02;
        w[294] = 0.675328586233752529078E-02;
        w[295] = 0.673818741690825799086E-02;
        w[296] = 0.672272388271144108036E-02;
        w[297] = 0.670689654255504925648E-02;
        w[298] = 0.669070671050613006584E-02;
        w[299] = 0.667415573186258997654E-02;
        w[300] = 0.665724498312454708217E-02;
        w[301] = 0.663997587196526532519E-02;
        w[302] = 0.662234983720168509457E-02;
        w[303] = 0.660436834876456498276E-02;
        w[304] = 0.658603290766824937794E-02;
        w[305] = 0.656734504598007641819E-02;
        w[306] = 0.654830632678944064054E-02;
        w[307] = 0.652891834417652442012E-02;
        w[308] = 0.650918272318071200827E-02;
        w[309] = 0.648910111976869964292E-02;
        w[310] = 0.646867522080231481688E-02;
        w[311] = 0.644790674400605734710E-02;
        w[312] = 0.642679743793437438922E-02;
        w[313] = 0.640534908193868098342E-02;
        w[314] = 0.638356348613413709795E-02;
        w[315] = 0.636144249136619145314E-02;
        w[316] = 0.633898796917690165912E-02;
        w[317] = 0.631620182177103938227E-02;
        w[318] = 0.629308598198198836688E-02;
        w[319] = 0.626964241323744217671E-02;
        w[320] = 0.624587310952490748541E-02;
        w[321] = 0.622178009535701763157E-02;
        w[322] = 0.619736542573665996342E-02;
        w[323] = 0.617263118612191922727E-02;
        w[324] = 0.614757949239083790214E-02;
        w[325] = 0.612221249080599294931E-02;
        w[326] = 0.609653235797888692923E-02;
        w[327] = 0.607054130083414983949E-02;
        w[328] = 0.604424155657354634589E-02;
        w[329] = 0.601763539263978131522E-02;
        w[330] = 0.599072510668009471472E-02;
        w[331] = 0.596351302650963502011E-02;
        w[332] = 0.593600151007459827614E-02;
        w[333] = 0.590819294541511788161E-02;
        w[334] = 0.588008975062788803205E-02;
        w[335] = 0.585169437382850155033E-02;
        w[336] = 0.582300929311348057702E-02;
        w[337] = 0.579403701652197628421E-02;
        w[338] = 0.576478008199711142954E-02;
        w[339] = 0.573524105734693719020E-02;
        w[340] = 0.570542254020497332312E-02;
        w[341] = 0.567532715799029830087E-02;
        w[342] = 0.564495756786715368885E-02;
        w[343] = 0.561431645670402467678E-02;
        w[344] = 0.558340654103215637610E-02;
        w[345] = 0.555223056700346326850E-02;
        w[346] = 0.552079131034778706457E-02;
        w[347] = 0.548909157632945623482E-02;
        w[348] = 0.545713419970309863995E-02;
        w[349] = 0.542492204466865704951E-02;
        w[350] = 0.539245800482555593606E-02;
        w[351] = 0.535974500312596681161E-02;
        w[352] = 0.532678599182711857974E-02;
        w[353] = 0.529358395244259896547E-02;
        w[354] = 0.526014189569259311205E-02;
        w[355] = 0.522646286145300596306E-02;
        w[356] = 0.519254991870341614863E-02;
        w[357] = 0.515840616547381084096E-02;
        w[358] = 0.512403472879005351831E-02;
        w[359] = 0.508943876461803986674E-02;
        w[360] = 0.505462145780650125058E-02;
        w[361] = 0.501958602202842039909E-02;
        w[362] = 0.498433569972103029914E-02;
        w[363] = 0.494887376202437487201E-02;
        w[364] = 0.491320350871841897367E-02;
        w[365] = 0.487732826815870573054E-02;
        w[366] = 0.484125139721057135214E-02;
        w[367] = 0.480497628118194150483E-02;
        w[368] = 0.476850633375474925263E-02;
        w[369] = 0.473184499691503264714E-02;
        w[370] = 0.469499574088179046532E-02;
        w[371] = 0.465796206403469754658E-02;
        w[372] = 0.462074749284080687482E-02;
        w[373] = 0.458335558178039420335E-02;
        w[374] = 0.454578991327213285488E-02;
        w[375] = 0.450805409759782158001E-02;
        w[376] = 0.447015177282692726900E-02;
        w[377] = 0.443208660474124713206E-02;
        w[378] = 0.439386228676004195260E-02;
        w[379] = 0.435548253986604343679E-02;
        w[380] = 0.431695111253279479928E-02;
        w[381] = 0.427827178065384480959E-02;
        w[382] = 0.423944834747438184434E-02;
        w[383] = 0.420048464352596631772E-02;
        w[384] = 0.416138452656509745764E-02;
        w[385] = 0.412215188151643401528E-02;
        w[386] = 0.408279062042157838350E-02;
        w[387] = 0.404330468239442998549E-02;
        w[388] = 0.400369803358421688562E-02;
        w[389] = 0.396397466714742455513E-02;
        w[390] = 0.392413860322995774660E-02;
        w[391] = 0.388419388896099560998E-02;
        w[392] = 0.384414459846013158917E-02;
        w[393] = 0.380399483285952829161E-02;
        w[394] = 0.376374872034296338241E-02;
        w[395] = 0.372341041620379550870E-02;
        w[396] = 0.368298410292403911967E-02;
        w[397] = 0.364247399027690353194E-02;
        w[398] = 0.360188431545532431869E-02;
        w[399] = 0.356121934322919357659E-02;
        w[400] = 0.352048336613417922682E-02;
        w[401] = 0.347968070469521146972E-02;
        w[402] = 0.343881570768790591876E-02;
        w[403] = 0.339789275244138669739E-02;
        w[404] = 0.335691624518616761342E-02;
        w[405] = 0.331589062145094394706E-02;
        w[406] = 0.327482034651233969564E-02;
        w[407] = 0.323370991590184336368E-02;
        w[408] = 0.319256385597434736790E-02;
        w[409] = 0.315138672454287935858E-02;
        w[410] = 0.311018311158427546158E-02;
        w[411] = 0.306895764002069252174E-02;
        w[412] = 0.302771496658198544480E-02;
        w[413] = 0.298645978275408290247E-02;
        w[414] = 0.294519681581857582284E-02;
        w[415] = 0.290393082998878368175E-02;
        w[416] = 0.286266662764757868253E-02;
        w[417] = 0.282140905069222207923E-02;
        w[418] = 0.278016298199139435045E-02;
        w[419] = 0.273893334695947541201E-02;
        w[420] = 0.269772511525294586667E-02;
        w[421] = 0.265654330259352828314E-02;
        w[422] = 0.261539297272236109225E-02;
        w[423] = 0.257427923948908888092E-02;
        w[424] = 0.253320726907925325750E-02;
        w[425] = 0.249218228238276930060E-02;
        w[426] = 0.245120955750556483923E-02;
        w[427] = 0.241029443242563417382E-02;
        w[428] = 0.236944230779380495146E-02;
        w[429] = 0.232865864987842738864E-02;
        w[430] = 0.228794899365195972378E-02;
        w[431] = 0.224731894601603393082E-02;
        w[432] = 0.220677418916003329194E-02;
        w[433] = 0.216632048404649142727E-02;
        w[434] = 0.212596367401472533045E-02;
        w[435] = 0.208570968849203942640E-02;
        w[436] = 0.204556454679958293446E-02;
        w[437] = 0.200553436203751169944E-02;
        w[438] = 0.196562534503150547732E-02;
        w[439] = 0.192584380831993546204E-02;
        w[440] = 0.188619617015808475394E-02;
        w[441] = 0.184668895851282540913E-02;
        w[442] = 0.180732881501808930079E-02;
        w[443] = 0.176812249885838886701E-02;
        w[444] = 0.172907689054461607168E-02;
        w[445] = 0.169019899554346019117E-02;
        w[446] = 0.165149594771914570655E-02;
        w[447] = 0.161297501254393423070E-02;
        w[448] = 0.157464359003212166189E-02;
        w[449] = 0.153650921735128916170E-02;
        w[450] = 0.149857957106456636214E-02;
        w[451] = 0.146086246895890987689E-02;
        w[452] = 0.142336587141720519900E-02;
        w[453] = 0.138609788229672549700E-02;
        w[454] = 0.134906674928353113127E-02;
        w[455] = 0.131228086370221478128E-02;
        w[456] = 0.127574875977346947345E-02;
        w[457] = 0.123947911332878396534E-02;
        w[458] = 0.120348074001265964881E-02;
        w[459] = 0.116776259302858043685E-02;
        w[460] = 0.113233376051597664917E-02;
        w[461] = 0.109720346268191941940E-02;
        w[462] = 0.106238104885340071375E-02;
        w[463] = 0.102787599466367326179E-02;
        w[464] = 0.993697899638760857945E-03;
        w[465] = 0.959856485506936206261E-03;
        w[466] = 0.926361595613111283368E-03;
        w[467] = 0.893223195879324912340E-03;
        w[468] = 0.860451377808527848128E-03;
        w[469] = 0.828056364077226302608E-03;
        w[470] = 0.796048517297550871506E-03;
        w[471] = 0.764438352543882784191E-03;
        w[472] = 0.733236554224767912055E-03;
        w[473] = 0.702453997827572321358E-03;
        w[474] = 0.672101776960108194646E-03;
        w[475] = 0.642191235948505088403E-03;
        w[476] = 0.612734008012225209294E-03;
        w[477] = 0.583742058714979703847E-03;
        w[478] = 0.555227733977307579715E-03;
        w[479] = 0.527203811431658386125E-03;
        w[480] = 0.499683553312800484519E-03;
        w[481] = 0.472680758429262691232E-03;
        w[482] = 0.446209810101403247488E-03;
        w[483] = 0.420285716355361231823E-03;
        w[484] = 0.394924138246873704434E-03;
        w[485] = 0.370141402122251665232E-03;
        w[486] = 0.345954492129903871350E-03;
        w[487] = 0.322381020652862389664E-03;
        w[488] = 0.299439176850911730874E-03;
        w[489] = 0.277147657465187357459E-03;
        w[490] = 0.255525589595236862014E-03;
        w[491] = 0.234592462123925204879E-03;
        w[492] = 0.214368090034216937149E-03;
        w[493] = 0.194872642236641146532E-03;
        w[494] = 0.176126765545083195474E-03;
        w[495] = 0.158151830411132242924E-03;
        w[496] = 0.140970302204104791413E-03;
        w[497] = 0.124606200241498368482E-03;
        w[498] = 0.109085545645741522051E-03;
        w[499] = 0.944366322532705527066E-04;
        w[500] = 0.806899228014035293851E-04;
        w[501] = 0.678774554733972416227E-04;
        w[502] = 0.560319507856164252140E-04;
        w[503] = 0.451863674126296143105E-04;
        w[504] = 0.353751372055189588628E-04;
        w[505] = 0.266376412339000901358E-04;
        w[506] = 0.190213681905875816679E-04;
        w[507] = 0.125792781889592743525E-04;
        w[508] = 0.736624069102321668857E-05;
        w[509] = 0.345456507169149134898E-05;
        w[510] = 0.945715933950007048827E-06;
    }
    else
    {
        panic!("Gauss-Patterson only supported for level <= 8!")
    }
    // Rescale from (-1, 1) to (0,1)
    for wi in w.iter_mut()
    {
        *wi *= 0.5;
    }
    w
}