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