/home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/quadrature/gauss_legendre.hh Source File#

DiFfRG: /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/common/quadrature/gauss_legendre.hh Source File
DiFfRG
gauss_legendre.hh
Go to the documentation of this file.
1#pragma once
2
3namespace DiFfRG
4{
5 template <size_t N, typename ctype> struct GLQuadrature {
6 static_assert(N, "Requested quadrature order has not been implemented.");
7 };
8
9 template <typename ctype> struct GLQuadrature<1, ctype> {
10 ctype x[1];
11 ctype w[1];
12 consteval GLQuadrature()
13 {
14 x[0] = 0.50000000000000000000000000000000;
15 w[0] = 1.0000000000000000000000000000000;
16 }
17 };
18
19 template <typename ctype> struct GLQuadrature<2, ctype> {
20 ctype x[2];
21 ctype w[2];
22 consteval GLQuadrature()
23 {
24 x[0] = 0.2113248654051871177454256097490;
25 x[1] = 0.7886751345948128822545743902510;
26 w[0] = 0.5000000000000000000000000000000;
27 w[1] = 0.5000000000000000000000000000000;
28 }
29 };
30
31 template <typename ctype> struct GLQuadrature<3, ctype> {
32 ctype x[3];
33 ctype w[3];
34 consteval GLQuadrature()
35 {
36 x[0] = 0.1127016653792583114820734600218;
37 x[1] = 0.500000000000000000000000000000;
38 x[2] = 0.887298334620741688517926539978;
39 w[0] = 0.2777777777777777777777777777778;
40 w[1] = 0.4444444444444444444444444444444;
41 w[2] = 0.2777777777777777777777777777778;
42 }
43 };
44
45 template <typename ctype> struct GLQuadrature<4, ctype> {
46 ctype x[4];
47 ctype w[4];
48 consteval GLQuadrature()
49 {
50 x[0] = 0.0694318442029737123880267555536;
51 x[1] = 0.330009478207571867598667120448;
52 x[2] = 0.669990521792428132401332879552;
53 x[3] = 0.930568155797026287611973244446;
54 w[0] = 0.1739274225687269286865319746110;
55 w[1] = 0.3260725774312730713134680253890;
56 w[2] = 0.3260725774312730713134680253890;
57 w[3] = 0.1739274225687269286865319746110;
58 }
59 };
60
61 template <typename ctype> struct GLQuadrature<5, ctype> {
62 ctype x[5];
63 ctype w[5];
64 consteval GLQuadrature()
65 {
66 x[0] = 0.0469100770306680036011865608503;
67 x[1] = 0.230765344947158454481842789650;
68 x[2] = 0.500000000000000000000000000000;
69 x[3] = 0.769234655052841545518157210350;
70 x[4] = 0.953089922969331996398813439150;
71 w[0] = 0.1184634425280945437571320203600;
72 w[1] = 0.2393143352496832340206457574178;
73 w[2] = 0.2844444444444444444444444444444;
74 w[3] = 0.2393143352496832340206457574178;
75 w[4] = 0.1184634425280945437571320203600;
76 }
77 };
78
79 template <typename ctype> struct GLQuadrature<6, ctype> {
80 ctype x[6];
81 ctype w[6];
82 consteval GLQuadrature()
83 {
84 x[0] = 0.0337652428984239860938492227530;
85 x[1] = 0.169395306766867743169300202490;
86 x[2] = 0.380690406958401545684749139160;
87 x[3] = 0.619309593041598454315250860840;
88 x[4] = 0.830604693233132256830699797510;
89 x[5] = 0.966234757101576013906150777247;
90 w[0] = 0.0856622461895851725201480710864;
91 w[1] = 0.1803807865240693037849167569189;
92 w[2] = 0.2339569672863455236949351719948;
93 w[3] = 0.2339569672863455236949351719948;
94 w[4] = 0.1803807865240693037849167569189;
95 w[5] = 0.0856622461895851725201480710864;
96 }
97 };
98
99 template <typename ctype> struct GLQuadrature<7, ctype> {
100 ctype x[7];
101 ctype w[7];
102 consteval GLQuadrature()
103 {
104 x[0] = 0.0254460438286207377369051579761;
105 x[1] = 0.129234407200302780068067613360;
106 x[2] = 0.297077424311301416546696793962;
107 x[3] = 0.500000000000000000000000000000;
108 x[4] = 0.702922575688698583453303206038;
109 x[5] = 0.87076559279969721993193238664;
110 x[6] = 0.97455395617137926226309484202;
111 w[0] = 0.06474248308443484663530571633954;
112 w[1] = 0.1398526957446383339507338857119;
113 w[2] = 0.1909150252525594724751848877445;
114 w[3] = 0.2089795918367346938775510204082;
115 w[4] = 0.1909150252525594724751848877445;
116 w[5] = 0.1398526957446383339507338857119;
117 w[6] = 0.06474248308443484663530571633954;
118 }
119 };
120
121 template <typename ctype> struct GLQuadrature<8, ctype> {
122 ctype x[8];
123 ctype w[8];
124 consteval GLQuadrature()
125 {
126 x[0] = 0.0198550717512318841582195657153;
127 x[1] = 0.101666761293186630204223031762;
128 x[2] = 0.237233795041835507091130475405;
129 x[3] = 0.408282678752175097530261928820;
130 x[4] = 0.591717321247824902469738071180;
131 x[5] = 0.76276620495816449290886952459;
132 x[6] = 0.89833323870681336979577696824;
133 x[7] = 0.98014492824876811584178043428;
134 w[0] = 0.05061426814518812957626567715498;
135 w[1] = 0.1111905172266872352721779972131;
136 w[2] = 0.1568533229389436436689811009933;
137 w[3] = 0.1813418916891809914825752246386;
138 w[4] = 0.1813418916891809914825752246386;
139 w[5] = 0.1568533229389436436689811009933;
140 w[6] = 0.1111905172266872352721779972131;
141 w[7] = 0.05061426814518812957626567715498;
142 }
143 };
144
145 template <typename ctype> struct GLQuadrature<9, ctype> {
146 ctype x[9];
147 ctype w[9];
148 consteval GLQuadrature()
149 {
150 x[0] = 0.0159198802461869550822118985482;
151 x[1] = 0.081984446336682102850285105965;
152 x[2] = 0.193314283649704801345648980329;
153 x[3] = 0.337873288298095535480730992678;
154 x[4] = 0.500000000000000000000000000000;
155 x[5] = 0.66212671170190446451926900732;
156 x[6] = 0.80668571635029519865435101967;
157 x[7] = 0.91801555366331789714971489403;
158 x[8] = 0.98408011975381304491778810145;
159 w[0] = 0.04063719418078720598594607905526;
160 w[1] = 0.09032408034742870202923601562146;
161 w[2] = 0.1303053482014677311593714347093;
162 w[3] = 0.1561735385200014200343152032922;
163 w[4] = 0.1651196775006298815822625346435;
164 w[5] = 0.1561735385200014200343152032922;
165 w[6] = 0.1303053482014677311593714347093;
166 w[7] = 0.09032408034742870202923601562146;
167 w[8] = 0.04063719418078720598594607905526;
168 }
169 };
170
171 template <typename ctype> struct GLQuadrature<10, ctype> {
172 ctype x[10];
173 ctype w[10];
174 consteval GLQuadrature()
175 {
176 x[0] = 0.0130467357414141399610179939578;
177 x[1] = 0.067468316655507744633951655788;
178 x[2] = 0.160295215850487796882836317443;
179 x[3] = 0.283302302935376404600367028417;
180 x[4] = 0.425562830509184394557586999435;
181 x[5] = 0.57443716949081560544241300056;
182 x[6] = 0.71669769706462359539963297158;
183 x[7] = 0.83970478414951220311716368256;
184 x[8] = 0.93253168334449225536604834421;
185 x[9] = 0.98695326425858586003898200604;
186 w[0] = 0.03333567215434406879678440494667;
187 w[1] = 0.0747256745752902965728881698288;
188 w[2] = 0.1095431812579910219977674671141;
189 w[3] = 0.1346333596549981775456134607847;
190 w[4] = 0.1477621123573764350869464973257;
191 w[5] = 0.1477621123573764350869464973257;
192 w[6] = 0.1346333596549981775456134607847;
193 w[7] = 0.1095431812579910219977674671141;
194 w[8] = 0.0747256745752902965728881698288;
195 w[9] = 0.03333567215434406879678440494667;
196 }
197 };
198
199 template <typename ctype> struct GLQuadrature<11, ctype> {
200 ctype x[11];
201 ctype w[11];
202 consteval GLQuadrature()
203 {
204 x[0] = 0.0108856709269715035980309994386;
205 x[1] = 0.056468700115952350462421115348;
206 x[2] = 0.134923997212975337953291873984;
207 x[3] = 0.240451935396594092037137165271;
208 x[4] = 0.365228422023827513834234007300;
209 x[5] = 0.50000000000000000000000000000;
210 x[6] = 0.63477157797617248616576599270;
211 x[7] = 0.75954806460340590796286283473;
212 x[8] = 0.86507600278702466204670812602;
213 x[9] = 0.94353129988404764953757888465;
214 x[10] = 0.98911432907302849640196900056;
215 w[0] = 0.02783428355808683324137686022127;
216 w[1] = 0.06279018473245231231734714961197;
217 w[2] = 0.09314510546386712571304882071583;
218 w[3] = 0.1165968822959952399592618524216;
219 w[4] = 0.1314022722551233310903444349453;
220 w[5] = 0.1364625433889503153572417641682;
221 w[6] = 0.1314022722551233310903444349453;
222 w[7] = 0.1165968822959952399592618524216;
223 w[8] = 0.09314510546386712571304882071583;
224 w[9] = 0.06279018473245231231734714961197;
225 w[10] = 0.02783428355808683324137686022127;
226 }
227 };
228
229 template <typename ctype> struct GLQuadrature<12, ctype> {
230 ctype x[12];
231 ctype w[12];
232 consteval GLQuadrature()
233 {
234 x[0] = 0.0092196828766403746547254549254;
235 x[1] = 0.047941371814762571660767066940;
236 x[2] = 0.115048662902847656481553083394;
237 x[3] = 0.206341022856691276351648790530;
238 x[4] = 0.31608425050090990312365423168;
239 x[5] = 0.43738329574426554226377931527;
240 x[6] = 0.56261670425573445773622068473;
241 x[7] = 0.68391574949909009687634576832;
242 x[8] = 0.79365897714330872364835120947;
243 x[9] = 0.88495133709715234351844691661;
244 x[10] = 0.95205862818523742833923293306;
245 x[11] = 0.99078031712335962534527454507;
246 w[0] = 0.02358766819325591359730798074251;
247 w[1] = 0.05346966299765921548012735909700;
248 w[2] = 0.0800391642716731131673262647717;
249 w[3] = 0.1015837133615329608745322279049;
250 w[4] = 0.1167462682691774043804249494624;
251 w[5] = 0.1245735229067013925002812180215;
252 w[6] = 0.1245735229067013925002812180215;
253 w[7] = 0.1167462682691774043804249494624;
254 w[8] = 0.1015837133615329608745322279049;
255 w[9] = 0.0800391642716731131673262647717;
256 w[10] = 0.05346966299765921548012735909700;
257 w[11] = 0.02358766819325591359730798074251;
258 }
259 };
260
261 template <typename ctype> struct GLQuadrature<13, ctype> {
262 ctype x[13];
263 ctype w[13];
264 consteval GLQuadrature()
265 {
266 x[0] = 0.0079084726407059252635852755964;
267 x[1] = 0.041200800388511017396726081750;
268 x[2] = 0.099210954633345043602896755209;
269 x[3] = 0.178825330279829889678007696502;
270 x[4] = 0.27575362448177657356104357394;
271 x[5] = 0.38477084202243260296723593945;
272 x[6] = 0.50000000000000000000000000000;
273 x[7] = 0.61522915797756739703276406055;
274 x[8] = 0.72424637551822342643895642606;
275 x[9] = 0.82117466972017011032199230350;
276 x[10] = 0.90078904536665495639710324479;
277 x[11] = 0.95879919961148898260327391825;
278 x[12] = 0.99209152735929407473641472440;
279 w[0] = 0.02024200238265793976001079610049;
280 w[1] = 0.04606074991886422395721088797690;
281 w[2] = 0.06943675510989361923180088843444;
282 w[3] = 0.08907299038097286914002334599805;
283 w[4] = 0.10390802376844425115626160965303;
284 w[5] = 0.11314159013144861920604509301989;
285 w[6] = 0.1162757766154369550972947576344;
286 w[7] = 0.11314159013144861920604509301989;
287 w[8] = 0.10390802376844425115626160965303;
288 w[9] = 0.08907299038097286914002334599805;
289 w[10] = 0.06943675510989361923180088843444;
290 w[11] = 0.04606074991886422395721088797690;
291 w[12] = 0.02024200238265793976001079610049;
292 }
293 };
294
295 template <typename ctype> struct GLQuadrature<14, ctype> {
296 ctype x[14];
297 ctype w[14];
298 consteval GLQuadrature()
299 {
300 x[0] = 0.0068580956515938305792013666480;
301 x[1] = 0.035782558168213241331804430311;
302 x[2] = 0.086399342465117503405102628675;
303 x[3] = 0.156353547594157264925990098490;
304 x[4] = 0.24237568182092295401735464072;
305 x[5] = 0.34044381553605511978216408792;
306 x[6] = 0.44597252564632816896687767489;
307 x[7] = 0.55402747435367183103312232511;
308 x[8] = 0.65955618446394488021783591208;
309 x[9] = 0.75762431817907704598264535928;
310 x[10] = 0.84364645240584273507400990151;
311 x[11] = 0.91360065753488249659489737133;
312 x[12] = 0.96421744183178675866819556969;
313 x[13] = 0.99314190434840616942079863335;
314 w[0] = 0.01755973016587593151591643806910;
315 w[1] = 0.04007904357988010490281663853143;
316 w[2] = 0.06075928534395159234470740453624;
317 w[3] = 0.0786015835790967672848009693119;
318 w[4] = 0.0927691987389689068708582950626;
319 w[5] = 0.1025992318606478019829620328306;
320 w[6] = 0.1076319267315788950979382216581;
321 w[7] = 0.1076319267315788950979382216581;
322 w[8] = 0.1025992318606478019829620328306;
323 w[9] = 0.0927691987389689068708582950626;
324 w[10] = 0.0786015835790967672848009693119;
325 w[11] = 0.06075928534395159234470740453624;
326 w[12] = 0.04007904357988010490281663853143;
327 w[13] = 0.01755973016587593151591643806910;
328 }
329 };
330
331 template <typename ctype> struct GLQuadrature<15, ctype> {
332 ctype x[15];
333 ctype w[15];
334 consteval GLQuadrature()
335 {
336 x[0] = 0.0060037409897572857552171407067;
337 x[1] = 0.031363303799647047846120526145;
338 x[2] = 0.075896708294786391899675839613;
339 x[3] = 0.137791134319914976291906972693;
340 x[4] = 0.21451391369573057623138663137;
341 x[5] = 0.30292432646121831505139631451;
342 x[6] = 0.39940295300128273884968584830;
343 x[7] = 0.50000000000000000000000000000;
344 x[8] = 0.60059704699871726115031415170;
345 x[9] = 0.69707567353878168494860368549;
346 x[10] = 0.78548608630426942376861336863;
347 x[11] = 0.86220886568008502370809302731;
348 x[12] = 0.92410329170521360810032416039;
349 x[13] = 0.96863669620035295215387947386;
350 x[14] = 0.99399625901024271424478285929;
351 w[0] = 0.01537662099805863417731419678860;
352 w[1] = 0.03518302374405406235463370822533;
353 w[2] = 0.05357961023358596750593477334293;
354 w[3] = 0.06978533896307715722390239725551;
355 w[4] = 0.08313460290849696677660043024060;
356 w[5] = 0.09308050000778110551340028093321;
357 w[6] = 0.09921574266355578822805916322192;
358 w[7] = 0.1012891209627806364403100999838;
359 w[8] = 0.09921574266355578822805916322192;
360 w[9] = 0.09308050000778110551340028093321;
361 w[10] = 0.08313460290849696677660043024060;
362 w[11] = 0.06978533896307715722390239725551;
363 w[12] = 0.05357961023358596750593477334293;
364 w[13] = 0.03518302374405406235463370822533;
365 w[14] = 0.01537662099805863417731419678860;
366 }
367 };
368
369 template <typename ctype> struct GLQuadrature<16, ctype> {
370 ctype x[16];
371 ctype w[16];
372 consteval GLQuadrature()
373 {
374 x[0] = 0.0052995325041750337019229132748;
375 x[1] = 0.027712488463383711961005792233;
376 x[2] = 0.067184398806084128059766051144;
377 x[3] = 0.122297795822498483052449402576;
378 x[4] = 0.19106187779867812577666411798;
379 x[5] = 0.27099161117138630682879027851;
380 x[6] = 0.35919822461037054338476974927;
381 x[7] = 0.45249374508118127990734033229;
382 x[8] = 0.54750625491881872009265966771;
383 x[9] = 0.64080177538962945661523025073;
384 x[10] = 0.72900838882861369317120972149;
385 x[11] = 0.80893812220132187422333588202;
386 x[12] = 0.87770220417750151694755059742;
387 x[13] = 0.93281560119391587194023394886;
388 x[14] = 0.97228751153661628803899420777;
389 x[15] = 0.99470046749582496629807708673;
390 w[0] = 0.01357622970587704742589028622801;
391 w[1] = 0.03112676196932394643142191849719;
392 w[2] = 0.04757925584124639240496255380112;
393 w[3] = 0.06231448562776693602623814109601;
394 w[4] = 0.0747979944082883660407508652737;
395 w[5] = 0.0845782596975012690946560395152;
396 w[6] = 0.0913017075224617944333818339846;
397 w[7] = 0.0947253052275342481426983616041;
398 w[8] = 0.0947253052275342481426983616041;
399 w[9] = 0.0913017075224617944333818339846;
400 w[10] = 0.0845782596975012690946560395152;
401 w[11] = 0.0747979944082883660407508652737;
402 w[12] = 0.06231448562776693602623814109601;
403 w[13] = 0.04757925584124639240496255380112;
404 w[14] = 0.03112676196932394643142191849719;
405 w[15] = 0.01357622970587704742589028622801;
406 }
407 };
408
409 template <typename ctype> struct GLQuadrature<20, ctype> {
410 ctype x[20];
411 ctype w[20];
412 consteval GLQuadrature()
413 {
414 x[0] = 0.0034357004074525376069388057643;
415 x[1] = 0.018014036361043104366166934401;
416 x[2] = 0.043882785874337047066123779398;
417 x[3] = 0.080441514088890588302735469149;
418 x[4] = 0.12683404676992460369284746482;
419 x[5] = 0.18197315963674248727358165189;
420 x[6] = 0.24456649902458645099781797452;
421 x[7] = 0.31314695564229021966372591149;
422 x[8] = 0.38610707442917746095975190232;
423 x[9] = 0.46173673943325133312267979530;
424 x[10] = 0.53826326056674866687732020470;
425 x[11] = 0.61389292557082253904024809768;
426 x[12] = 0.68685304435770978033627408851;
427 x[13] = 0.75543350097541354900218202548;
428 x[14] = 0.81802684036325751272641834811;
429 x[15] = 0.87316595323007539630715253518;
430 x[16] = 0.91955848591110941169726453085;
431 x[17] = 0.95611721412566295293387622060;
432 x[18] = 0.98198596363895689563383306560;
433 x[19] = 0.99656429959254746239306119424;
434 w[0] = 0.00880700356957605915593098117593;
435 w[1] = 0.02030071490019347066551997613747;
436 w[2] = 0.03133602416705453178475326759352;
437 w[3] = 0.04163837078835237436237907161102;
438 w[4] = 0.05096505990862021751837506774017;
439 w[5] = 0.05909726598075920865618868885569;
440 w[6] = 0.0658443192245883134492472498741;
441 w[7] = 0.0710480546591910256646491625336;
442 w[8] = 0.0745864932363018733939143685010;
443 w[9] = 0.0763766935653629253490421659775;
444 w[10] = 0.0763766935653629253490421659775;
445 w[11] = 0.0745864932363018733939143685010;
446 w[12] = 0.0710480546591910256646491625336;
447 w[13] = 0.0658443192245883134492472498741;
448 w[14] = 0.05909726598075920865618868885569;
449 w[15] = 0.05096505990862021751837506774017;
450 w[16] = 0.04163837078835237436237907161102;
451 w[17] = 0.03133602416705453178475326759352;
452 w[18] = 0.02030071490019347066551997613747;
453 w[19] = 0.00880700356957605915593098117593;
454 }
455 };
456
457 template <typename ctype> struct GLQuadrature<24, ctype> {
458 ctype x[24];
459 ctype w[24];
460 consteval GLQuadrature()
461 {
462 x[0] = 0.0024063900014893199100012951496;
463 x[1] = 0.012635722014345250900804003496;
464 x[2] = 0.030862723998633620738175499146;
465 x[3] = 0.056792236497799482893422829009;
466 x[4] = 0.08999900701304853902302506367;
467 x[5] = 0.12993790421072281787808594845;
468 x[6] = 0.17595317403151221537375210654;
469 x[7] = 0.22728926430558023217081219139;
470 x[8] = 0.28310324618697743075645788404;
471 x[9] = 0.34247866015191831280660335434;
472 x[10] = 0.40444056626319184542068008962;
473 x[11] = 0.46797155356869718695747845869;
474 x[12] = 0.53202844643130281304252154131;
475 x[13] = 0.59555943373680815457931991038;
476 x[14] = 0.65752133984808168719339664566;
477 x[15] = 0.71689675381302256924354211596;
478 x[16] = 0.77271073569441976782918780861;
479 x[17] = 0.8240468259684877846262478935;
480 x[18] = 0.8700620957892771821219140515;
481 x[19] = 0.9100009929869514609769749363;
482 x[20] = 0.9432077635022005171065771710;
483 x[21] = 0.9691372760013663792618245009;
484 x[22] = 0.9873642779856547490991959965;
485 x[23] = 0.9975936099985106800899987049;
486 w[0] = 0.006170614899993599773402833535019;
487 w[1] = 0.01426569431446683159065390797594;
488 w[2] = 0.02213871940870990308430137410567;
489 w[3] = 0.02964929245771839037318387925005;
490 w[4] = 0.03667324070554015286701680762656;
491 w[5] = 0.04309508076597663795859260149187;
492 w[6] = 0.04880932605205694413494033223212;
493 w[7] = 0.05372213505798281739128867122330;
494 w[8] = 0.05775283402686280067667224195339;
495 w[9] = 0.0608352364639016956022315767381;
496 w[10] = 0.0629187281734141480606876912556;
497 w[11] = 0.0639690976733760784870280826123;
498 w[12] = 0.0639690976733760784870280826123;
499 w[13] = 0.0629187281734141480606876912556;
500 w[14] = 0.0608352364639016956022315767381;
501 w[15] = 0.05775283402686280067667224195339;
502 w[16] = 0.05372213505798281739128867122330;
503 w[17] = 0.04880932605205694413494033223212;
504 w[18] = 0.04309508076597663795859260149187;
505 w[19] = 0.03667324070554015286701680762656;
506 w[20] = 0.02964929245771839037318387925005;
507 w[21] = 0.02213871940870990308430137410567;
508 w[22] = 0.01426569431446683159065390797594;
509 w[23] = 0.006170614899993599773402833535019;
510 }
511 };
512
513 template <typename ctype> struct GLQuadrature<32, ctype> {
514 ctype x[32];
515 ctype w[32];
516 consteval GLQuadrature()
517 {
518 x[0] = 0.0013680690752592182275094356675;
519 x[1] = 0.007194244227365832299912477685;
520 x[2] = 0.017618872206246784613094035941;
521 x[3] = 0.032546962031130155414540432582;
522 x[4] = 0.05183942211697393801734637814;
523 x[5] = 0.07531619313371501493315349752;
524 x[6] = 0.10275810201602879651845135051;
525 x[7] = 0.13390894062985515980628666745;
526 x[8] = 0.16847786653489239951244241567;
527 x[9] = 0.20614212137961883547962726180;
528 x[10] = 0.24655004553388530498812626281;
529 x[11] = 0.28932436193468232731794028191;
530 x[12] = 0.33406569885893617511004159713;
531 x[13] = 0.38035631887393146272769839542;
532 x[14] = 0.42776401920860175325740681320;
533 x[15] = 0.4758461671561308418825937148;
534 x[16] = 0.5241538328438691581174062852;
535 x[17] = 0.5722359807913982467425931868;
536 x[18] = 0.6196436811260685372723016046;
537 x[19] = 0.6659343011410638248899584029;
538 x[20] = 0.7106756380653176726820597181;
539 x[21] = 0.7534499544661146950118737372;
540 x[22] = 0.7938578786203811645203727382;
541 x[23] = 0.8315221334651076004875575843;
542 x[24] = 0.8660910593701448401937133325;
543 x[25] = 0.8972418979839712034815486495;
544 x[26] = 0.9246838068662849850668465025;
545 x[27] = 0.9481605778830260619826536219;
546 x[28] = 0.9674530379688698445854595674;
547 x[29] = 0.9823811277937532153869059641;
548 x[30] = 0.9928057557726341677000875223;
549 x[31] = 0.9986319309247407817724905643;
550 w[0] = 0.003509305004735048300203531869427;
551 w[1] = 0.00813719736545283530258528110319;
552 w[2] = 0.01269603265463102972787629489461;
553 w[3] = 0.01713693145651071655134386612619;
554 w[4] = 0.02141794901111334032843932330306;
555 w[5] = 0.02549902963118808809808162234476;
556 w[6] = 0.02934204673926777357264181865009;
557 w[7] = 0.03291111138818092341882503185347;
558 w[8] = 0.03617289705442425311269967823924;
559 w[9] = 0.03909694789353515323587045941415;
560 w[10] = 0.04165596211347337761109953730217;
561 w[11] = 0.04382604650220190557138573137590;
562 w[12] = 0.04558693934788194235643428855582;
563 w[13] = 0.04692219954040228281959011883406;
564 w[14] = 0.0478193600396374297095410011021;
565 w[15] = 0.0482700442573639002833824150318;
566 w[16] = 0.0482700442573639002833824150318;
567 w[17] = 0.0478193600396374297095410011021;
568 w[18] = 0.04692219954040228281959011883406;
569 w[19] = 0.04558693934788194235643428855582;
570 w[20] = 0.04382604650220190557138573137590;
571 w[21] = 0.04165596211347337761109953730217;
572 w[22] = 0.03909694789353515323587045941415;
573 w[23] = 0.03617289705442425311269967823924;
574 w[24] = 0.03291111138818092341882503185347;
575 w[25] = 0.02934204673926777357264181865009;
576 w[26] = 0.02549902963118808809808162234476;
577 w[27] = 0.02141794901111334032843932330306;
578 w[28] = 0.01713693145651071655134386612619;
579 w[29] = 0.01269603265463102972787629489461;
580 w[30] = 0.00813719736545283530258528110319;
581 w[31] = 0.003509305004735048300203531869427;
582 }
583 };
584
585 template <typename ctype> struct GLQuadrature<48, ctype> {
586 ctype x[48];
587 ctype w[48];
588 consteval GLQuadrature()
589 {
590 x[0] = 0.0006144963737869406997292542184;
591 x[1] = 0.003234913866824621226035624575;
592 x[2] = 0.007937708138586571127708199987;
593 x[3] = 0.014704203726876374769294008100;
594 x[4] = 0.02350614841978456963851966699;
595 x[5] = 0.03430665464672283344291280995;
596 x[6] = 0.04706043164221516358896258216;
597 x[7] = 0.06171398986287605704715322260;
598 x[8] = 0.07820586918780323464445507774;
599 x[9] = 0.09646689798527868645872347849;
600 x[10] = 0.11642048374212983037307228124;
601 x[11] = 0.13798293453809267266275888325;
602 x[12] = 0.16106381018366804739407435966;
603 x[13] = 0.18556630161174318800241753347;
604 x[14] = 0.2113876369580136480910953807;
605 x[15] = 0.2384195126388834831608870654;
606 x[16] = 0.2665485476245207977275355692;
607 x[17] = 0.2956567590046416350418872521;
608 x[18] = 0.3256220568539196309200910314;
609 x[19] = 0.3563187563222722116320567693;
610 x[20] = 0.3876181048026554693875672799;
611 x[21] = 0.4193888219655541409717813046;
612 x[22] = 0.4514976503952686505349730221;
613 x[23] = 0.4838099145185653189833388784;
614 x[24] = 0.5161900854814346810166611216;
615 x[25] = 0.5485023496047313494650269779;
616 x[26] = 0.5806111780344458590282186954;
617 x[27] = 0.6123818951973445306124327201;
618 x[28] = 0.6436812436777277883679432307;
619 x[29] = 0.6743779431460803690799089686;
620 x[30] = 0.7043432409953583649581127479;
621 x[31] = 0.7334514523754792022724644308;
622 x[32] = 0.7615804873611165168391129346;
623 x[33] = 0.7886123630419863519089046193;
624 x[34] = 0.8144336983882568119975824665;
625 x[35] = 0.8389361898163319526059256403;
626 x[36] = 0.8620170654619073273372411167;
627 x[37] = 0.8835795162578701696269277188;
628 x[38] = 0.9035331020147213135412765215;
629 x[39] = 0.9217941308121967653555449223;
630 x[40] = 0.9382860101371239429528467774;
631 x[41] = 0.9529395683577848364110374178;
632 x[42] = 0.9656933453532771665570871901;
633 x[43] = 0.9764938515802154303614803330;
634 x[44] = 0.9852957962731236252307059919;
635 x[45] = 0.9920622918614134288722918000;
636 x[46] = 0.9967650861331753787739643754;
637 x[47] = 0.9993855036262130593002707458;
638 w[0] = 0.001576673026152919316338655771946;
639 w[1] = 0.003663776950638131051191989810893;
640 w[2] = 0.005738617289617269744796333804546;
641 w[3] = 0.00778965786147192436408847791723;
642 w[4] = 0.00980808022867776390723035982611;
643 w[5] = 0.01178538041966218957025965068922;
644 w[6] = 0.01371325485417847410003691813125;
645 w[7] = 0.01558361391639904445103287842318;
646 w[8] = 0.01738861128238521944627429298190;
647 w[9] = 0.01912067553291535315860862826186;
648 w[10] = 0.02077254147173237460702941118053;
649 w[11] = 0.02233728042834714020972429356293;
650 w[12] = 0.02380832924624523741295331173946;
651 w[13] = 0.02517951777692723747890380954393;
652 w[14] = 0.02644509474259683354775252813235;
653 w[15] = 0.02759975184999208143410174759582;
654 w[16] = 0.02863864605020160785257511734235;
655 w[17] = 0.02955741984919781787323740871676;
656 w[18] = 0.03035221958294694002648461601391;
657 w[19] = 0.03101971157994633195209889206880;
658 w[20] = 0.03155709614312701282856301137512;
659 w[21] = 0.03196211929232409331195310091276;
660 w[22] = 0.03223308221797504110325209682885;
661 w[23] = 0.0323688484063419612515124693683;
662 w[24] = 0.0323688484063419612515124693683;
663 w[25] = 0.03223308221797504110325209682885;
664 w[26] = 0.03196211929232409331195310091276;
665 w[27] = 0.03155709614312701282856301137512;
666 w[28] = 0.03101971157994633195209889206880;
667 w[29] = 0.03035221958294694002648461601391;
668 w[30] = 0.02955741984919781787323740871676;
669 w[31] = 0.02863864605020160785257511734235;
670 w[32] = 0.02759975184999208143410174759582;
671 w[33] = 0.02644509474259683354775252813235;
672 w[34] = 0.02517951777692723747890380954393;
673 w[35] = 0.02380832924624523741295331173946;
674 w[36] = 0.02233728042834714020972429356293;
675 w[37] = 0.02077254147173237460702941118053;
676 w[38] = 0.01912067553291535315860862826186;
677 w[39] = 0.01738861128238521944627429298190;
678 w[40] = 0.01558361391639904445103287842318;
679 w[41] = 0.01371325485417847410003691813125;
680 w[42] = 0.01178538041966218957025965068922;
681 w[43] = 0.00980808022867776390723035982611;
682 w[44] = 0.00778965786147192436408847791723;
683 w[45] = 0.005738617289617269744796333804546;
684 w[46] = 0.003663776950638131051191989810893;
685 w[47] = 0.001576673026152919316338655771946;
686 }
687 };
688
689 template <typename ctype> struct GLQuadrature<64, ctype> {
690 ctype x[64];
691 ctype w[64];
692 consteval GLQuadrature()
693 {
694 x[0] = 0.0003474791321139302715471878272;
695 x[1] = 0.001829941614022360326537749662;
696 x[2] = 0.004493314261627839630308808278;
697 x[3] = 0.008331873057687021534350348922;
698 x[4] = 0.01333658610504451812907324632;
699 x[5] = 0.01949560017397314054069293905;
700 x[6] = 0.02679431257079859196875925433;
701 x[7] = 0.03521541393403021208925492272;
702 x[8] = 0.04473893146074859712180966600;
703 x[9] = 0.05534227700244294707329798086;
704 x[10] = 0.06700030092295359011960830746;
705 x[11] = 0.07968535187370981862415422765;
706 x[12] = 0.09336734243860122012903833096;
707 x[13] = 0.10801382052832929619488973739;
708 x[14] = 0.1235900463697340516940681126;
709 x[15] = 0.1400590749141945865755298911;
710 x[16] = 0.1573818434728833787182208145;
711 x[17] = 0.1755172643726713300711193840;
712 x[18] = 0.1944223224138033748755735145;
713 x[19] = 0.2140521768986829828580609417;
714 x[20] = 0.2343602679900527271709930482;
715 x[21] = 0.2552984271464735212607368465;
716 x[22] = 0.2768169913732679560075261426;
717 x[23] = 0.2988649210180041981521166144;
718 x[24] = 0.3213899208311659420247786925;
719 x[25] = 0.3443385640048945219212436507;
720 x[26] = 0.3676564188956162918130179137;
721 x[27] = 0.3912881781299964579251756255;
722 x[28] = 0.4151777897880035909813431851;
723 x[29] = 0.4392685903519397227648117683;
724 x[30] = 0.4635034391061004802752285290;
725 x[31] = 0.4878248536682877837455220786;
726 x[32] = 0.5121751463317122162544779214;
727 x[33] = 0.5364965608938995197247714710;
728 x[34] = 0.5607314096480602772351882317;
729 x[35] = 0.5848222102119964090186568149;
730 x[36] = 0.6087118218700035420748243745;
731 x[37] = 0.6323435811043837081869820863;
732 x[38] = 0.6556614359951054780787563493;
733 x[39] = 0.6786100791688340579752213075;
734 x[40] = 0.7011350789819958018478833856;
735 x[41] = 0.7231830086267320439924738574;
736 x[42] = 0.7447015728535264787392631535;
737 x[43] = 0.7656397320099472728290069518;
738 x[44] = 0.7859478231013170171419390583;
739 x[45] = 0.8055776775861966251244264855;
740 x[46] = 0.8244827356273286699288806160;
741 x[47] = 0.8426181565271166212817791855;
742 x[48] = 0.8599409250858054134244701089;
743 x[49] = 0.8764099536302659483059318874;
744 x[50] = 0.8919861794716707038051102626;
745 x[51] = 0.9066326575613987798709616690;
746 x[52] = 0.9203146481262901813758457723;
747 x[53] = 0.9329996990770464098803916925;
748 x[54] = 0.9446577229975570529267020191;
749 x[55] = 0.9552610685392514028781903340;
750 x[56] = 0.9647845860659697879107450773;
751 x[57] = 0.9732056874292014080312407457;
752 x[58] = 0.9805043998260268594593070609;
753 x[59] = 0.9866634138949554818709267537;
754 x[60] = 0.9916681269423129784656496511;
755 x[61] = 0.9955066857383721603696911917;
756 x[62] = 0.9981700583859776396734622503;
757 x[63] = 0.9996525208678860697284528122;
758 w[0] = 0.000891640360848216473648039572486;
759 w[1] = 0.002073516630281233817643767864276;
760 w[2] = 0.003252228984489181428058680199991;
761 w[3] = 0.004423379913181973861515457329865;
762 w[4] = 0.005584069730065564409295246509604;
763 w[5] = 0.00673152394835932129903038334298;
764 w[6] = 0.00786301523801235966098299764877;
765 w[7] = 0.00897585788784867154252265100056;
766 w[8] = 0.01006741157676510468617015836427;
767 w[9] = 0.01113508690419162707964916519208;
768 w[10] = 0.01217635128435543666908877520453;
769 w[11] = 0.01318873485752732933584589631261;
770 w[12] = 0.01416983630712974161375565260012;
771 w[13] = 0.01511732853620123943398702990977;
772 w[14] = 0.01602896417742577679273375217395;
773 w[15] = 0.01690258091857080469578274105536;
774 w[16] = 0.01773610662844119190534657335762;
775 w[17] = 0.01852756427012002302020755090479;
776 w[18] = 0.01927507658930781456448124847340;
777 w[19] = 0.01997687056636017069332846306417;
778 w[20] = 0.02063128162131176430507814873682;
779 w[21] = 0.02123675756182679450366988395441;
780 w[22] = 0.02179186226466172668841393048687;
781 w[23] = 0.02229527908187828153006735501547;
782 w[24] = 0.02274581396370907223988549848563;
783 w[25] = 0.02314239829065720864797662461613;
784 w[26] = 0.02348409140810500866266314287729;
785 w[27] = 0.02377008285741515433114110347211;
786 w[28] = 0.02399969429822915386406308993567;
787 w[29] = 0.02417238111740147858488476357901;
788 w[30] = 0.02428773372075171346739953339199;
789 w[31] = 0.0243454785045698601916826953674;
790 w[32] = 0.0243454785045698601916826953674;
791 w[33] = 0.02428773372075171346739953339199;
792 w[34] = 0.02417238111740147858488476357901;
793 w[35] = 0.02399969429822915386406308993567;
794 w[36] = 0.02377008285741515433114110347211;
795 w[37] = 0.02348409140810500866266314287729;
796 w[38] = 0.02314239829065720864797662461613;
797 w[39] = 0.02274581396370907223988549848563;
798 w[40] = 0.02229527908187828153006735501547;
799 w[41] = 0.02179186226466172668841393048687;
800 w[42] = 0.02123675756182679450366988395441;
801 w[43] = 0.02063128162131176430507814873682;
802 w[44] = 0.01997687056636017069332846306417;
803 w[45] = 0.01927507658930781456448124847340;
804 w[46] = 0.01852756427012002302020755090479;
805 w[47] = 0.01773610662844119190534657335762;
806 w[48] = 0.01690258091857080469578274105536;
807 w[49] = 0.01602896417742577679273375217395;
808 w[50] = 0.01511732853620123943398702990977;
809 w[51] = 0.01416983630712974161375565260012;
810 w[52] = 0.01318873485752732933584589631261;
811 w[53] = 0.01217635128435543666908877520453;
812 w[54] = 0.01113508690419162707964916519208;
813 w[55] = 0.01006741157676510468617015836427;
814 w[56] = 0.00897585788784867154252265100056;
815 w[57] = 0.00786301523801235966098299764877;
816 w[58] = 0.00673152394835932129903038334298;
817 w[59] = 0.005584069730065564409295246509604;
818 w[60] = 0.004423379913181973861515457329865;
819 w[61] = 0.003252228984489181428058680199991;
820 w[62] = 0.002073516630281233817643767864276;
821 w[63] = 0.000891640360848216473648039572486;
822 }
823 };
824
825 template <typename ctype> struct GLQuadrature<96, ctype> {
826 ctype x[96];
827 ctype w[96];
828 consteval GLQuadrature()
829 {
830 x[0] = 0.0001552480583846165861549471078;
831 x[1] = 0.000817812068409161137925280237;
832 x[2] = 0.002009078506395354674800457560;
833 x[3] = 0.003728049838118687714053851149;
834 x[4] = 0.00597293683518810025961861379;
835 x[5] = 0.00874136821849266127647708406;
836 x[6] = 0.01203041270743176677369948288;
837 x[7] = 0.01583658576836789391317031678;
838 x[8] = 0.02015585427562873034996598706;
839 x[9] = 0.02498364110778118212195052578;
840 x[10] = 0.03031483012362239153407131028;
841 x[11] = 0.03614377163884565451765476365;
842 x[12] = 0.04246428843955096289705776692;
843 x[13] = 0.04926968234207382934038365135;
844 x[14] = 0.0565527412987897919715612833;
845 x[15] = 0.0643057470453517485631126178;
846 x[16] = 0.0725204832826992722686065151;
847 x[17] = 0.0811882443859064392528485916;
848 x[18] = 0.0902998446310341622305001879;
849 x[19] = 0.0998456279304295913856019280;
850 x[20] = 0.1098154780662833911981977721;
851 x[21] = 0.1201988294116762506485147794;
852 x[22] = 0.1309846781277999335744171345;
853 x[23] = 0.1421615938255161868874279260;
854 x[24] = 0.1537177316789142193278771151;
855 x[25] = 0.1656408449780419230237213962;
856 x[26] = 0.1779182981075164466007938250;
857 x[27] = 0.1905370799372657148068153565;
858 x[28] = 0.2034838176112139596582221225;
859 x[29] = 0.2167447907193014157978749025;
860 x[30] = 0.2303059458378212818865987013;
861 x[31] = 0.2441529114226661632072451273;
862 x[32] = 0.2582710130397018201157971953;
863 x[33] = 0.2726452889161284956821619260;
864 x[34] = 0.2872605057963497273175903982;
865 x[35] = 0.3021011750855456983574998784;
866 x[36] = 0.3171515692638431824845522030;
867 x[37] = 0.3323957385536872886918371876;
868 x[38] = 0.3478175278227518234880351104;
869 x[39] = 0.3634005937044754292563639221;
870 x[40] = 0.3791284219180799938360340481;
871 x[41] = 0.3949843447697163981985764071;
872 x[42] = 0.4109515588161906986202986874;
873 x[43] = 0.4270131426725515290054463333;
874 x[44] = 0.4431520749446670395443959523;
875 x[45] = 0.4593512522677872205027643685;
876 x[46] = 0.4755935074319751344440208979;
877 x[47] = 0.4918616275751985152104327182;
878 x[48] = 0.5081383724248014847895672818;
879 x[49] = 0.524406492568024865555979102;
880 x[50] = 0.540648747732212779497235631;
881 x[51] = 0.556847925055332960455604048;
882 x[52] = 0.572986857327448470994553667;
883 x[53] = 0.589048441183809301379701313;
884 x[54] = 0.605015655230283601801423593;
885 x[55] = 0.620871578081920006163965952;
886 x[56] = 0.636599406295524570743636078;
887 x[57] = 0.652182472177248176511964890;
888 x[58] = 0.667604261446312711308162812;
889 x[59] = 0.682848430736156817515447797;
890 x[60] = 0.697898824914454301642500122;
891 x[61] = 0.712739494203650272682409602;
892 x[62] = 0.727354711083871504317838074;
893 x[63] = 0.741728986960298179884202805;
894 x[64] = 0.755847088577333836792754873;
895 x[65] = 0.769694054162178718113401299;
896 x[66] = 0.783255209280698584202125098;
897 x[67] = 0.796516182388786040341777878;
898 x[68] = 0.809462920062734285193184643;
899 x[69] = 0.822081701892483553399206175;
900 x[70] = 0.834359155021958076976278604;
901 x[71] = 0.846282268321085780672122885;
902 x[72] = 0.857838406174483813112572074;
903 x[73] = 0.869015321872200066425582866;
904 x[74] = 0.879801170588323749351485221;
905 x[75] = 0.890184521933716608801802228;
906 x[76] = 0.900154372069570408614398072;
907 x[77] = 0.909700155368965837769499812;
908 x[78] = 0.918811755614093560747151408;
909 x[79] = 0.927479516717300727731393485;
910 x[80] = 0.935694252954648251436887382;
911 x[81] = 0.943447258701210208028438717;
912 x[82] = 0.950730317657926170659616349;
913 x[83] = 0.957535711560449037102942233;
914 x[84] = 0.963856228361154345482345236;
915 x[85] = 0.969685169876377608465928690;
916 x[86] = 0.975016358892218817878049474;
917 x[87] = 0.979844145724371269650034013;
918 x[88] = 0.984163414231632106086829683;
919 x[89] = 0.987969587292568233226300517;
920 x[90] = 0.991258631781507338723522916;
921 x[91] = 0.994027063164811899740381386;
922 x[92] = 0.996271950161881312285946149;
923 x[93] = 0.997990921493604645325199542;
924 x[94] = 0.999182187931590838862074720;
925 x[95] = 0.999844751941615383413845053;
926 w[0] = 0.0003983960327760062147190717484718;
927 w[1] = 0.000926980394473460866167962675447;
928 w[2] = 0.001455365908967473204205308994700;
929 w[3] = 0.001982277169222343336866707883710;
930 w[4] = 0.002507101371463758846235097484515;
931 w[5] = 0.003029272752117980841658371015865;
932 w[6] = 0.003548235395576932634572080406072;
933 w[7] = 0.004063438462849379608691213853928;
934 w[8] = 0.004574335615391693316292301332604;
935 w[9] = 0.005080385267504207878793818476913;
936 w[10] = 0.005581051049919249295606631914281;
937 w[11] = 0.00607580233554415981759067636833;
938 w[12] = 0.00656411478348078631853183345130;
939 w[13] = 0.00704547088615743045793081236232;
940 w[14] = 0.00751936051349746900293813761105;
941 w[15] = 0.00798528145128114569030822839575;
942 w[16] = 0.00844273993212258622523877030343;
943 w[17] = 0.00889125115802263041880711324304;
944 w[18] = 0.00933033981370573369257837931107;
945 w[19] = 0.00975954057007251120504261014060;
946 w[20] = 0.01017839857716666229762260770864;
947 w[21] = 0.01058646994609564949383693359550;
948 w[22] = 0.01098332221937217459737819340078;
949 w[23] = 0.01136853482916468700067392098875;
950 w[24] = 0.01174169954296310992111796633381;
951 w[25] = 0.01210242089618234564113366893634;
952 w[26] = 0.01245031661124180514419109043417;
953 w[27] = 0.01278501800267468074939858397180;
954 w[28] = 0.01310617036783620695672898198223;
955 w[29] = 0.01341343336279588109902836435708;
956 w[30] = 0.01370648136301462141171054374455;
957 w[31] = 0.01398500380842416721990928829451;
958 w[32] = 0.01424870553254269282279975647290;
959 w[33] = 0.01449730707527761827133939063984;
960 w[34] = 0.01473054497908395298521816609143;
961 w[35] = 0.01494817206816419299219403789720;
962 w[36] = 0.01514995771041379689704438210325;
963 w[37] = 0.01533568806183457450711441517810;
964 w[38] = 0.01550516629315691871162488998532;
965 w[39] = 0.01565821279843067790639213335753;
966 w[40] = 0.01579466538536358427901037308498;
967 w[41] = 0.01591437944720550326737686994277;
968 w[42] = 0.01601722811599633160906948873511;
969 w[43] = 0.01610310239701512533433355727862;
970 w[44] = 0.01617191128428796421438741941447;
971 w[45] = 0.01622358185703213468200639422442;
972 w[46] = 0.01625805935693441799360274572389;
973 w[47] = 0.0162753072461815831209807091486;
974 w[48] = 0.0162753072461815831209807091486;
975 w[49] = 0.01625805935693441799360274572389;
976 w[50] = 0.01622358185703213468200639422442;
977 w[51] = 0.01617191128428796421438741941447;
978 w[52] = 0.01610310239701512533433355727862;
979 w[53] = 0.01601722811599633160906948873511;
980 w[54] = 0.01591437944720550326737686994277;
981 w[55] = 0.01579466538536358427901037308498;
982 w[56] = 0.01565821279843067790639213335753;
983 w[57] = 0.01550516629315691871162488998532;
984 w[58] = 0.01533568806183457450711441517810;
985 w[59] = 0.01514995771041379689704438210325;
986 w[60] = 0.01494817206816419299219403789720;
987 w[61] = 0.01473054497908395298521816609143;
988 w[62] = 0.01449730707527761827133939063984;
989 w[63] = 0.01424870553254269282279975647290;
990 w[64] = 0.01398500380842416721990928829451;
991 w[65] = 0.01370648136301462141171054374455;
992 w[66] = 0.01341343336279588109902836435708;
993 w[67] = 0.01310617036783620695672898198223;
994 w[68] = 0.01278501800267468074939858397180;
995 w[69] = 0.01245031661124180514419109043417;
996 w[70] = 0.01210242089618234564113366893634;
997 w[71] = 0.01174169954296310992111796633381;
998 w[72] = 0.01136853482916468700067392098875;
999 w[73] = 0.01098332221937217459737819340078;
1000 w[74] = 0.01058646994609564949383693359550;
1001 w[75] = 0.01017839857716666229762260770864;
1002 w[76] = 0.00975954057007251120504261014060;
1003 w[77] = 0.00933033981370573369257837931107;
1004 w[78] = 0.00889125115802263041880711324304;
1005 w[79] = 0.00844273993212258622523877030343;
1006 w[80] = 0.00798528145128114569030822839575;
1007 w[81] = 0.00751936051349746900293813761105;
1008 w[82] = 0.00704547088615743045793081236232;
1009 w[83] = 0.00656411478348078631853183345130;
1010 w[84] = 0.00607580233554415981759067636833;
1011 w[85] = 0.005581051049919249295606631914281;
1012 w[86] = 0.005080385267504207878793818476913;
1013 w[87] = 0.004574335615391693316292301332604;
1014 w[88] = 0.004063438462849379608691213853928;
1015 w[89] = 0.003548235395576932634572080406072;
1016 w[90] = 0.003029272752117980841658371015865;
1017 w[91] = 0.002507101371463758846235097484515;
1018 w[92] = 0.001982277169222343336866707883710;
1019 w[93] = 0.001455365908967473204205308994700;
1020 w[94] = 0.000926980394473460866167962675447;
1021 w[95] = 0.0003983960327760062147190717484718;
1022 }
1023 };
1024
1025 template <typename ctype> struct GLQuadrature<128, ctype> {
1026 ctype x[128];
1027 ctype w[128];
1028 consteval GLQuadrature()
1029 {
1030 x[0] = 0.0000875560264340427631959585091;
1031 x[1] = 0.000461270011312052494006121158;
1032 x[2] = 0.001133375687242990058921278326;
1033 x[3] = 0.002103620732509406567919395190;
1034 x[4] = 0.00337144354989353234828138946;
1035 x[5] = 0.00493609075413280833103484226;
1036 x[6] = 0.00679662863770689556438224038;
1037 x[7] = 0.00895194578214073198761718505;
1038 x[8] = 0.01140075426804630641731278674;
1039 x[9] = 0.01414159062643170954783081991;
1040 x[10] = 0.01717281678401736567708548671;
1041 x[11] = 0.02049262107315003595054072501;
1042 x[12] = 0.02409901932936780689110184920;
1043 x[13] = 0.02798985608488990893944429105;
1044 x[14] = 0.0321628058610418121084366226;
1045 x[15] = 0.0366153745605260783326877409;
1046 x[16] = 0.0413449009595197314817582099;
1047 x[17] = 0.0463485582991215930392570263;
1048 x[18] = 0.0516233559754209078067763012;
1049 x[19] = 0.0571661413273013912958537877;
1050 x[20] = 0.0629736015209841006522910226;
1051 x[21] = 0.0690422655302257697046838642;
1052 x[22] = 0.0753685062110155154181999355;
1053 x[23] = 0.0819485424695465764415623451;
1054 x[24] = 0.0887784415221780787677029071;
1055 x[25] = 0.0958541212460431699401788757;
1056 x[26] = 0.1031713526189033548783335267;
1057 x[27] = 0.1107257622467940165747529667;
1058 x[28] = 0.1185128349779526386101154283;
1059 x[29] = 0.1265279166014690094150587893;
1060 x[30] = 0.1347662166290455967641315285;
1061 x[31] = 0.1432228111582062933280700435;
1062 x[32] = 0.1518926458152428338074566988;
1063 x[33] = 0.1607705387761403703161221716;
1064 x[34] = 0.1698511838636769739470265826;
1065 x[35] = 0.1791291537188462214232375419;
1066 x[36] = 0.1885989030447075446192302007;
1067 x[37] = 0.1982547719207256878982134012;
1068 x[38] = 0.2080909891856184552249805714;
1069 x[39] = 0.2181016758866909580427846149;
1070 x[40] = 0.2282808487935948182779031864;
1071 x[41] = 0.2386224239744122607730260303;
1072 x[42] = 0.2491202204319277678551968533;
1073 x[43] = 0.2597679637979139870708621467;
1074 x[44] = 0.2705592900832239022754554348;
1075 x[45] = 0.2814877494814479185314785283;
1076 x[46] = 0.292546810223862492253863060;
1077 x[47] = 0.303729862483366278632175905;
1078 x[48] = 0.315030222325070486691704129;
1079 x[49] = 0.326441135701182245786918614;
1080 x[50] = 0.337955782487793312408373860;
1081 x[51] = 0.349567280561161398666422953;
1082 x[52] = 0.361268689911047798596884183;
1083 x[53] = 0.373053016788652839572191002;
1084 x[54] = 0.384913217886670006794506711;
1085 x[55] = 0.396842204548960391422970995;
1086 x[56] = 0.408832847007331408794808713;
1087 x[57] = 0.420877978642887533001262274;
1088 x[58] = 0.432970400269406107441212341;
1089 x[59] = 0.445102884436178126663512666;
1090 x[60] = 0.457268179747742250681750983;
1091 x[61] = 0.469459015197930215948106488;
1092 x[62] = 0.481668104515633253334892326;
1093 x[63] = 0.493888150519692117900973940;
1094 x[64] = 0.506111849480307882099026060;
1095 x[65] = 0.518331895484366746665107674;
1096 x[66] = 0.530540984802069784051893512;
1097 x[67] = 0.542731820252257749318249017;
1098 x[68] = 0.554897115563821873336487334;
1099 x[69] = 0.567029599730593892558787659;
1100 x[70] = 0.579122021357112466998737726;
1101 x[71] = 0.591167152992668591205191287;
1102 x[72] = 0.603157795451039608577029005;
1103 x[73] = 0.615086782113329993205493289;
1104 x[74] = 0.626946983211347160427808998;
1105 x[75] = 0.638731310088952201403115817;
1106 x[76] = 0.650432719438838601333577047;
1107 x[77] = 0.662044217512206687591626140;
1108 x[78] = 0.673558864298817754213081386;
1109 x[79] = 0.684969777674929513308295871;
1110 x[80] = 0.696270137516633721367824095;
1111 x[81] = 0.707453189776137507746136940;
1112 x[82] = 0.718512250518552081468521472;
1113 x[83] = 0.729440709916776097724544565;
1114 x[84] = 0.740232036202086012929137853;
1115 x[85] = 0.750879779568072232144803147;
1116 x[86] = 0.761377576025587739226973970;
1117 x[87] = 0.771719151206405181722096814;
1118 x[88] = 0.781898324113309041957215385;
1119 x[89] = 0.791909010814381544775019429;
1120 x[90] = 0.801745228079274312101786599;
1121 x[91] = 0.811401096955292455380769799;
1122 x[92] = 0.820870846281153778576762458;
1123 x[93] = 0.830148816136323026052973417;
1124 x[94] = 0.839229461223859629683877828;
1125 x[95] = 0.848107354184757166192543301;
1126 x[96] = 0.856777188841793706671929957;
1127 x[97] = 0.865233783370954403235868471;
1128 x[98] = 0.873472083398530990584941211;
1129 x[99] = 0.881487165022047361389884572;
1130 x[100] = 0.889274237753205983425247033;
1131 x[101] = 0.896828647381096645121666473;
1132 x[102] = 0.904145878753956830059821124;
1133 x[103] = 0.911221558477821921232297093;
1134 x[104] = 0.918051457530453423558437655;
1135 x[105] = 0.924631493788984484581800064;
1136 x[106] = 0.930957734469774230295316136;
1137 x[107] = 0.937026398479015899347708977;
1138 x[108] = 0.942833858672698608704146212;
1139 x[109] = 0.948376644024579092193223699;
1140 x[110] = 0.953651441700878406960742974;
1141 x[111] = 0.958655099040480268518241790;
1142 x[112] = 0.963384625439473921667312259;
1143 x[113] = 0.967837194138958187891563377;
1144 x[114] = 0.972010143915110091060555709;
1145 x[115] = 0.975900980670632193108898151;
1146 x[116] = 0.979507378926849964049459275;
1147 x[117] = 0.982827183215982634322914513;
1148 x[118] = 0.985858409373568290452169180;
1149 x[119] = 0.988599245731953693582687213;
1150 x[120] = 0.991048054217859268012382815;
1151 x[121] = 0.993203371362293104435617760;
1152 x[122] = 0.995063909245867191668965158;
1153 x[123] = 0.996628556450106467651718611;
1154 x[124] = 0.997896379267490593432080605;
1155 x[125] = 0.998866624312757009941078722;
1156 x[126] = 0.999538729988687947505993879;
1157 x[127] = 0.999912443973565957236804041;
1158 w[0] = 0.0002246904801460451881971461199944;
1159 w[1] = 0.0005229063396701743896564258000535;
1160 w[2] = 0.000821251509334514769395437797399;
1161 w[3] = 0.001119144215481309371811027136358;
1162 w[4] = 0.001416375735728995547642867323410;
1163 w[5] = 0.001712763020455107887168892330067;
1164 w[6] = 0.002008127491869321156597171743152;
1165 w[7] = 0.002302292128351477559145270990142;
1166 w[8] = 0.002595080916338165102535383567425;
1167 w[9] = 0.002886318771432849294667308813034;
1168 w[10] = 0.003175831580853594393607163913116;
1169 w[11] = 0.003463446283449406781713335180164;
1170 w[12] = 0.003748990962817364343835981344235;
1171 w[13] = 0.004032294945243028986464299348931;
1172 w[14] = 0.004313188899308374852489421890984;
1173 w[15] = 0.004591504935830437167239371844213;
1174 w[16] = 0.004867076707503402931774133046779;
1175 w[17] = 0.005139739507916078566607670163193;
1176 w[18] = 0.005409330369751538123829823138734;
1177 w[19] = 0.005675688162040208346640834226269;
1178 w[20] = 0.005938653686370139787945553462789;
1179 w[21] = 0.00619806977197546148441086409866;
1180 w[22] = 0.00645378136963367361022141700193;
1181 w[23] = 0.00670563564430816615724447580808;
1182 w[24] = 0.00695348206647599262214400369780;
1183 w[25] = 0.00719717250208342308841194600427;
1184 w[26] = 0.00743656130107365712619274926004;
1185 w[27] = 0.00767150538443257204299542687072;
1186 w[28] = 0.00790186432969967342948281584369;
1187 w[29] = 0.00812750045489259352582872823853;
1188 w[30] = 0.00834827890079460229454575397690;
1189 w[31] = 0.00856406771155568841534049380942;
1190 w[32] = 0.00877473791355885232435346281719;
1191 w[33] = 0.00898016359250434297009846376248;
1192 w[34] = 0.00918022196866567161064464549565;
1193 w[35] = 0.00937479347027235432545977423692;
1194 w[36] = 0.00956376180497547274325926583392;
1195 w[37] = 0.00974701402935330141151095934061;
1196 w[38] = 0.00992444061641543110997220663244;
1197 w[39] = 0.01009593552106502059033657920306;
1198 w[40] = 0.01026139624348003471614248389408;
1199 w[41] = 0.01042072389037557455679197421145;
1200 w[42] = 0.01057382323411067426850976759020;
1201 w[43] = 0.01072060276960423006855592693901;
1202 w[44] = 0.01086097476902603768763047888381;
1203 w[45] = 0.01099485533423024571706105329958;
1204 w[46] = 0.01112216444689988255231456680360;
1205 w[47] = 0.01124282601637248343591230197029;
1206 w[48] = 0.01135676792511823065485631796147;
1207 w[49] = 0.01146392207184342346020549360466;
1208 w[50] = 0.01156422441219351393964895120138;
1209 w[51] = 0.01165761499703138006120783563640;
1210 w[52] = 0.01174403800826795657651263664089;
1211 w[53] = 0.01182344179222380757182569615143;
1212 w[54] = 0.01189577889050170031939035494271;
1213 w[55] = 0.01196100606835172783622520440854;
1214 w[56] = 0.01201908434051202631879365840982;
1215 w[57] = 0.01206997899450964249885832694523;
1216 w[58] = 0.01211365961140762406004665422089;
1217 w[59] = 0.01215010008398593266172130318192;
1218 w[60] = 0.01217927863234531292663426012314;
1219 w[61] = 0.01220117781692479104664899484710;
1220 w[62] = 0.01221578454892502252742428071432;
1221 w[63] = 0.0122230900981312591056629263053;
1222 w[64] = 0.0122230900981312591056629263053;
1223 w[65] = 0.01221578454892502252742428071432;
1224 w[66] = 0.01220117781692479104664899484710;
1225 w[67] = 0.01217927863234531292663426012314;
1226 w[68] = 0.01215010008398593266172130318192;
1227 w[69] = 0.01211365961140762406004665422089;
1228 w[70] = 0.01206997899450964249885832694523;
1229 w[71] = 0.01201908434051202631879365840982;
1230 w[72] = 0.01196100606835172783622520440854;
1231 w[73] = 0.01189577889050170031939035494271;
1232 w[74] = 0.01182344179222380757182569615143;
1233 w[75] = 0.01174403800826795657651263664089;
1234 w[76] = 0.01165761499703138006120783563640;
1235 w[77] = 0.01156422441219351393964895120138;
1236 w[78] = 0.01146392207184342346020549360466;
1237 w[79] = 0.01135676792511823065485631796147;
1238 w[80] = 0.01124282601637248343591230197029;
1239 w[81] = 0.01112216444689988255231456680360;
1240 w[82] = 0.01099485533423024571706105329958;
1241 w[83] = 0.01086097476902603768763047888381;
1242 w[84] = 0.01072060276960423006855592693901;
1243 w[85] = 0.01057382323411067426850976759020;
1244 w[86] = 0.01042072389037557455679197421145;
1245 w[87] = 0.01026139624348003471614248389408;
1246 w[88] = 0.01009593552106502059033657920306;
1247 w[89] = 0.00992444061641543110997220663244;
1248 w[90] = 0.00974701402935330141151095934061;
1249 w[91] = 0.00956376180497547274325926583392;
1250 w[92] = 0.00937479347027235432545977423692;
1251 w[93] = 0.00918022196866567161064464549565;
1252 w[94] = 0.00898016359250434297009846376248;
1253 w[95] = 0.00877473791355885232435346281719;
1254 w[96] = 0.00856406771155568841534049380942;
1255 w[97] = 0.00834827890079460229454575397690;
1256 w[98] = 0.00812750045489259352582872823853;
1257 w[99] = 0.00790186432969967342948281584369;
1258 w[100] = 0.00767150538443257204299542687072;
1259 w[101] = 0.00743656130107365712619274926004;
1260 w[102] = 0.00719717250208342308841194600427;
1261 w[103] = 0.00695348206647599262214400369780;
1262 w[104] = 0.00670563564430816615724447580808;
1263 w[105] = 0.00645378136963367361022141700193;
1264 w[106] = 0.00619806977197546148441086409866;
1265 w[107] = 0.005938653686370139787945553462789;
1266 w[108] = 0.005675688162040208346640834226269;
1267 w[109] = 0.005409330369751538123829823138734;
1268 w[110] = 0.005139739507916078566607670163193;
1269 w[111] = 0.004867076707503402931774133046779;
1270 w[112] = 0.004591504935830437167239371844213;
1271 w[113] = 0.004313188899308374852489421890984;
1272 w[114] = 0.004032294945243028986464299348931;
1273 w[115] = 0.003748990962817364343835981344235;
1274 w[116] = 0.003463446283449406781713335180164;
1275 w[117] = 0.003175831580853594393607163913116;
1276 w[118] = 0.002886318771432849294667308813034;
1277 w[119] = 0.002595080916338165102535383567425;
1278 w[120] = 0.002302292128351477559145270990142;
1279 w[121] = 0.002008127491869321156597171743152;
1280 w[122] = 0.001712763020455107887168892330067;
1281 w[123] = 0.001416375735728995547642867323410;
1282 w[124] = 0.001119144215481309371811027136358;
1283 w[125] = 0.000821251509334514769395437797399;
1284 w[126] = 0.0005229063396701743896564258000535;
1285 w[127] = 0.0002246904801460451881971461199944;
1286 }
1287 };
1288
1289} // namespace DiFfRG
Definition complex_math.hh:10
consteval GLQuadrature()
Definition gauss_legendre.hh:174
consteval GLQuadrature()
Definition gauss_legendre.hh:202
consteval GLQuadrature()
Definition gauss_legendre.hh:1028
consteval GLQuadrature()
Definition gauss_legendre.hh:232
consteval GLQuadrature()
Definition gauss_legendre.hh:264
consteval GLQuadrature()
Definition gauss_legendre.hh:298
consteval GLQuadrature()
Definition gauss_legendre.hh:334
consteval GLQuadrature()
Definition gauss_legendre.hh:372
consteval GLQuadrature()
Definition gauss_legendre.hh:12
consteval GLQuadrature()
Definition gauss_legendre.hh:412
consteval GLQuadrature()
Definition gauss_legendre.hh:460
consteval GLQuadrature()
Definition gauss_legendre.hh:22
consteval GLQuadrature()
Definition gauss_legendre.hh:516
consteval GLQuadrature()
Definition gauss_legendre.hh:34
consteval GLQuadrature()
Definition gauss_legendre.hh:588
consteval GLQuadrature()
Definition gauss_legendre.hh:48
consteval GLQuadrature()
Definition gauss_legendre.hh:64
consteval GLQuadrature()
Definition gauss_legendre.hh:692
consteval GLQuadrature()
Definition gauss_legendre.hh:82
consteval GLQuadrature()
Definition gauss_legendre.hh:102
consteval GLQuadrature()
Definition gauss_legendre.hh:124
consteval GLQuadrature()
Definition gauss_legendre.hh:828
consteval GLQuadrature()
Definition gauss_legendre.hh:148
Definition gauss_legendre.hh:5