PhysicsBasedAnimationToolkit 0.0.10
Cross-platform C++20 library of algorithms and data structures commonly used in computer graphics research on physically-based simulation.
Loading...
Searching...
No Matches
SymmetricQuadratureRules.h
Go to the documentation of this file.
1
10
11#ifndef PBAT_MATH_SYMMETRIC_QUADRATURE_RULES_H
12#define PBAT_MATH_SYMMETRIC_QUADRATURE_RULES_H
13
14#include "pbat/Aliases.h"
16
17#include <array>
18#include <cstdint>
19
20namespace pbat {
21namespace math {
22
29template <class Quad>
30struct FixedSizeVariableQuadrature
31{
32 inline static std::uint8_t constexpr kDims = Quad::kDims;
33 inline static std::uint16_t constexpr kPoints = Quad::kPoints;
34 inline static std::uint8_t constexpr kOrder = Quad::kOrder;
35 FixedSizeVariableQuadrature() : points(Quad::points), weights(Quad::weights) {}
36
37 decltype(Quad::points) points;
38 decltype(Quad::weights) weights;
39};
40
41namespace detail {
42template <int Dims, int Order, common::CFloatingPoint TScalar = Scalar>
44} // namespace detail
45
95template <int Dims, int Order, common::CFloatingPoint TScalar = Scalar>
97 typename detail::SymmetricSimplexPolynomialQuadratureRule<Dims, Order, TScalar>;
98
99namespace detail {
100
101#include "pbat/warning/Push.h"
102#include "pbat/warning/FloatConversion.h"
103#include "pbat/warning/SignConversion.h"
104
105template <common::CFloatingPoint TScalar>
107{
108 inline static std::uint8_t constexpr kDims = 1;
109 inline static std::uint16_t constexpr kPoints = 1;
110 inline static std::uint8_t constexpr kOrder = 0;
111 inline static std::array<TScalar, 2> constexpr points = {0.5, 0.5};
112 inline static std::array<TScalar, 1> constexpr weights = {1};
113};
114
115template <common::CFloatingPoint TScalar>
117{
118 inline static std::uint8_t constexpr kDims = 1;
119 inline static std::uint16_t constexpr kPoints = 1;
120 inline static std::uint8_t constexpr kOrder = 1;
121 inline static std::array<TScalar, 2> constexpr points = {0.5, 0.5};
122 inline static std::array<TScalar, 1> constexpr weights = {1};
123};
124
125template <common::CFloatingPoint TScalar>
127{
128 inline static std::uint8_t constexpr kDims = 1;
129 inline static std::uint16_t constexpr kPoints = 2;
130 inline static std::uint8_t constexpr kOrder = 3;
131 inline static std::array<TScalar, 4> constexpr points =
132 {0.211325, 0.788675, 0.788675, 0.211325};
133 inline static std::array<TScalar, 2> constexpr weights = {0.5, 0.5};
134};
135
136template <common::CFloatingPoint TScalar>
138{
139 inline static std::uint8_t constexpr kDims = 1;
140 inline static std::uint16_t constexpr kPoints = 3;
141 inline static std::uint8_t constexpr kOrder = 5;
142 inline static std::array<TScalar, 6> constexpr points =
143 {0.112702, 0.887298, 0.887298, 0.112702, 0.5, 0.5};
144 inline static std::array<TScalar, 3> constexpr weights = {0.277778, 0.277778, 0.444444};
145};
146
147template <common::CFloatingPoint TScalar>
149{
150 inline static std::uint8_t constexpr kDims = 1;
151 inline static std::uint16_t constexpr kPoints = 4;
152 inline static std::uint8_t constexpr kOrder = 7;
153 inline static std::array<TScalar, 8> constexpr points =
154 {0.0694318, 0.930568, 0.930568, 0.0694318, 0.330009, 0.669991, 0.669991, 0.330009};
155 inline static std::array<TScalar, 4> constexpr weights =
156 {0.173927, 0.173927, 0.326073, 0.326073};
157};
158
159template <common::CFloatingPoint TScalar>
161{
162 inline static std::uint8_t constexpr kDims = 1;
163 inline static std::uint16_t constexpr kPoints = 5;
164 inline static std::uint8_t constexpr kOrder = 9;
165 inline static std::array<TScalar, 10> constexpr points =
166 {0.5, 0.5, 0.0469101, 0.95309, 0.95309, 0.0469101, 0.230765, 0.769235, 0.769235, 0.230765};
167 inline static std::array<TScalar, 5> constexpr weights =
168 {0.284444, 0.118463, 0.118463, 0.239314, 0.239314};
169};
170
171template <common::CFloatingPoint TScalar>
172struct SymmetricSimplexPolynomialQuadratureRule<1, 11, TScalar>
173{
174 inline static std::uint8_t constexpr kDims = 1;
175 inline static std::uint16_t constexpr kPoints = 6;
176 inline static std::uint8_t constexpr kOrder = 11;
177 inline static std::array<TScalar, 12> constexpr points = {
178 0.966235,
179 0.0337652,
180 0.0337652,
181 0.966235,
182 0.830605,
183 0.169395,
184 0.169395,
185 0.830605,
186 0.61931,
187 0.38069,
188 0.38069,
189 0.61931};
190 inline static std::array<TScalar, 6> constexpr weights =
191 {0.0856622, 0.0856622, 0.180381, 0.180381, 0.233957, 0.233957};
192};
193
194template <common::CFloatingPoint TScalar>
195struct SymmetricSimplexPolynomialQuadratureRule<1, 13, TScalar>
196{
197 inline static std::uint8_t constexpr kDims = 1;
198 inline static std::uint16_t constexpr kPoints = 7;
199 inline static std::uint8_t constexpr kOrder = 13;
200 inline static std::array<TScalar, 14> constexpr points = {
201 0.974554,
202 0.025446,
203 0.025446,
204 0.974554,
205 0.870766,
206 0.129234,
207 0.129234,
208 0.870766,
209 0.702923,
210 0.297077,
211 0.297077,
212 0.702923,
213 0.5,
214 0.5};
215 inline static std::array<TScalar, 7> constexpr weights =
216 {0.0647425, 0.0647425, 0.139853, 0.139853, 0.190915, 0.190915, 0.20898};
217};
218
219template <common::CFloatingPoint TScalar>
220struct SymmetricSimplexPolynomialQuadratureRule<1, 15, TScalar>
221{
222 inline static std::uint8_t constexpr kDims = 1;
223 inline static std::uint16_t constexpr kPoints = 8;
224 inline static std::uint8_t constexpr kOrder = 15;
225 inline static std::array<TScalar, 16> constexpr points = {
226 0.980145,
227 0.0198551,
228 0.0198551,
229 0.980145,
230 0.898333,
231 0.101667,
232 0.101667,
233 0.898333,
234 0.762766,
235 0.237234,
236 0.237234,
237 0.762766,
238 0.591717,
239 0.408283,
240 0.408283,
241 0.591717};
242 inline static std::array<TScalar, 8> constexpr weights =
243 {0.0506143, 0.0506143, 0.111191, 0.111191, 0.156853, 0.156853, 0.181342, 0.181342};
244};
245
246template <common::CFloatingPoint TScalar>
247struct SymmetricSimplexPolynomialQuadratureRule<1, 17, TScalar>
248{
249 inline static std::uint8_t constexpr kDims = 1;
250 inline static std::uint16_t constexpr kPoints = 9;
251 inline static std::uint8_t constexpr kOrder = 17;
252 inline static std::array<TScalar, 18> constexpr points = {
253 0.98408,
254 0.0159199,
255 0.0159199,
256 0.98408,
257 0.918016,
258 0.0819844,
259 0.0819844,
260 0.918016,
261 0.806686,
262 0.193314,
263 0.193314,
264 0.806686,
265 0.662127,
266 0.337873,
267 0.337873,
268 0.662127,
269 0.5,
270 0.5};
271 inline static std::array<TScalar, 9> constexpr weights = {
272 0.0406372,
273 0.0406372,
274 0.0903241,
275 0.0903241,
276 0.130305,
277 0.130305,
278 0.156174,
279 0.156174,
280 0.16512};
281};
282
283template <common::CFloatingPoint TScalar>
284struct SymmetricSimplexPolynomialQuadratureRule<1, 19, TScalar>
285{
286 inline static std::uint8_t constexpr kDims = 1;
287 inline static std::uint16_t constexpr kPoints = 10;
288 inline static std::uint8_t constexpr kOrder = 19;
289 inline static std::array<TScalar, 20> constexpr points = {
290 0.986953, 0.0130467, 0.0130467, 0.986953, 0.932532, 0.0674683, 0.0674683,
291 0.932532, 0.839705, 0.160295, 0.160295, 0.839705, 0.716698, 0.283302,
292 0.283302, 0.716698, 0.574437, 0.425563, 0.425563, 0.574437};
293 inline static std::array<TScalar, 10> constexpr weights = {
294 0.0333357,
295 0.0333357,
296 0.0747257,
297 0.0747257,
298 0.109543,
299 0.109543,
300 0.134633,
301 0.134633,
302 0.147762,
303 0.147762};
304};
305
306template <common::CFloatingPoint TScalar>
307struct SymmetricSimplexPolynomialQuadratureRule<1, 21, TScalar>
308{
309 inline static std::uint8_t constexpr kDims = 1;
310 inline static std::uint16_t constexpr kPoints = 11;
311 inline static std::uint8_t constexpr kOrder = 21;
312 inline static std::array<TScalar, 22> constexpr points = {
313 0.989114, 0.0108857, 0.0108857, 0.989114, 0.943531, 0.0564687, 0.0564687, 0.943531,
314 0.865076, 0.134924, 0.134924, 0.865076, 0.759548, 0.240452, 0.240452, 0.759548,
315 0.634772, 0.365228, 0.365228, 0.634772, 0.5, 0.5};
316 inline static std::array<TScalar, 11> constexpr weights = {
317 0.0278343,
318 0.0278343,
319 0.0627902,
320 0.0627902,
321 0.0931451,
322 0.0931451,
323 0.116597,
324 0.116597,
325 0.131402,
326 0.131402,
327 0.136463};
328};
329
330template <common::CFloatingPoint TScalar>
332{
333 inline static std::uint8_t constexpr kDims = 2;
334 inline static std::uint16_t constexpr kPoints = 1;
335 inline static std::uint8_t constexpr kOrder = 0;
336 inline static std::array<TScalar, 3> constexpr points = {0.333333, 0.333333, 0.333333};
337 inline static std::array<TScalar, 1> constexpr weights = {0.5};
338};
339
340template <common::CFloatingPoint TScalar>
342{
343 inline static std::uint8_t constexpr kDims = 2;
344 inline static std::uint16_t constexpr kPoints = 1;
345 inline static std::uint8_t constexpr kOrder = 1;
346 inline static std::array<TScalar, 3> constexpr points = {0.333333, 0.333333, 0.333333};
347 inline static std::array<TScalar, 1> constexpr weights = {0.5};
348};
349
350template <common::CFloatingPoint TScalar>
352{
353 inline static std::uint8_t constexpr kDims = 2;
354 inline static std::uint16_t constexpr kPoints = 3;
355 inline static std::uint8_t constexpr kOrder = 2;
356 inline static std::array<TScalar, 9> constexpr points =
357 {0.666667, 0.166667, 0.166667, 0.166667, 0.666667, 0.166667, 0.166667, 0.166667, 0.666667};
358 inline static std::array<TScalar, 3> constexpr weights = {0.166667, 0.166667, 0.166667};
359};
360
361template <common::CFloatingPoint TScalar>
363{
364 inline static std::uint8_t constexpr kDims = 2;
365 inline static std::uint16_t constexpr kPoints = 6;
366 inline static std::uint8_t constexpr kOrder = 3;
367 inline static std::array<TScalar, 18> constexpr points = {
368 0.674234,
369 0.162883,
370 0.162883,
371 0.162883,
372 0.674234,
373 0.162883,
374 0.162883,
375 0.162883,
376 0.674234,
377 0.0441602,
378 0.47792,
379 0.47792,
380 0.47792,
381 0.0441602,
382 0.47792,
383 0.47792,
384 0.47792,
385 0.0441602};
386 inline static std::array<TScalar, 6> constexpr weights =
387 {0.140575, 0.140575, 0.140575, 0.0260918, 0.0260918, 0.0260918};
388};
389
390template <common::CFloatingPoint TScalar>
392{
393 inline static std::uint8_t constexpr kDims = 2;
394 inline static std::uint16_t constexpr kPoints = 6;
395 inline static std::uint8_t constexpr kOrder = 4;
396 inline static std::array<TScalar, 18> constexpr points = {
397 0.108103,
398 0.445948,
399 0.445948,
400 0.445948,
401 0.108103,
402 0.445948,
403 0.445948,
404 0.445948,
405 0.108103,
406 0.816848,
407 0.0915762,
408 0.0915762,
409 0.0915762,
410 0.816848,
411 0.0915762,
412 0.0915762,
413 0.0915762,
414 0.816848};
415 inline static std::array<TScalar, 6> constexpr weights =
416 {0.111691, 0.111691, 0.111691, 0.0549759, 0.0549759, 0.0549759};
417};
418
419template <common::CFloatingPoint TScalar>
421{
422 inline static std::uint8_t constexpr kDims = 2;
423 inline static std::uint16_t constexpr kPoints = 7;
424 inline static std::uint8_t constexpr kOrder = 5;
425 inline static std::array<TScalar, 21> constexpr points = {
426 0.797427, 0.101287, 0.101287, 0.101287, 0.797427, 0.101287, 0.101287,
427 0.101287, 0.797427, 0.0597159, 0.470142, 0.470142, 0.470142, 0.0597159,
428 0.470142, 0.470142, 0.470142, 0.0597159, 0.333333, 0.333333, 0.333333};
429 inline static std::array<TScalar, 7> constexpr weights =
430 {0.0629696, 0.0629696, 0.0629696, 0.0661971, 0.0661971, 0.0661971, 0.1125};
431};
432
433template <common::CFloatingPoint TScalar>
435{
436 inline static std::uint8_t constexpr kDims = 2;
437 inline static std::uint16_t constexpr kPoints = 12;
438 inline static std::uint8_t constexpr kOrder = 6;
439 inline static std::array<TScalar, 36> constexpr points = {
440 0.873822, 0.063089, 0.063089, 0.063089, 0.873822, 0.063089, 0.063089, 0.063089, 0.873822,
441 0.501427, 0.249287, 0.249287, 0.249287, 0.501427, 0.249287, 0.249287, 0.249287, 0.501427,
442 0.053145, 0.310352, 0.636502, 0.053145, 0.636502, 0.310352, 0.310352, 0.053145, 0.636502,
443 0.310352, 0.636502, 0.053145, 0.636502, 0.053145, 0.310352, 0.636502, 0.310352, 0.053145};
444 inline static std::array<TScalar, 12> constexpr weights = {
445 0.0254225,
446 0.0254225,
447 0.0254225,
448 0.0583931,
449 0.0583931,
450 0.0583931,
451 0.0414255,
452 0.0414255,
453 0.0414255,
454 0.0414255,
455 0.0414255,
456 0.0414255};
457};
458
459template <common::CFloatingPoint TScalar>
461{
462 inline static std::uint8_t constexpr kDims = 2;
463 inline static std::uint16_t constexpr kPoints = 15;
464 inline static std::uint8_t constexpr kOrder = 7;
465 inline static std::array<TScalar, 45> constexpr points = {
466 0.943472, 0.0282639, 0.0282639, 0.0282639, 0.943472, 0.0282639, 0.0282639, 0.0282639,
467 0.943472, 0.0513774, 0.474311, 0.474311, 0.474311, 0.0513774, 0.474311, 0.474311,
468 0.474311, 0.0513774, 0.517713, 0.241143, 0.241143, 0.241143, 0.517713, 0.241143,
469 0.241143, 0.241143, 0.517713, 0.761223, 0.0462709, 0.192506, 0.761223, 0.192506,
470 0.0462709, 0.0462709, 0.761223, 0.192506, 0.0462709, 0.192506, 0.761223, 0.192506,
471 0.761223, 0.0462709, 0.192506, 0.0462709, 0.761223};
472 inline static std::array<TScalar, 15> constexpr weights = {
473 0.00676693,
474 0.00676693,
475 0.00676693,
476 0.0394756,
477 0.0394756,
478 0.0394756,
479 0.064304,
480 0.064304,
481 0.064304,
482 0.0280601,
483 0.0280601,
484 0.0280601,
485 0.0280601,
486 0.0280601,
487 0.0280601};
488};
489
490template <common::CFloatingPoint TScalar>
492{
493 inline static std::uint8_t constexpr kDims = 2;
494 inline static std::uint16_t constexpr kPoints = 16;
495 inline static std::uint8_t constexpr kOrder = 8;
496 inline static std::array<TScalar, 48> constexpr points = {
497 0.333333, 0.333333, 0.333333, 0.658861, 0.170569, 0.170569, 0.170569, 0.658861,
498 0.170569, 0.170569, 0.170569, 0.658861, 0.898906, 0.0505472, 0.0505472, 0.0505472,
499 0.898906, 0.0505472, 0.0505472, 0.0505472, 0.898906, 0.0814148, 0.459293, 0.459293,
500 0.459293, 0.0814148, 0.459293, 0.459293, 0.459293, 0.0814148, 0.263113, 0.00839478,
501 0.728492, 0.263113, 0.728492, 0.00839478, 0.00839478, 0.263113, 0.728492, 0.00839478,
502 0.728492, 0.263113, 0.728492, 0.263113, 0.00839478, 0.728492, 0.00839478, 0.263113};
503 inline static std::array<TScalar, 16> constexpr weights = {
504 0.0721578,
505 0.0516087,
506 0.0516087,
507 0.0516087,
508 0.0162292,
509 0.0162292,
510 0.0162292,
511 0.0475458,
512 0.0475458,
513 0.0475458,
514 0.0136152,
515 0.0136152,
516 0.0136152,
517 0.0136152,
518 0.0136152,
519 0.0136152};
520};
521
522template <common::CFloatingPoint TScalar>
524{
525 inline static std::uint8_t constexpr kDims = 2;
526 inline static std::uint16_t constexpr kPoints = 19;
527 inline static std::uint8_t constexpr kOrder = 9;
528 inline static std::array<TScalar, 57> constexpr points = {
529 0.333333, 0.333333, 0.333333, 0.020635, 0.489683, 0.489683, 0.489683, 0.020635,
530 0.489683, 0.489683, 0.489683, 0.020635, 0.910541, 0.0447295, 0.0447295, 0.0447295,
531 0.910541, 0.0447295, 0.0447295, 0.0447295, 0.910541, 0.125821, 0.43709, 0.43709,
532 0.43709, 0.125821, 0.43709, 0.43709, 0.43709, 0.125821, 0.623593, 0.188204,
533 0.188204, 0.188204, 0.623593, 0.188204, 0.188204, 0.188204, 0.623593, 0.741199,
534 0.221963, 0.0368384, 0.741199, 0.0368384, 0.221963, 0.221963, 0.741199, 0.0368384,
535 0.221963, 0.0368384, 0.741199, 0.0368384, 0.741199, 0.221963, 0.0368384, 0.221963,
536 0.741199};
537 inline static std::array<TScalar, 19> constexpr weights = {
538 0.0485679,
539 0.0156674,
540 0.0156674,
541 0.0156674,
542 0.0127888,
543 0.0127888,
544 0.0127888,
545 0.0389138,
546 0.0389138,
547 0.0389138,
548 0.0398239,
549 0.0398239,
550 0.0398239,
551 0.0216418,
552 0.0216418,
553 0.0216418,
554 0.0216418,
555 0.0216418,
556 0.0216418};
557};
558
559template <common::CFloatingPoint TScalar>
560struct SymmetricSimplexPolynomialQuadratureRule<2, 10, TScalar>
561{
562 inline static std::uint8_t constexpr kDims = 2;
563 inline static std::uint16_t constexpr kPoints = 25;
564 inline static std::uint8_t constexpr kOrder = 10;
565 inline static std::array<TScalar, 75> constexpr points = {
566 0.333333, 0.333333, 0.333333, 0.145454, 0.427273, 0.427273, 0.427273, 0.145454,
567 0.427273, 0.427273, 0.427273, 0.145454, 0.633802, 0.183099, 0.183099, 0.183099,
568 0.633802, 0.183099, 0.183099, 0.183099, 0.633802, 0.019132, 0.490434, 0.490434,
569 0.490434, 0.019132, 0.490434, 0.490434, 0.490434, 0.019132, 0.974855, 0.0125724,
570 0.0125724, 0.0125724, 0.974855, 0.0125724, 0.0125724, 0.0125724, 0.974855, 0.654269,
571 0.308046, 0.0376853, 0.654269, 0.0376853, 0.308046, 0.308046, 0.654269, 0.0376853,
572 0.308046, 0.0376853, 0.654269, 0.0376853, 0.654269, 0.308046, 0.0376853, 0.308046,
573 0.654269, 0.122805, 0.0333718, 0.843824, 0.122805, 0.843824, 0.0333718, 0.0333718,
574 0.122805, 0.843824, 0.0333718, 0.843824, 0.122805, 0.843824, 0.122805, 0.0333718,
575 0.843824, 0.0333718, 0.122805};
576 inline static std::array<TScalar, 25> constexpr weights = {
577 0.0404687, 0.0386493, 0.0386493, 0.0386493, 0.0392288, 0.0392288, 0.0392288,
578 0.00873458, 0.00873458, 0.00873458, 0.00214619, 0.00214619, 0.00214619, 0.0187344,
579 0.0187344, 0.0187344, 0.0187344, 0.0187344, 0.0187344, 0.0134747, 0.0134747,
580 0.0134747, 0.0134747, 0.0134747, 0.0134747};
581};
582
583template <common::CFloatingPoint TScalar>
584struct SymmetricSimplexPolynomialQuadratureRule<2, 11, TScalar>
585{
586 inline static std::uint8_t constexpr kDims = 2;
587 inline static std::uint16_t constexpr kPoints = 28;
588 inline static std::uint8_t constexpr kOrder = 11;
589 inline static std::array<TScalar, 84> constexpr points = {
590 0.333333, 0.333333, 0.333333, 0.938123, 0.0309384, 0.0309384, 0.0309384, 0.938123,
591 0.0309384, 0.0309384, 0.0309384, 0.938123, 0.127004, 0.436498, 0.436498, 0.436498,
592 0.127004, 0.436498, 0.436498, 0.436498, 0.127004, 0.00203047, 0.498985, 0.498985,
593 0.498985, 0.00203047, 0.498985, 0.498985, 0.498985, 0.00203047, 0.570624, 0.214688,
594 0.214688, 0.214688, 0.570624, 0.214688, 0.214688, 0.214688, 0.570624, 0.772634,
595 0.113683, 0.113683, 0.113683, 0.772634, 0.113683, 0.113683, 0.113683, 0.772634,
596 0.825619, 0.159742, 0.0146389, 0.825619, 0.0146389, 0.159742, 0.159742, 0.825619,
597 0.0146389, 0.159742, 0.0146389, 0.825619, 0.0146389, 0.825619, 0.159742, 0.0146389,
598 0.159742, 0.825619, 0.640472, 0.311784, 0.047744, 0.640472, 0.047744, 0.311784,
599 0.311784, 0.640472, 0.047744, 0.311784, 0.047744, 0.640472, 0.047744, 0.640472,
600 0.311784, 0.047744, 0.311784, 0.640472};
601 inline static std::array<TScalar, 28> constexpr weights = {
602 0.040589, 0.00616202, 0.00616202, 0.00616202, 0.031414, 0.031414, 0.031414,
603 0.00611019, 0.00611019, 0.00611019, 0.0338507, 0.0338507, 0.0338507, 0.0201098,
604 0.0201098, 0.0201098, 0.00738114, 0.00738114, 0.00738114, 0.00738114, 0.00738114,
605 0.00738114, 0.020364, 0.020364, 0.020364, 0.020364, 0.020364, 0.020364};
606};
607
608template <common::CFloatingPoint TScalar>
609struct SymmetricSimplexPolynomialQuadratureRule<2, 12, TScalar>
610{
611 inline static std::uint8_t constexpr kDims = 2;
612 inline static std::uint16_t constexpr kPoints = 33;
613 inline static std::uint8_t constexpr kOrder = 12;
614 inline static std::array<TScalar, 99> constexpr points = {
615 0.957365, 0.0213174, 0.0213174, 0.0213174, 0.957365, 0.0213174, 0.0213174, 0.0213174,
616 0.957365, 0.457579, 0.27121, 0.27121, 0.27121, 0.457579, 0.27121, 0.27121,
617 0.27121, 0.457579, 0.744848, 0.127576, 0.127576, 0.127576, 0.744848, 0.127576,
618 0.127576, 0.127576, 0.744848, 0.120551, 0.439724, 0.439724, 0.439724, 0.120551,
619 0.439724, 0.439724, 0.439724, 0.120551, 0.0235652, 0.488217, 0.488217, 0.488217,
620 0.0235652, 0.488217, 0.488217, 0.488217, 0.0235652, 0.695836, 0.281326, 0.0228383,
621 0.695836, 0.0228383, 0.281326, 0.281326, 0.695836, 0.0228383, 0.281326, 0.0228383,
622 0.695836, 0.0228383, 0.695836, 0.281326, 0.0228383, 0.281326, 0.695836, 0.858014,
623 0.116252, 0.0257341, 0.858014, 0.0257341, 0.116252, 0.116252, 0.858014, 0.0257341,
624 0.116252, 0.0257341, 0.858014, 0.0257341, 0.858014, 0.116252, 0.0257341, 0.116252,
625 0.858014, 0.608943, 0.275713, 0.115343, 0.608943, 0.115343, 0.275713, 0.275713,
626 0.608943, 0.115343, 0.275713, 0.115343, 0.608943, 0.115343, 0.608943, 0.275713,
627 0.115343, 0.275713, 0.608943};
628 inline static std::array<TScalar, 33> constexpr weights = {
629 0.00308313, 0.00308313, 0.00308313, 0.0314291, 0.0314291, 0.0314291, 0.0173981,
630 0.0173981, 0.0173981, 0.0218463, 0.0218463, 0.0218463, 0.0128655, 0.0128655,
631 0.0128655, 0.0111784, 0.0111784, 0.0111784, 0.0111784, 0.0111784, 0.0111784,
632 0.00865812, 0.00865812, 0.00865812, 0.00865812, 0.00865812, 0.00865812, 0.0201858,
633 0.0201858, 0.0201858, 0.0201858, 0.0201858, 0.0201858};
634};
635
636template <common::CFloatingPoint TScalar>
637struct SymmetricSimplexPolynomialQuadratureRule<2, 13, TScalar>
638{
639 inline static std::uint8_t constexpr kDims = 2;
640 inline static std::uint16_t constexpr kPoints = 37;
641 inline static std::uint8_t constexpr kOrder = 13;
642 inline static std::array<TScalar, 111> constexpr points = {
643 0.333333, 0.333333, 0.333333, 0.146117, 0.426941, 0.426941, 0.426941, 0.146117,
644 0.426941, 0.426941, 0.426941, 0.146117, 0.557255, 0.221372, 0.221372, 0.221372,
645 0.557255, 0.221372, 0.221372, 0.221372, 0.557255, 0.956981, 0.0215097, 0.0215097,
646 0.0215097, 0.956981, 0.0215097, 0.0215097, 0.0215097, 0.956981, 0.0218461, 0.489077,
647 0.489077, 0.489077, 0.0218461, 0.489077, 0.489077, 0.489077, 0.0218461, 0.623546,
648 0.308442, 0.0680122, 0.623546, 0.0680122, 0.308442, 0.308442, 0.623546, 0.0680122,
649 0.308442, 0.0680122, 0.623546, 0.0680122, 0.623546, 0.308442, 0.0680122, 0.308442,
650 0.623546, 0.864708, 0.110922, 0.0243702, 0.864708, 0.0243702, 0.110922, 0.110922,
651 0.864708, 0.0243702, 0.110922, 0.0243702, 0.864708, 0.0243702, 0.864708, 0.110922,
652 0.0243702, 0.110922, 0.864708, 0.748507, 0.163597, 0.0878955, 0.748507, 0.0878955,
653 0.163597, 0.163597, 0.748507, 0.0878955, 0.163597, 0.0878955, 0.748507, 0.0878955,
654 0.748507, 0.163597, 0.0878955, 0.163597, 0.748507, 0.722358, 0.272516, 0.00512639,
655 0.722358, 0.00512639, 0.272516, 0.272516, 0.722358, 0.00512639, 0.272516, 0.00512639,
656 0.722358, 0.00512639, 0.722358, 0.272516, 0.00512639, 0.272516, 0.722358};
657 inline static std::array<TScalar, 37> constexpr weights = {
658 0.03398, 0.027801, 0.027801, 0.027801, 0.0291392, 0.0291392, 0.0291392, 0.00302617,
659 0.00302617, 0.00302617, 0.0119972, 0.0119972, 0.0119972, 0.0173206, 0.0173206, 0.0173206,
660 0.0173206, 0.0173206, 0.0173206, 0.0074827, 0.0074827, 0.0074827, 0.0074827, 0.0074827,
661 0.0074827, 0.0120895, 0.0120895, 0.0120895, 0.0120895, 0.0120895, 0.0120895, 0.00479534,
662 0.00479534, 0.00479534, 0.00479534, 0.00479534, 0.00479534};
663};
664
665template <common::CFloatingPoint TScalar>
666struct SymmetricSimplexPolynomialQuadratureRule<2, 14, TScalar>
667{
668 inline static std::uint8_t constexpr kDims = 2;
669 inline static std::uint16_t constexpr kPoints = 42;
670 inline static std::uint8_t constexpr kOrder = 14;
671 inline static std::array<TScalar, 126> constexpr points = {
672 0.645589, 0.177206, 0.177206, 0.177206, 0.645589, 0.177206, 0.177206, 0.177206,
673 0.645589, 0.961218, 0.019391, 0.019391, 0.019391, 0.961218, 0.019391, 0.019391,
674 0.019391, 0.961218, 0.8764, 0.0617999, 0.0617999, 0.0617999, 0.8764, 0.0617999,
675 0.0617999, 0.0617999, 0.8764, 0.164711, 0.417645, 0.417645, 0.417645, 0.164711,
676 0.417645, 0.417645, 0.417645, 0.164711, 0.0220722, 0.488964, 0.488964, 0.488964,
677 0.0220722, 0.488964, 0.488964, 0.488964, 0.0220722, 0.453045, 0.273478, 0.273478,
678 0.273478, 0.453045, 0.273478, 0.273478, 0.273478, 0.453045, 0.172267, 0.0571248,
679 0.770609, 0.172267, 0.770609, 0.0571248, 0.0571248, 0.172267, 0.770609, 0.0571248,
680 0.770609, 0.172267, 0.770609, 0.172267, 0.0571248, 0.770609, 0.0571248, 0.172267,
681 0.570222, 0.0929162, 0.336861, 0.570222, 0.336861, 0.0929162, 0.0929162, 0.570222,
682 0.336861, 0.0929162, 0.336861, 0.570222, 0.336861, 0.570222, 0.0929162, 0.336861,
683 0.0929162, 0.570222, 0.298373, 0.014647, 0.68698, 0.298373, 0.68698, 0.014647,
684 0.014647, 0.298373, 0.68698, 0.014647, 0.68698, 0.298373, 0.68698, 0.298373,
685 0.014647, 0.68698, 0.014647, 0.298373, 0.118974, 0.00126833, 0.879757, 0.118974,
686 0.879757, 0.00126833, 0.00126833, 0.118974, 0.879757, 0.00126833, 0.879757, 0.118974,
687 0.879757, 0.118974, 0.00126833, 0.879757, 0.00126833, 0.118974};
688 inline static std::array<TScalar, 42> constexpr weights = {
689 0.0210813, 0.0210813, 0.0210813, 0.0024617, 0.0024617, 0.0024617, 0.00721685,
690 0.00721685, 0.00721685, 0.0163942, 0.0163942, 0.0163942, 0.0109418, 0.0109418,
691 0.0109418, 0.0258871, 0.0258871, 0.0258871, 0.0123329, 0.0123329, 0.0123329,
692 0.0123329, 0.0123329, 0.0123329, 0.0192858, 0.0192858, 0.0192858, 0.0192858,
693 0.0192858, 0.0192858, 0.00721815, 0.00721815, 0.00721815, 0.00721815, 0.00721815,
694 0.00721815, 0.00250511, 0.00250511, 0.00250511, 0.00250511, 0.00250511, 0.00250511};
695};
696
697template <common::CFloatingPoint TScalar>
698struct SymmetricSimplexPolynomialQuadratureRule<2, 15, TScalar>
699{
700 inline static std::uint8_t constexpr kDims = 2;
701 inline static std::uint16_t constexpr kPoints = 49;
702 inline static std::uint8_t constexpr kOrder = 15;
703 inline static std::array<TScalar, 147> constexpr points = {
704 0.333333, 0.333333, 0.333333, 0.779555, 0.110222, 0.110222, 0.110222,
705 0.779555, 0.110222, 0.110222, 0.110222, 0.779555, 0.896047, 0.0519764,
706 0.0519764, 0.0519764, 0.896047, 0.0519764, 0.0519764, 0.0519764, 0.896047,
707 0.0177087, 0.491146, 0.491146, 0.491146, 0.0177087, 0.491146, 0.491146,
708 0.491146, 0.0177087, 0.213686, 0.393157, 0.393157, 0.393157, 0.213686,
709 0.393157, 0.393157, 0.393157, 0.213686, 0.0373744, 0.962518, 0.000107243,
710 0.0373744, 0.000107243, 0.962518, 0.962518, 0.0373744, 0.000107243, 0.962518,
711 0.000107243, 0.0373744, 0.000107243, 0.0373744, 0.962518, 0.000107243, 0.962518,
712 0.0373744, 0.248249, 0.193167, 0.558585, 0.248249, 0.558585, 0.193167,
713 0.193167, 0.248249, 0.558585, 0.193167, 0.558585, 0.248249, 0.558585,
714 0.248249, 0.193167, 0.558585, 0.193167, 0.248249, 0.206994, 0.0868959,
715 0.70611, 0.206994, 0.70611, 0.0868959, 0.0868959, 0.206994, 0.70611,
716 0.0868959, 0.70611, 0.206994, 0.70611, 0.206994, 0.0868959, 0.70611,
717 0.0868959, 0.206994, 0.148541, 0.0174368, 0.834022, 0.148541, 0.834022,
718 0.0174368, 0.0174368, 0.148541, 0.834022, 0.0174368, 0.834022, 0.148541,
719 0.834022, 0.148541, 0.0174368, 0.834022, 0.0174368, 0.148541, 0.306742,
720 0.0174925, 0.675765, 0.306742, 0.675765, 0.0174925, 0.0174925, 0.306742,
721 0.675765, 0.0174925, 0.675765, 0.306742, 0.675765, 0.306742, 0.0174925,
722 0.675765, 0.0174925, 0.306742, 0.367032, 0.090348, 0.54262, 0.367032,
723 0.54262, 0.090348, 0.090348, 0.367032, 0.54262, 0.090348, 0.54262,
724 0.367032, 0.54262, 0.367032, 0.090348, 0.54262, 0.090348, 0.367032};
725 inline static std::array<TScalar, 49> constexpr weights = {
726 0.0117856, 0.00758657, 0.00758657, 0.00758657, 0.006488, 0.006488, 0.006488,
727 0.00853315, 0.00853315, 0.00853315, 0.02288, 0.02288, 0.02288, 0.00111379,
728 0.00111379, 0.00111379, 0.00111379, 0.00111379, 0.00111379, 0.0135051, 0.0135051,
729 0.0135051, 0.0135051, 0.0135051, 0.0135051, 0.0130419, 0.0130419, 0.0130419,
730 0.0130419, 0.0130419, 0.0130419, 0.00605508, 0.00605508, 0.00605508, 0.00605508,
731 0.00605508, 0.00605508, 0.00782393, 0.00782393, 0.00782393, 0.00782393, 0.00782393,
732 0.00782393, 0.0170854, 0.0170854, 0.0170854, 0.0170854, 0.0170854, 0.0170854};
733};
734
735template <common::CFloatingPoint TScalar>
736struct SymmetricSimplexPolynomialQuadratureRule<2, 16, TScalar>
737{
738 inline static std::uint8_t constexpr kDims = 2;
739 inline static std::uint16_t constexpr kPoints = 55;
740 inline static std::uint8_t constexpr kOrder = 16;
741 inline static std::array<TScalar, 165> constexpr points = {
742 0.333333, 0.333333, 0.333333, 0.83641, 0.081795, 0.081795, 0.081795, 0.83641,
743 0.081795, 0.081795, 0.081795, 0.83641, 0.669399, 0.165301, 0.165301, 0.165301,
744 0.669399, 0.165301, 0.165301, 0.165301, 0.669399, 0.0628158, 0.468592, 0.468592,
745 0.468592, 0.0628158, 0.468592, 0.468592, 0.468592, 0.0628158, 0.971122, 0.0144388,
746 0.0144388, 0.0144388, 0.971122, 0.0144388, 0.0144388, 0.0144388, 0.971122, 0.516431,
747 0.241784, 0.241784, 0.241784, 0.516431, 0.241784, 0.241784, 0.241784, 0.516431,
748 0.00937931, 0.49531, 0.49531, 0.49531, 0.00937931, 0.49531, 0.49531, 0.49531,
749 0.00937931, 0.650513, 0.3314, 0.0180869, 0.650513, 0.0180869, 0.3314, 0.3314,
750 0.650513, 0.0180869, 0.3314, 0.0180869, 0.650513, 0.0180869, 0.650513, 0.3314,
751 0.0180869, 0.3314, 0.650513, 0.604011, 0.303247, 0.0927416, 0.604011, 0.0927416,
752 0.303247, 0.303247, 0.604011, 0.0927416, 0.303247, 0.0927416, 0.604011, 0.0927416,
753 0.604011, 0.303247, 0.0927416, 0.303247, 0.604011, 0.802168, 0.188028, 0.00980368,
754 0.802168, 0.00980368, 0.188028, 0.188028, 0.802168, 0.00980368, 0.188028, 0.00980368,
755 0.802168, 0.00980368, 0.802168, 0.188028, 0.00980368, 0.188028, 0.802168, 0.756506,
756 0.183505, 0.0599897, 0.756506, 0.0599897, 0.183505, 0.183505, 0.756506, 0.0599897,
757 0.183505, 0.0599897, 0.756506, 0.0599897, 0.756506, 0.183505, 0.0599897, 0.183505,
758 0.756506, 0.465938, 0.359646, 0.174416, 0.465938, 0.174416, 0.359646, 0.359646,
759 0.465938, 0.174416, 0.359646, 0.174416, 0.465938, 0.174416, 0.465938, 0.359646,
760 0.174416, 0.359646, 0.465938, 0.906395, 0.0771944, 0.0164108, 0.906395, 0.0164108,
761 0.0771944, 0.0771944, 0.906395, 0.0164108, 0.0771944, 0.0164108, 0.906395, 0.0164108,
762 0.906395, 0.0771944, 0.0164108, 0.0771944, 0.906395};
763 inline static std::array<TScalar, 55> constexpr weights = {
764 0.0240111, 0.00735455, 0.00735455, 0.00735455, 0.0147723, 0.0147723, 0.0147723,
765 0.0130625, 0.0130625, 0.0130625, 0.00139019, 0.00139019, 0.00139019, 0.0159109,
766 0.0159109, 0.0159109, 0.00432292, 0.00432292, 0.00432292, 0.00715017, 0.00715017,
767 0.00715017, 0.00715017, 0.00715017, 0.00715017, 0.0139249, 0.0139249, 0.0139249,
768 0.0139249, 0.0139249, 0.0139249, 0.00352084, 0.00352084, 0.00352084, 0.00352084,
769 0.00352084, 0.00352084, 0.00894992, 0.00894992, 0.00894992, 0.00894992, 0.00894992,
770 0.00894992, 0.0137291, 0.0137291, 0.0137291, 0.0137291, 0.0137291, 0.0137291,
771 0.0036499, 0.0036499, 0.0036499, 0.0036499, 0.0036499, 0.0036499};
772};
773
774template <common::CFloatingPoint TScalar>
775struct SymmetricSimplexPolynomialQuadratureRule<2, 17, TScalar>
776{
777 inline static std::uint8_t constexpr kDims = 2;
778 inline static std::uint16_t constexpr kPoints = 60;
779 inline static std::uint8_t constexpr kOrder = 17;
780 inline static std::array<TScalar, 180> constexpr points = {
781 0.518874, 0.240563, 0.240563, 0.240563, 0.518874, 0.240563, 0.240563, 0.240563,
782 0.518874, 0.838154, 0.0809232, 0.0809232, 0.0809232, 0.838154, 0.0809232, 0.0809232,
783 0.0809232, 0.838154, 0.979972, 0.0100141, 0.0100141, 0.0100141, 0.979972, 0.0100141,
784 0.0100141, 0.0100141, 0.979972, 0.691247, 0.154377, 0.154377, 0.154377, 0.691247,
785 0.154377, 0.154377, 0.154377, 0.691247, 0.16566, 0.41717, 0.41717, 0.41717,
786 0.16566, 0.41717, 0.41717, 0.41717, 0.16566, 0.0582605, 0.47087, 0.47087,
787 0.47087, 0.0582605, 0.47087, 0.47087, 0.47087, 0.0582605, 0.00376393, 0.498118,
788 0.498118, 0.498118, 0.00376393, 0.498118, 0.498118, 0.498118, 0.00376393, 0.270523,
789 0.364738, 0.364738, 0.364738, 0.270523, 0.364738, 0.364738, 0.364738, 0.270523,
790 0.109866, 0.304666, 0.585468, 0.109866, 0.585468, 0.304666, 0.304666, 0.109866,
791 0.585468, 0.304666, 0.585468, 0.109866, 0.585468, 0.109866, 0.304666, 0.585468,
792 0.304666, 0.109866, 0.204932, 0.0524876, 0.74258, 0.204932, 0.74258, 0.0524876,
793 0.0524876, 0.204932, 0.74258, 0.0524876, 0.74258, 0.204932, 0.74258, 0.204932,
794 0.0524876, 0.74258, 0.0524876, 0.204932, 0.0581392, 0.0150005, 0.92686, 0.0581392,
795 0.92686, 0.0150005, 0.0150005, 0.0581392, 0.92686, 0.0150005, 0.92686, 0.0581392,
796 0.92686, 0.0581392, 0.0150005, 0.92686, 0.0150005, 0.0581392, 0.138596, 0.0150102,
797 0.846394, 0.138596, 0.846394, 0.0150102, 0.0150102, 0.138596, 0.846394, 0.0150102,
798 0.846394, 0.138596, 0.846394, 0.138596, 0.0150102, 0.846394, 0.0150102, 0.138596,
799 0.346605, 0.0233621, 0.630032, 0.346605, 0.630032, 0.0233621, 0.0233621, 0.346605,
800 0.630032, 0.0233621, 0.630032, 0.346605, 0.630032, 0.346605, 0.0233621, 0.630032,
801 0.0233621, 0.346605, 0.24822, 1e-06, 0.751779, 0.24822, 0.751779, 1e-06,
802 1e-06, 0.24822, 0.751779, 1e-06, 0.751779, 0.24822, 0.751779, 0.24822,
803 1e-06, 0.751779, 1e-06, 0.24822};
804 inline static std::array<TScalar, 60> constexpr weights = {
805 0.0191463, 0.0191463, 0.0191463, 0.00834764, 0.00834764, 0.00834764, 0.000717562,
806 0.000717562, 0.000717562, 0.0143214, 0.0143214, 0.0143214, 0.0170428, 0.0170428,
807 0.0170428, 0.0123364, 0.0123364, 0.0123364, 0.0029334, 0.0029334, 0.0029334,
808 0.0116093, 0.0116093, 0.0116093, 0.0154248, 0.0154248, 0.0154248, 0.0154248,
809 0.0154248, 0.0154248, 0.00940699, 0.00940699, 0.00940699, 0.00940699, 0.00940699,
810 0.00940699, 0.00256172, 0.00256172, 0.00256172, 0.00256172, 0.00256172, 0.00256172,
811 0.0035062, 0.0035062, 0.0035062, 0.0035062, 0.0035062, 0.0035062, 0.00769115,
812 0.00769115, 0.00769115, 0.00769115, 0.00769115, 0.00769115, 0.00151507, 0.00151507,
813 0.00151507, 0.00151507, 0.00151507, 0.00151507};
814};
815
816template <common::CFloatingPoint TScalar>
817struct SymmetricSimplexPolynomialQuadratureRule<2, 18, TScalar>
818{
819 inline static std::uint8_t constexpr kDims = 2;
820 inline static std::uint16_t constexpr kPoints = 67;
821 inline static std::uint8_t constexpr kOrder = 18;
822 inline static std::array<TScalar, 201> constexpr points = {
823 0.333333, 0.333333, 0.333333, 0.696723, 0.151639, 0.151639, 0.151639,
824 0.696723, 0.151639, 0.151639, 0.151639, 0.696723, 0.855123, 0.0724387,
825 0.0724387, 0.0724387, 0.855123, 0.0724387, 0.0724387, 0.0724387, 0.855123,
826 0.992482, 0.00375894, 0.00375894, 0.00375894, 0.992482, 0.00375894, 0.00375894,
827 0.00375894, 0.992482, 0.177866, 0.411067, 0.411067, 0.411067, 0.177866,
828 0.411067, 0.411067, 0.411067, 0.177866, 0.468771, 0.265615, 0.265615,
829 0.265615, 0.468771, 0.265615, 0.265615, 0.265615, 0.468771, 0.0501636,
830 0.474918, 0.474918, 0.474918, 0.0501636, 0.474918, 0.474918, 0.474918,
831 0.0501636, 0.0661225, 0.178479, 0.755398, 0.0661225, 0.755398, 0.178479,
832 0.178479, 0.0661225, 0.755398, 0.178479, 0.755398, 0.0661225, 0.755398,
833 0.0661225, 0.178479, 0.755398, 0.178479, 0.0661225, 0.268573, 0.149067,
834 0.58236, 0.268573, 0.58236, 0.149067, 0.149067, 0.268573, 0.58236,
835 0.149067, 0.58236, 0.268573, 0.58236, 0.268573, 0.149067, 0.58236,
836 0.149067, 0.268573, 0.302062, 0.0540117, 0.643926, 0.302062, 0.643926,
837 0.0540117, 0.0540117, 0.302062, 0.643926, 0.0540117, 0.643926, 0.302062,
838 0.643926, 0.302062, 0.0540117, 0.643926, 0.0540117, 0.302062, 0.132779,
839 0.0143315, 0.85289, 0.132779, 0.85289, 0.0143315, 0.0143315, 0.132779,
840 0.85289, 0.0143315, 0.85289, 0.132779, 0.85289, 0.132779, 0.0143315,
841 0.85289, 0.0143315, 0.132779, 0.256506, 0.010505, 0.732989, 0.256506,
842 0.732989, 0.010505, 0.010505, 0.256506, 0.732989, 0.010505, 0.732989,
843 0.256506, 0.732989, 0.256506, 0.010505, 0.732989, 0.010505, 0.256506,
844 0.411066, 0.0116918, 0.577243, 0.411066, 0.577243, 0.0116918, 0.0116918,
845 0.411066, 0.577243, 0.0116918, 0.577243, 0.411066, 0.577243, 0.411066,
846 0.0116918, 0.577243, 0.0116918, 0.411066, 0.0472761, 0.0124989, 0.940225,
847 0.0472761, 0.940225, 0.0124989, 0.0124989, 0.0472761, 0.940225, 0.0124989,
848 0.940225, 0.0472761, 0.940225, 0.0472761, 0.0124989, 0.940225, 0.0124989,
849 0.0472761, 0.385044, 0.524529, 0.090427, 0.385044, 0.090427, 0.524529,
850 0.524529, 0.385044, 0.090427, 0.524529, 0.090427, 0.385044, 0.090427,
851 0.385044, 0.524529, 0.090427, 0.524529, 0.385044};
852 inline static std::array<TScalar, 67> constexpr weights = {
853 0.0153743, 0.0101592, 0.0101592, 0.0101592, 0.00689514, 0.00689514, 0.00689514,
854 0.000266003, 0.000266003, 0.000266003, 0.016736, 0.016736, 0.016736, 0.0155582,
855 0.0155582, 0.0155582, 0.00655351, 0.00655351, 0.00655351, 0.00845583, 0.00845583,
856 0.00845583, 0.00845583, 0.00845583, 0.00845583, 0.0137964, 0.0137964, 0.0137964,
857 0.0137964, 0.0137964, 0.0137964, 0.00818295, 0.00818295, 0.00818295, 0.00818295,
858 0.00818295, 0.00818295, 0.00382085, 0.00382085, 0.00382085, 0.00382085, 0.00382085,
859 0.00382085, 0.00386492, 0.00386492, 0.00386492, 0.00386492, 0.00386492, 0.00386492,
860 0.00479306, 0.00479306, 0.00479306, 0.00479306, 0.00479306, 0.00479306, 0.00210876,
861 0.00210876, 0.00210876, 0.00210876, 0.00210876, 0.00210876, 0.00766413, 0.00766413,
862 0.00766413, 0.00766413, 0.00766413, 0.00766413};
863};
864
865template <common::CFloatingPoint TScalar>
866struct SymmetricSimplexPolynomialQuadratureRule<2, 19, TScalar>
867{
868 inline static std::uint8_t constexpr kDims = 2;
869 inline static std::uint16_t constexpr kPoints = 73;
870 inline static std::uint8_t constexpr kOrder = 19;
871 inline static std::array<TScalar, 219> constexpr points = {
872 0.333333, 0.333333, 0.333333, 0.02078, 0.48961, 0.48961, 0.48961, 0.02078,
873 0.48961, 0.48961, 0.48961, 0.02078, 0.0909262, 0.454537, 0.454537, 0.454537,
874 0.0909262, 0.454537, 0.454537, 0.454537, 0.0909262, 0.197167, 0.401417, 0.401417,
875 0.401417, 0.197167, 0.401417, 0.401417, 0.401417, 0.197167, 0.488897, 0.255552,
876 0.255552, 0.255552, 0.488897, 0.255552, 0.255552, 0.255552, 0.488897, 0.645844,
877 0.177078, 0.177078, 0.177078, 0.645844, 0.177078, 0.177078, 0.177078, 0.645844,
878 0.779878, 0.110061, 0.110061, 0.110061, 0.779878, 0.110061, 0.110061, 0.110061,
879 0.779878, 0.888943, 0.0555286, 0.0555286, 0.0555286, 0.888943, 0.0555286, 0.0555286,
880 0.0555286, 0.888943, 0.974756, 0.0126219, 0.0126219, 0.0126219, 0.974756, 0.0126219,
881 0.0126219, 0.0126219, 0.974756, 0.600634, 0.395755, 0.00361142, 0.600634, 0.00361142,
882 0.395755, 0.395755, 0.600634, 0.00361142, 0.395755, 0.00361142, 0.600634, 0.00361142,
883 0.600634, 0.395755, 0.00361142, 0.395755, 0.600634, 0.134467, 0.557603, 0.30793,
884 0.134467, 0.30793, 0.557603, 0.557603, 0.134467, 0.30793, 0.557603, 0.30793,
885 0.134467, 0.30793, 0.134467, 0.557603, 0.30793, 0.557603, 0.134467, 0.720987,
886 0.264567, 0.014446, 0.720987, 0.014446, 0.264567, 0.264567, 0.720987, 0.014446,
887 0.264567, 0.014446, 0.720987, 0.014446, 0.720987, 0.264567, 0.014446, 0.264567,
888 0.720987, 0.594527, 0.358539, 0.0469336, 0.594527, 0.0469336, 0.358539, 0.358539,
889 0.594527, 0.0469336, 0.358539, 0.0469336, 0.594527, 0.0469336, 0.594527, 0.358539,
890 0.0469336, 0.358539, 0.594527, 0.839331, 0.157807, 0.00286112, 0.839331, 0.00286112,
891 0.157807, 0.157807, 0.839331, 0.00286112, 0.157807, 0.00286112, 0.839331, 0.00286112,
892 0.839331, 0.157807, 0.00286112, 0.157807, 0.839331, 0.223861, 0.701088, 0.0750506,
893 0.223861, 0.0750506, 0.701088, 0.701088, 0.223861, 0.0750506, 0.701088, 0.0750506,
894 0.223861, 0.0750506, 0.223861, 0.701088, 0.0750506, 0.701088, 0.223861, 0.822931,
895 0.142422, 0.0346471, 0.822931, 0.0346471, 0.142422, 0.142422, 0.822931, 0.0346471,
896 0.142422, 0.0346471, 0.822931, 0.0346471, 0.822931, 0.142422, 0.0346471, 0.142422,
897 0.822931, 0.924344, 0.0654946, 0.0101611, 0.924344, 0.0101611, 0.0654946, 0.0654946,
898 0.924344, 0.0101611, 0.0654946, 0.0101611, 0.924344, 0.0101611, 0.924344, 0.0654946,
899 0.0101611, 0.0654946, 0.924344};
900 inline static std::array<TScalar, 73> constexpr weights = {
901 0.0164532, 0.00516537, 0.00516537, 0.00516537, 0.0111936, 0.0111936, 0.0111936,
902 0.0151331, 0.0151331, 0.0151331, 0.0152455, 0.0152455, 0.0152455, 0.0120796,
903 0.0120796, 0.0120796, 0.0080254, 0.0080254, 0.0080254, 0.00404229, 0.00404229,
904 0.00404229, 0.00103968, 0.00103968, 0.00103968, 0.00194244, 0.00194244, 0.00194244,
905 0.00194244, 0.00194244, 0.00194244, 0.0127871, 0.0127871, 0.0127871, 0.0127871,
906 0.0127871, 0.0127871, 0.00444045, 0.00444045, 0.00444045, 0.00444045, 0.00444045,
907 0.00444045, 0.00806227, 0.00806227, 0.00806227, 0.00806227, 0.00806227, 0.00806227,
908 0.00124597, 0.00124597, 0.00124597, 0.00124597, 0.00124597, 0.00124597, 0.00912142,
909 0.00912142, 0.00912142, 0.00912142, 0.00912142, 0.00912142, 0.00512928, 0.00512928,
910 0.00512928, 0.00512928, 0.00512928, 0.00512928, 0.00189996, 0.00189996, 0.00189996,
911 0.00189996, 0.00189996, 0.00189996};
912};
913
914template <common::CFloatingPoint TScalar>
915struct SymmetricSimplexPolynomialQuadratureRule<2, 20, TScalar>
916{
917 inline static std::uint8_t constexpr kDims = 2;
918 inline static std::uint16_t constexpr kPoints = 82;
919 inline static std::uint8_t constexpr kOrder = 20;
920 inline static std::array<TScalar, 246> constexpr points = {
921 0.333333, 0.333333, 0.333333, 0.0549206, 0.47254, 0.47254, 0.47254,
922 0.0549206, 0.47254, 0.47254, 0.47254, 0.0549206, 0.128816, 0.435592,
923 0.435592, 0.435592, 0.128816, 0.435592, 0.435592, 0.435592, 0.128816,
924 0.229034, 0.385483, 0.385483, 0.385483, 0.229034, 0.385483, 0.385483,
925 0.385483, 0.229034, 0.628204, 0.185898, 0.185898, 0.185898, 0.628204,
926 0.185898, 0.185898, 0.185898, 0.628204, 0.794114, 0.102943, 0.102943,
927 0.102943, 0.794114, 0.102943, 0.102943, 0.102943, 0.794114, 0.911591,
928 0.0442044, 0.0442044, 0.0442044, 0.911591, 0.0442044, 0.0442044, 0.0442044,
929 0.911591, 0.976246, 0.011877, 0.011877, 0.011877, 0.976246, 0.011877,
930 0.011877, 0.011877, 0.976246, 0.423177, 0.566247, 0.0105761, 0.423177,
931 0.0105761, 0.566247, 0.566247, 0.423177, 0.0105761, 0.566247, 0.0105761,
932 0.423177, 0.0105761, 0.423177, 0.566247, 0.0105761, 0.566247, 0.423177,
933 0.287178, 0.703631, 0.00919062, 0.287178, 0.00919062, 0.703631, 0.703631,
934 0.287178, 0.00919062, 0.703631, 0.00919062, 0.287178, 0.00919062, 0.287178,
935 0.703631, 0.00919062, 0.703631, 0.287178, 0.162825, 0.832373, 0.00480182,
936 0.162825, 0.00480182, 0.832373, 0.832373, 0.162825, 0.00480182, 0.832373,
937 0.00480182, 0.162825, 0.00480182, 0.162825, 0.832373, 0.00480182, 0.832373,
938 0.162825, 0.0646806, 0.929258, 0.00606167, 0.0646806, 0.00606167, 0.929258,
939 0.929258, 0.0646806, 0.00606167, 0.929258, 0.00606167, 0.0646806, 0.00606167,
940 0.0646806, 0.929258, 0.00606167, 0.929258, 0.0646806, 0.334006, 0.613237,
941 0.0527567, 0.334006, 0.0527567, 0.613237, 0.613237, 0.334006, 0.0527567,
942 0.613237, 0.0527567, 0.334006, 0.0527567, 0.334006, 0.613237, 0.0527567,
943 0.613237, 0.334006, 0.210924, 0.751511, 0.0375657, 0.210924, 0.0375657,
944 0.751511, 0.751511, 0.210924, 0.0375657, 0.751511, 0.0375657, 0.210924,
945 0.0375657, 0.210924, 0.751511, 0.0375657, 0.751511, 0.210924, 0.11508,
946 0.850151, 0.0347685, 0.11508, 0.0347685, 0.850151, 0.850151, 0.11508,
947 0.0347685, 0.850151, 0.0347685, 0.11508, 0.0347685, 0.11508, 0.850151,
948 0.0347685, 0.850151, 0.11508, 0.310752, 0.56199, 0.127258, 0.310752,
949 0.127258, 0.56199, 0.56199, 0.310752, 0.127258, 0.56199, 0.127258,
950 0.310752, 0.127258, 0.310752, 0.56199, 0.127258, 0.56199, 0.310752,
951 0.202006, 0.701716, 0.0962774, 0.202006, 0.0962774, 0.701716, 0.701716,
952 0.202006, 0.0962774, 0.701716, 0.0962774, 0.202006, 0.0962774, 0.202006,
953 0.701716, 0.0962774, 0.701716, 0.202006, 0.289023, 0.491389, 0.219588,
954 0.289023, 0.219588, 0.491389, 0.491389, 0.289023, 0.219588, 0.491389,
955 0.219588, 0.289023, 0.219588, 0.289023, 0.491389, 0.219588, 0.491389,
956 0.289023};
957 inline static std::array<TScalar, 82> constexpr weights = {
958 0.0117195, 0.00850594, 0.00850594, 0.00850594, 0.0110673, 0.0110673, 0.0110673,
959 0.0111251, 0.0111251, 0.0111251, 0.010544, 0.010544, 0.010544, 0.00718337,
960 0.00718337, 0.00718337, 0.00298032, 0.00298032, 0.00298032, 0.000927231, 0.000927231,
961 0.000927231, 0.00383252, 0.00383252, 0.00383252, 0.00383252, 0.00383252, 0.00383252,
962 0.00305548, 0.00305548, 0.00305548, 0.00305548, 0.00305548, 0.00305548, 0.00164875,
963 0.00164875, 0.00164875, 0.00164875, 0.00164875, 0.00164875, 0.00129252, 0.00129252,
964 0.00129252, 0.00129252, 0.00129252, 0.00129252, 0.00802415, 0.00802415, 0.00802415,
965 0.00802415, 0.00802415, 0.00802415, 0.0049369, 0.0049369, 0.0049369, 0.0049369,
966 0.0049369, 0.0049369, 0.00408657, 0.00408657, 0.00408657, 0.00408657, 0.00408657,
967 0.00408657, 0.0106361, 0.0106361, 0.0106361, 0.0106361, 0.0106361, 0.0106361,
968 0.0081478, 0.0081478, 0.0081478, 0.0081478, 0.0081478, 0.0081478, 0.00955271,
969 0.00955271, 0.00955271, 0.00955271, 0.00955271, 0.00955271};
970};
971
972template <common::CFloatingPoint TScalar>
973struct SymmetricSimplexPolynomialQuadratureRule<2, 21, TScalar>
974{
975 inline static std::uint8_t constexpr kDims = 2;
976 inline static std::uint16_t constexpr kPoints = 87;
977 inline static std::uint8_t constexpr kOrder = 21;
978 inline static std::array<TScalar, 261> constexpr points = {
979 0.978339, 0.0108306, 0.0108306, 0.0108306, 0.978339, 0.0108306, 0.0108306,
980 0.0108306, 0.978339, 0.00263766, 0.498681, 0.498681, 0.498681, 0.00263766,
981 0.498681, 0.498681, 0.498681, 0.00263766, 0.893587, 0.0532063, 0.0532063,
982 0.0532063, 0.893587, 0.0532063, 0.0532063, 0.0532063, 0.893587, 0.0312624,
983 0.484369, 0.484369, 0.484369, 0.0312624, 0.484369, 0.484369, 0.484369,
984 0.0312624, 0.765641, 0.117179, 0.117179, 0.117179, 0.765641, 0.117179,
985 0.117179, 0.117179, 0.765641, 0.6276, 0.1862, 0.1862, 0.1862,
986 0.6276, 0.1862, 0.1862, 0.1862, 0.6276, 0.52459, 0.237705,
987 0.237705, 0.237705, 0.52459, 0.237705, 0.237705, 0.237705, 0.52459,
988 0.0977638, 0.451118, 0.451118, 0.451118, 0.0977638, 0.451118, 0.451118,
989 0.451118, 0.0977638, 0.402197, 0.298902, 0.298902, 0.298902, 0.402197,
990 0.298902, 0.298902, 0.298902, 0.402197, 0.0101704, 0.0561061, 0.933724,
991 0.0101704, 0.933724, 0.0561061, 0.0561061, 0.0101704, 0.933724, 0.0561061,
992 0.933724, 0.0101704, 0.933724, 0.0101704, 0.0561061, 0.933724, 0.0561061,
993 0.0101704, 0.00740148, 0.238061, 0.754538, 0.00740148, 0.754538, 0.238061,
994 0.238061, 0.00740148, 0.754538, 0.238061, 0.754538, 0.00740148, 0.754538,
995 0.00740148, 0.238061, 0.754538, 0.238061, 0.00740148, 0.00948888, 0.133714,
996 0.856797, 0.00948888, 0.856797, 0.133714, 0.133714, 0.00948888, 0.856797,
997 0.133714, 0.856797, 0.00948888, 0.856797, 0.00948888, 0.133714, 0.856797,
998 0.133714, 0.00948888, 0.0107871, 0.360878, 0.628335, 0.0107871, 0.628335,
999 0.360878, 0.360878, 0.0107871, 0.628335, 0.360878, 0.628335, 0.0107871,
1000 0.628335, 0.0107871, 0.360878, 0.628335, 0.360878, 0.0107871, 0.0488864,
1001 0.12856, 0.822554, 0.0488864, 0.822554, 0.12856, 0.12856, 0.0488864,
1002 0.822554, 0.12856, 0.822554, 0.0488864, 0.822554, 0.0488864, 0.12856,
1003 0.822554, 0.12856, 0.0488864, 0.0407905, 0.231929, 0.72728, 0.0407905,
1004 0.72728, 0.231929, 0.231929, 0.0407905, 0.72728, 0.231929, 0.72728,
1005 0.0407905, 0.72728, 0.0407905, 0.231929, 0.72728, 0.231929, 0.0407905,
1006 0.102255, 0.213182, 0.684563, 0.102255, 0.684563, 0.213182, 0.213182,
1007 0.102255, 0.684563, 0.213182, 0.684563, 0.102255, 0.684563, 0.102255,
1008 0.213182, 0.684563, 0.213182, 0.102255, 0.0561951, 0.346154, 0.597651,
1009 0.0561951, 0.597651, 0.346154, 0.346154, 0.0561951, 0.597651, 0.346154,
1010 0.597651, 0.0561951, 0.597651, 0.0561951, 0.346154, 0.597651, 0.346154,
1011 0.0561951, 0.193921, 0.357418, 0.448661, 0.193921, 0.448661, 0.357418,
1012 0.357418, 0.193921, 0.448661, 0.357418, 0.448661, 0.193921, 0.448661,
1013 0.193921, 0.357418, 0.448661, 0.357418, 0.193921, 0.131397, 0.309642,
1014 0.558961, 0.131397, 0.558961, 0.309642, 0.309642, 0.131397, 0.558961,
1015 0.309642, 0.558961, 0.131397, 0.558961, 0.131397, 0.309642, 0.558961,
1016 0.309642, 0.131397};
1017 inline static std::array<TScalar, 87> constexpr weights = {
1018 0.000766261, 0.000766261, 0.000766261, 0.00147982, 0.00147982, 0.00147982, 0.00355254,
1019 0.00355254, 0.00355254, 0.00621101, 0.00621101, 0.00621101, 0.00657693, 0.00657693,
1020 0.00657693, 0.00805356, 0.00805356, 0.00805356, 0.0097785, 0.0097785, 0.0097785,
1021 0.0105736, 0.0105736, 0.0105736, 0.0107436, 0.0107436, 0.0107436, 0.00162161,
1022 0.00162161, 0.00162161, 0.00162161, 0.00162161, 0.00162161, 0.00222303, 0.00222303,
1023 0.00222303, 0.00222303, 0.00222303, 0.00222303, 0.00222357, 0.00222357, 0.00222357,
1024 0.00222357, 0.00222357, 0.00222357, 0.00359642, 0.00359642, 0.00359642, 0.00359642,
1025 0.00359642, 0.00359642, 0.00484409, 0.00484409, 0.00484409, 0.00484409, 0.00484409,
1026 0.00484409, 0.00538593, 0.00538593, 0.00538593, 0.00538593, 0.00538593, 0.00538593,
1027 0.00768822, 0.00768822, 0.00768822, 0.00768822, 0.00768822, 0.00768822, 0.0077091,
1028 0.0077091, 0.0077091, 0.0077091, 0.0077091, 0.0077091, 0.009364, 0.009364,
1029 0.009364, 0.009364, 0.009364, 0.009364, 0.00980945, 0.00980945, 0.00980945,
1030 0.00980945, 0.00980945, 0.00980945};
1031};
1032
1033template <common::CFloatingPoint TScalar>
1034struct SymmetricSimplexPolynomialQuadratureRule<2, 22, TScalar>
1035{
1036 inline static std::uint8_t constexpr kDims = 2;
1037 inline static std::uint16_t constexpr kPoints = 96;
1038 inline static std::uint8_t constexpr kOrder = 22;
1039 inline static std::array<TScalar, 288> constexpr points = {
1040 0.985544, 0.00722824, 0.00722824, 0.00722824, 0.985544, 0.00722824, 0.00722824,
1041 0.00722824, 0.985544, 0.000570167, 0.499715, 0.499715, 0.499715, 0.000570167,
1042 0.499715, 0.499715, 0.499715, 0.000570167, 0.916095, 0.0419525, 0.0419525,
1043 0.0419525, 0.916095, 0.0419525, 0.0419525, 0.0419525, 0.916095, 0.371736,
1044 0.314132, 0.314132, 0.314132, 0.371736, 0.314132, 0.314132, 0.314132,
1045 0.371736, 0.0399727, 0.480014, 0.480014, 0.480014, 0.0399727, 0.480014,
1046 0.480014, 0.480014, 0.0399727, 0.753825, 0.123087, 0.123087, 0.123087,
1047 0.753825, 0.123087, 0.123087, 0.123087, 0.753825, 0.108561, 0.44572,
1048 0.44572, 0.44572, 0.108561, 0.44572, 0.44572, 0.44572, 0.108561,
1049 0.620275, 0.189862, 0.189862, 0.189862, 0.620275, 0.189862, 0.189862,
1050 0.189862, 0.620275, 0.479322, 0.260339, 0.260339, 0.260339, 0.479322,
1051 0.260339, 0.260339, 0.260339, 0.479322, 0.207266, 0.396367, 0.396367,
1052 0.396367, 0.207266, 0.396367, 0.396367, 0.396367, 0.207266, 0.00773958,
1053 0.0391002, 0.95316, 0.00773958, 0.95316, 0.0391002, 0.0391002, 0.00773958,
1054 0.95316, 0.0391002, 0.95316, 0.00773958, 0.95316, 0.00773958, 0.0391002,
1055 0.95316, 0.0391002, 0.00773958, 0.000577064, 0.299563, 0.69986, 0.000577064,
1056 0.69986, 0.299563, 0.299563, 0.000577064, 0.69986, 0.299563, 0.69986,
1057 0.000577064, 0.69986, 0.000577064, 0.299563, 0.69986, 0.299563, 0.000577064,
1058 0.00979577, 0.0991676, 0.891037, 0.00979577, 0.891037, 0.0991676, 0.0991676,
1059 0.00979577, 0.891037, 0.0991676, 0.891037, 0.00979577, 0.891037, 0.00979577,
1060 0.0991676, 0.891037, 0.0991676, 0.00979577, 0.00918868, 0.186191, 0.804621,
1061 0.00918868, 0.804621, 0.186191, 0.186191, 0.00918868, 0.804621, 0.186191,
1062 0.804621, 0.00918868, 0.804621, 0.00918868, 0.186191, 0.804621, 0.186191,
1063 0.00918868, 0.0134671, 0.402939, 0.583594, 0.0134671, 0.583594, 0.402939,
1064 0.402939, 0.0134671, 0.583594, 0.402939, 0.583594, 0.0134671, 0.583594,
1065 0.0134671, 0.402939, 0.583594, 0.402939, 0.0134671, 0.0506263, 0.103588,
1066 0.845786, 0.0506263, 0.845786, 0.103588, 0.103588, 0.0506263, 0.845786,
1067 0.103588, 0.845786, 0.0506263, 0.845786, 0.0506263, 0.103588, 0.845786,
1068 0.103588, 0.0506263, 0.0483881, 0.180823, 0.770789, 0.0483881, 0.770789,
1069 0.180823, 0.180823, 0.0483881, 0.770789, 0.180823, 0.770789, 0.0483881,
1070 0.770789, 0.0483881, 0.180823, 0.770789, 0.180823, 0.0483881, 0.0274914,
1071 0.281943, 0.690565, 0.0274914, 0.690565, 0.281943, 0.281943, 0.0274914,
1072 0.690565, 0.281943, 0.690565, 0.0274914, 0.690565, 0.0274914, 0.281943,
1073 0.690565, 0.281943, 0.0274914, 0.067134, 0.350713, 0.582153, 0.067134,
1074 0.582153, 0.350713, 0.350713, 0.067134, 0.582153, 0.350713, 0.582153,
1075 0.067134, 0.582153, 0.067134, 0.350713, 0.582153, 0.350713, 0.067134,
1076 0.0967043, 0.230176, 0.673119, 0.0967043, 0.673119, 0.230176, 0.230176,
1077 0.0967043, 0.673119, 0.230176, 0.673119, 0.0967043, 0.673119, 0.0967043,
1078 0.230176, 0.673119, 0.230176, 0.0967043, 0.15193, 0.311593, 0.536476,
1079 0.15193, 0.536476, 0.311593, 0.311593, 0.15193, 0.536476, 0.311593,
1080 0.536476, 0.15193, 0.536476, 0.15193, 0.311593, 0.536476, 0.311593,
1081 0.15193};
1082 inline static std::array<TScalar, 96> constexpr weights = {
1083 0.000348573, 0.000348573, 0.000348573, 0.000866827, 0.000866827, 0.000866827, 0.00233066,
1084 0.00233066, 0.00233066, 0.00579229, 0.00579229, 0.00579229, 0.00593949, 0.00593949,
1085 0.00593949, 0.0076694, 0.0076694, 0.0076694, 0.00985819, 0.00985819, 0.00985819,
1086 0.0102861, 0.0102861, 0.0102861, 0.0119203, 0.0119203, 0.0119203, 0.0122306,
1087 0.0122306, 0.0122306, 0.000914314, 0.000914314, 0.000914314, 0.000914314, 0.000914314,
1088 0.000914314, 0.000940225, 0.000940225, 0.000940225, 0.000940225, 0.000940225, 0.000940225,
1089 0.00185205, 0.00185205, 0.00185205, 0.00185205, 0.00185205, 0.00185205, 0.00233417,
1090 0.00233417, 0.00233417, 0.00233417, 0.00233417, 0.00233417, 0.00360567, 0.00360567,
1091 0.00360567, 0.00360567, 0.00360567, 0.00360567, 0.00398372, 0.00398372, 0.00398372,
1092 0.00398372, 0.00398372, 0.00398372, 0.0045179, 0.0045179, 0.0045179, 0.0045179,
1093 0.0045179, 0.0045179, 0.00474032, 0.00474032, 0.00474032, 0.00474032, 0.00474032,
1094 0.00474032, 0.00780869, 0.00780869, 0.00780869, 0.00780869, 0.00780869, 0.00780869,
1095 0.00812266, 0.00812266, 0.00812266, 0.00812266, 0.00812266, 0.00812266, 0.0108924,
1096 0.0108924, 0.0108924, 0.0108924, 0.0108924, 0.0108924};
1097};
1098
1099template <common::CFloatingPoint TScalar>
1100struct SymmetricSimplexPolynomialQuadratureRule<2, 23, TScalar>
1101{
1102 inline static std::uint8_t constexpr kDims = 2;
1103 inline static std::uint16_t constexpr kPoints = 102;
1104 inline static std::uint8_t constexpr kOrder = 23;
1105 inline static std::array<TScalar, 306> constexpr points = {
1106 0.982314, 0.00884309, 0.00884309, 0.00884309, 0.982314, 0.00884309, 0.00884309,
1107 0.00884309, 0.982314, 0.00191536, 0.499042, 0.499042, 0.499042, 0.00191536,
1108 0.499042, 0.499042, 0.499042, 0.00191536, 0.916163, 0.0419185, 0.0419185,
1109 0.0419185, 0.916163, 0.0419185, 0.0419185, 0.0419185, 0.916163, 0.832312,
1110 0.083844, 0.083844, 0.083844, 0.832312, 0.083844, 0.083844, 0.083844,
1111 0.832312, 0.296868, 0.351566, 0.351566, 0.351566, 0.296868, 0.351566,
1112 0.351566, 0.351566, 0.296868, 0.037155, 0.481423, 0.481423, 0.481423,
1113 0.037155, 0.481423, 0.481423, 0.481423, 0.037155, 0.727926, 0.136037,
1114 0.136037, 0.136037, 0.727926, 0.136037, 0.136037, 0.136037, 0.727926,
1115 0.108228, 0.445886, 0.445886, 0.445886, 0.108228, 0.445886, 0.445886,
1116 0.445886, 0.108228, 0.603324, 0.198338, 0.198338, 0.198338, 0.603324,
1117 0.198338, 0.198338, 0.198338, 0.603324, 0.204703, 0.397649, 0.397649,
1118 0.397649, 0.204703, 0.397649, 0.397649, 0.397649, 0.204703, 0.00215375,
1119 0.111478, 0.886368, 0.00215375, 0.886368, 0.111478, 0.111478, 0.00215375,
1120 0.886368, 0.111478, 0.886368, 0.00215375, 0.886368, 0.00215375, 0.111478,
1121 0.886368, 0.111478, 0.00215375, 0.00797567, 0.0459988, 0.946026, 0.00797567,
1122 0.946026, 0.0459988, 0.0459988, 0.00797567, 0.946026, 0.0459988, 0.946026,
1123 0.00797567, 0.946026, 0.00797567, 0.0459988, 0.946026, 0.0459988, 0.00797567,
1124 0.00222521, 0.299917, 0.697858, 0.00222521, 0.697858, 0.299917, 0.299917,
1125 0.00222521, 0.697858, 0.299917, 0.697858, 0.00222521, 0.697858, 0.00222521,
1126 0.299917, 0.697858, 0.299917, 0.00222521, 0.010568, 0.194506, 0.794926,
1127 0.010568, 0.794926, 0.194506, 0.194506, 0.010568, 0.794926, 0.194506,
1128 0.794926, 0.010568, 0.794926, 0.010568, 0.194506, 0.794926, 0.194506,
1129 0.010568, 0.0263902, 0.104876, 0.868734, 0.0263902, 0.868734, 0.104876,
1130 0.104876, 0.0263902, 0.868734, 0.104876, 0.868734, 0.0263902, 0.868734,
1131 0.0263902, 0.104876, 0.868734, 0.104876, 0.0263902, 0.0137266, 0.393593,
1132 0.592681, 0.0137266, 0.592681, 0.393593, 0.393593, 0.0137266, 0.592681,
1133 0.393593, 0.592681, 0.0137266, 0.592681, 0.0137266, 0.393593, 0.592681,
1134 0.393593, 0.0137266, 0.0329317, 0.27745, 0.689618, 0.0329317, 0.689618,
1135 0.27745, 0.27745, 0.0329317, 0.689618, 0.27745, 0.689618, 0.0329317,
1136 0.689618, 0.0329317, 0.27745, 0.689618, 0.27745, 0.0329317, 0.0564584,
1137 0.170419, 0.773122, 0.0564584, 0.773122, 0.170419, 0.170419, 0.0564584,
1138 0.773122, 0.170419, 0.773122, 0.0564584, 0.773122, 0.0564584, 0.170419,
1139 0.773122, 0.170419, 0.0564584, 0.249059, 0.280485, 0.470457, 0.249059,
1140 0.470457, 0.280485, 0.280485, 0.249059, 0.470457, 0.280485, 0.470457,
1141 0.249059, 0.470457, 0.249059, 0.280485, 0.470457, 0.280485, 0.249059,
1142 0.0671002, 0.359407, 0.573493, 0.0671002, 0.573493, 0.359407, 0.359407,
1143 0.0671002, 0.573493, 0.359407, 0.573493, 0.0671002, 0.573493, 0.0671002,
1144 0.359407, 0.573493, 0.359407, 0.0671002, 0.100958, 0.239679, 0.659363,
1145 0.100958, 0.659363, 0.239679, 0.239679, 0.100958, 0.659363, 0.239679,
1146 0.659363, 0.100958, 0.659363, 0.100958, 0.239679, 0.659363, 0.239679,
1147 0.100958, 0.152081, 0.316605, 0.531313, 0.152081, 0.531313, 0.316605,
1148 0.316605, 0.152081, 0.531313, 0.316605, 0.531313, 0.152081, 0.531313,
1149 0.152081, 0.316605, 0.531313, 0.316605, 0.152081};
1150 inline static std::array<TScalar, 102> constexpr weights = {
1151 0.000511692, 0.000511692, 0.000511692, 0.00117477, 0.00117477, 0.00117477, 0.00221136,
1152 0.00221136, 0.00221136, 0.0046797, 0.0046797, 0.0046797, 0.00561165, 0.00561165,
1153 0.00561165, 0.0057277, 0.0057277, 0.0057277, 0.00742576, 0.00742576, 0.00742576,
1154 0.009367, 0.009367, 0.009367, 0.0100477, 0.0100477, 0.0100477, 0.0109348,
1155 0.0109348, 0.0109348, 0.000695187, 0.000695187, 0.000695187, 0.000695187, 0.000695187,
1156 0.000695187, 0.00104681, 0.00104681, 0.00104681, 0.00104681, 0.00104681, 0.00104681,
1157 0.00113136, 0.00113136, 0.00113136, 0.00113136, 0.00113136, 0.00113136, 0.00254944,
1158 0.00254944, 0.00254944, 0.00254944, 0.00254944, 0.00254944, 0.0029014, 0.0029014,
1159 0.0029014, 0.0029014, 0.0029014, 0.0029014, 0.00349524, 0.00349524, 0.00349524,
1160 0.00349524, 0.00349524, 0.00349524, 0.00505272, 0.00505272, 0.00505272, 0.00505272,
1161 0.00505272, 0.00505272, 0.00547034, 0.00547034, 0.00547034, 0.00547034, 0.00547034,
1162 0.00547034, 0.00634887, 0.00634887, 0.00634887, 0.00634887, 0.00634887, 0.00634887,
1163 0.00746845, 0.00746845, 0.00746845, 0.00746845, 0.00746845, 0.00746845, 0.00812297,
1164 0.00812297, 0.00812297, 0.00812297, 0.00812297, 0.00812297, 0.0102045, 0.0102045,
1165 0.0102045, 0.0102045, 0.0102045, 0.0102045};
1166};
1167
1168template <common::CFloatingPoint TScalar>
1169struct SymmetricSimplexPolynomialQuadratureRule<2, 24, TScalar>
1170{
1171 inline static std::uint8_t constexpr kDims = 2;
1172 inline static std::uint16_t constexpr kPoints = 112;
1173 inline static std::uint8_t constexpr kOrder = 24;
1174 inline static std::array<TScalar, 336> constexpr points = {
1175 0.333333, 0.333333, 0.333333, 0.98471, 0.00764482, 0.00764482, 0.00764482,
1176 0.98471, 0.00764482, 0.00764482, 0.00764482, 0.98471, 0.00975347, 0.495123,
1177 0.495123, 0.495123, 0.00975347, 0.495123, 0.495123, 0.495123, 0.00975347,
1178 0.829329, 0.0853357, 0.0853357, 0.0853357, 0.829329, 0.0853357, 0.0853357,
1179 0.0853357, 0.829329, 0.0491913, 0.475404, 0.475404, 0.475404, 0.0491913,
1180 0.475404, 0.475404, 0.475404, 0.0491913, 0.712774, 0.143613, 0.143613,
1181 0.143613, 0.712774, 0.143613, 0.143613, 0.143613, 0.712774, 0.119997,
1182 0.440001, 0.440001, 0.440001, 0.119997, 0.440001, 0.440001, 0.440001,
1183 0.119997, 0.591226, 0.204387, 0.204387, 0.204387, 0.591226, 0.204387,
1184 0.204387, 0.204387, 0.591226, 0.21689, 0.391555, 0.391555, 0.391555,
1185 0.21689, 0.391555, 0.391555, 0.391555, 0.21689, 0.461279, 0.269361,
1186 0.269361, 0.269361, 0.461279, 0.269361, 0.269361, 0.269361, 0.461279,
1187 0.00128916, 0.3893, 0.609411, 0.00128916, 0.609411, 0.3893, 0.3893,
1188 0.00128916, 0.609411, 0.3893, 0.609411, 0.00128916, 0.609411, 0.00128916,
1189 0.3893, 0.609411, 0.3893, 0.00128916, 0.00804616, 0.0399455, 0.952008,
1190 0.00804616, 0.952008, 0.0399455, 0.0399455, 0.00804616, 0.952008, 0.0399455,
1191 0.952008, 0.00804616, 0.952008, 0.00804616, 0.0399455, 0.952008, 0.0399455,
1192 0.00804616, 0.00397464, 0.177568, 0.818458, 0.00397464, 0.818458, 0.177568,
1193 0.177568, 0.00397464, 0.818458, 0.177568, 0.818458, 0.00397464, 0.818458,
1194 0.00397464, 0.177568, 0.818458, 0.177568, 0.00397464, 0.0056534, 0.0973044,
1195 0.897042, 0.0056534, 0.897042, 0.0973044, 0.0973044, 0.0056534, 0.897042,
1196 0.0973044, 0.897042, 0.0056534, 0.897042, 0.0056534, 0.0973044, 0.897042,
1197 0.0973044, 0.0056534, 0.0365416, 0.0473791, 0.916079, 0.0365416, 0.916079,
1198 0.0473791, 0.0473791, 0.0365416, 0.916079, 0.0473791, 0.916079, 0.0365416,
1199 0.916079, 0.0365416, 0.0473791, 0.916079, 0.0473791, 0.0365416, 0.00847203,
1200 0.276542, 0.714986, 0.00847203, 0.714986, 0.276542, 0.276542, 0.00847203,
1201 0.714986, 0.276542, 0.714986, 0.00847203, 0.714986, 0.00847203, 0.276542,
1202 0.714986, 0.276542, 0.00847203, 0.0318688, 0.10186, 0.866271, 0.0318688,
1203 0.866271, 0.10186, 0.10186, 0.0318688, 0.866271, 0.10186, 0.866271,
1204 0.0318688, 0.866271, 0.0318688, 0.10186, 0.866271, 0.10186, 0.0318688,
1205 0.0250745, 0.1799, 0.795025, 0.0250745, 0.795025, 0.1799, 0.1799,
1206 0.0250745, 0.795025, 0.1799, 0.795025, 0.0250745, 0.795025, 0.0250745,
1207 0.1799, 0.795025, 0.1799, 0.0250745, 0.0249546, 0.374761, 0.600284,
1208 0.0249546, 0.600284, 0.374761, 0.374761, 0.0249546, 0.600284, 0.374761,
1209 0.600284, 0.0249546, 0.600284, 0.0249546, 0.374761, 0.600284, 0.374761,
1210 0.0249546, 0.0718069, 0.162854, 0.765339, 0.0718069, 0.765339, 0.162854,
1211 0.162854, 0.0718069, 0.765339, 0.162854, 0.765339, 0.0718069, 0.765339,
1212 0.0718069, 0.162854, 0.765339, 0.162854, 0.0718069, 0.0464954, 0.263,
1213 0.690505, 0.0464954, 0.690505, 0.263, 0.263, 0.0464954, 0.690505,
1214 0.263, 0.690505, 0.0464954, 0.690505, 0.0464954, 0.263, 0.690505,
1215 0.263, 0.0464954, 0.0794457, 0.353875, 0.56668, 0.0794457, 0.56668,
1216 0.353875, 0.353875, 0.0794457, 0.56668, 0.353875, 0.56668, 0.0794457,
1217 0.56668, 0.0794457, 0.353875, 0.56668, 0.353875, 0.0794457, 0.112105,
1218 0.240453, 0.647442, 0.112105, 0.647442, 0.240453, 0.240453, 0.112105,
1219 0.647442, 0.240453, 0.647442, 0.112105, 0.647442, 0.112105, 0.240453,
1220 0.647442, 0.240453, 0.112105, 0.162887, 0.316329, 0.520784, 0.162887,
1221 0.520784, 0.316329, 0.316329, 0.162887, 0.520784, 0.316329, 0.520784,
1222 0.162887, 0.520784, 0.162887, 0.316329, 0.520784, 0.316329, 0.162887};
1223 inline static std::array<TScalar, 112> constexpr weights = {
1224 0.011469, 0.000383689, 0.000383689, 0.000383689, 0.00276179, 0.00276179, 0.00276179,
1225 0.0041925, 0.0041925, 0.0041925, 0.00610869, 0.00610869, 0.00610869, 0.0065352,
1226 0.0065352, 0.0065352, 0.00894061, 0.00894061, 0.00894061, 0.00911087, 0.00911087,
1227 0.00911087, 0.0108207, 0.0108207, 0.0108207, 0.0108442, 0.0108442, 0.0108442,
1228 0.000873092, 0.000873092, 0.000873092, 0.000873092, 0.000873092, 0.000873092, 0.000919286,
1229 0.000919286, 0.000919286, 0.000919286, 0.000919286, 0.000919286, 0.000999468, 0.000999468,
1230 0.000999468, 0.000999468, 0.000999468, 0.000999468, 0.00103185, 0.00103185, 0.00103185,
1231 0.00103185, 0.00103185, 0.00103185, 0.0011477, 0.0011477, 0.0011477, 0.0011477,
1232 0.0011477, 0.0011477, 0.00228976, 0.00228976, 0.00228976, 0.00228976, 0.00228976,
1233 0.00228976, 0.00264662, 0.00264662, 0.00264662, 0.00264662, 0.00264662, 0.00264662,
1234 0.00278937, 0.00278937, 0.00278937, 0.00278937, 0.00278937, 0.00278937, 0.00430967,
1235 0.00430967, 0.00430967, 0.00430967, 0.00430967, 0.00430967, 0.00499618, 0.00499618,
1236 0.00499618, 0.00499618, 0.00499618, 0.00499618, 0.00515281, 0.00515281, 0.00515281,
1237 0.00515281, 0.00515281, 0.00515281, 0.00730227, 0.00730227, 0.00730227, 0.00730227,
1238 0.00730227, 0.00730227, 0.00749925, 0.00749925, 0.00749925, 0.00749925, 0.00749925,
1239 0.00749925, 0.00961539, 0.00961539, 0.00961539, 0.00961539, 0.00961539, 0.00961539};
1240};
1241
1242template <common::CFloatingPoint TScalar>
1243struct SymmetricSimplexPolynomialQuadratureRule<2, 25, TScalar>
1244{
1245 inline static std::uint8_t constexpr kDims = 2;
1246 inline static std::uint16_t constexpr kPoints = 126;
1247 inline static std::uint8_t constexpr kOrder = 25;
1248 inline static std::array<TScalar, 378> constexpr points = {
1249 0.0279465, 0.486027, 0.486027, 0.486027, 0.0279465, 0.486027, 0.486027,
1250 0.486027, 0.0279465, 0.131179, 0.434411, 0.434411, 0.434411, 0.131179,
1251 0.434411, 0.434411, 0.434411, 0.131179, 0.220222, 0.389889, 0.389889,
1252 0.389889, 0.220222, 0.389889, 0.389889, 0.389889, 0.220222, 0.403114,
1253 0.298443, 0.298443, 0.298443, 0.403114, 0.298443, 0.298443, 0.298443,
1254 0.403114, 0.531912, 0.234044, 0.234044, 0.234044, 0.531912, 0.234044,
1255 0.234044, 0.234044, 0.531912, 0.697063, 0.151468, 0.151468, 0.151468,
1256 0.697063, 0.151468, 0.151468, 0.151468, 0.697063, 0.774532, 0.112734,
1257 0.112734, 0.112734, 0.774532, 0.112734, 0.112734, 0.112734, 0.774532,
1258 0.844569, 0.0777157, 0.0777157, 0.0777157, 0.844569, 0.0777157, 0.0777157,
1259 0.0777157, 0.844569, 0.930214, 0.0348931, 0.0348931, 0.0348931, 0.930214,
1260 0.0348931, 0.0348931, 0.0348931, 0.930214, 0.985484, 0.00725818, 0.00725818,
1261 0.00725818, 0.985484, 0.00725818, 0.00725818, 0.00725818, 0.985484, 0.00129235,
1262 0.227214, 0.771493, 0.00129235, 0.771493, 0.227214, 0.227214, 0.00129235,
1263 0.771493, 0.227214, 0.771493, 0.00129235, 0.771493, 0.00129235, 0.227214,
1264 0.771493, 0.227214, 0.00129235, 0.0053997, 0.435011, 0.55959, 0.0053997,
1265 0.55959, 0.435011, 0.435011, 0.0053997, 0.55959, 0.435011, 0.55959,
1266 0.0053997, 0.55959, 0.0053997, 0.435011, 0.55959, 0.435011, 0.0053997,
1267 0.006384, 0.32031, 0.673306, 0.006384, 0.673306, 0.32031, 0.32031,
1268 0.006384, 0.673306, 0.32031, 0.673306, 0.006384, 0.673306, 0.006384,
1269 0.32031, 0.673306, 0.32031, 0.006384, 0.00502821, 0.0917503, 0.903221,
1270 0.00502821, 0.903221, 0.0917503, 0.0917503, 0.00502821, 0.903221, 0.0917503,
1271 0.903221, 0.00502821, 0.903221, 0.00502821, 0.0917503, 0.903221, 0.0917503,
1272 0.00502821, 0.00682676, 0.0380108, 0.955162, 0.00682676, 0.955162, 0.0380108,
1273 0.0380108, 0.00682676, 0.955162, 0.0380108, 0.955162, 0.00682676, 0.955162,
1274 0.00682676, 0.0380108, 0.955162, 0.0380108, 0.00682676, 0.0100162, 0.157425,
1275 0.832559, 0.0100162, 0.832559, 0.157425, 0.157425, 0.0100162, 0.832559,
1276 0.157425, 0.832559, 0.0100162, 0.832559, 0.0100162, 0.157425, 0.832559,
1277 0.157425, 0.0100162, 0.0257578, 0.23989, 0.734353, 0.0257578, 0.734353,
1278 0.23989, 0.23989, 0.0257578, 0.734353, 0.23989, 0.734353, 0.0257578,
1279 0.734353, 0.0257578, 0.23989, 0.734353, 0.23989, 0.0257578, 0.0302279,
1280 0.361943, 0.607829, 0.0302279, 0.607829, 0.361943, 0.361943, 0.0302279,
1281 0.607829, 0.361943, 0.607829, 0.0302279, 0.607829, 0.0302279, 0.361943,
1282 0.607829, 0.361943, 0.0302279, 0.030505, 0.083552, 0.885943, 0.030505,
1283 0.885943, 0.083552, 0.083552, 0.030505, 0.885943, 0.083552, 0.885943,
1284 0.030505, 0.885943, 0.030505, 0.083552, 0.885943, 0.083552, 0.030505,
1285 0.0459565, 0.148443, 0.8056, 0.0459565, 0.8056, 0.148443, 0.148443,
1286 0.0459565, 0.8056, 0.148443, 0.8056, 0.0459565, 0.8056, 0.0459565,
1287 0.148443, 0.8056, 0.148443, 0.0459565, 0.0674428, 0.28374, 0.648817,
1288 0.0674428, 0.648817, 0.28374, 0.28374, 0.0674428, 0.648817, 0.28374,
1289 0.648817, 0.0674428, 0.648817, 0.0674428, 0.28374, 0.648817, 0.28374,
1290 0.0674428, 0.0700451, 0.406899, 0.523056, 0.0700451, 0.523056, 0.406899,
1291 0.406899, 0.0700451, 0.523056, 0.406899, 0.523056, 0.0700451, 0.523056,
1292 0.0700451, 0.406899, 0.523056, 0.406899, 0.0700451, 0.0839115, 0.194114,
1293 0.721974, 0.0839115, 0.721974, 0.194114, 0.194114, 0.0839115, 0.721974,
1294 0.194114, 0.721974, 0.0839115, 0.721974, 0.0839115, 0.194114, 0.721974,
1295 0.194114, 0.0839115, 0.120376, 0.324134, 0.55549, 0.120376, 0.55549,
1296 0.324134, 0.324134, 0.120376, 0.55549, 0.324134, 0.55549, 0.120376,
1297 0.55549, 0.120376, 0.324134, 0.55549, 0.324134, 0.120376, 0.148067,
1298 0.229277, 0.622656, 0.148067, 0.622656, 0.229277, 0.229277, 0.148067,
1299 0.622656, 0.229277, 0.622656, 0.148067, 0.622656, 0.148067, 0.229277,
1300 0.622656, 0.229277, 0.148067, 0.191772, 0.325618, 0.48261, 0.191772,
1301 0.48261, 0.325618, 0.325618, 0.191772, 0.48261, 0.325618, 0.48261,
1302 0.191772, 0.48261, 0.191772, 0.325618, 0.48261, 0.325618, 0.191772};
1303 inline static std::array<TScalar, 126> constexpr weights = {
1304 0.00400279, 0.00400279, 0.00400279, 0.00797354, 0.00797354, 0.00797354, 0.00655457,
1305 0.00655457, 0.00655457, 0.0097915, 0.0097915, 0.0097915, 0.00823544, 0.00823544,
1306 0.00823544, 0.00427364, 0.00427364, 0.00427364, 0.00408094, 0.00408094, 0.00408094,
1307 0.00306057, 0.00306057, 0.00306057, 0.00145425, 0.00145425, 0.00145425, 0.000346138,
1308 0.000346138, 0.000346138, 0.000624145, 0.000624145, 0.000624145, 0.000624145, 0.000624145,
1309 0.000624145, 0.00170238, 0.00170238, 0.00170238, 0.00170238, 0.00170238, 0.00170238,
1310 0.00167983, 0.00167983, 0.00167983, 0.00167983, 0.00167983, 0.00167983, 0.000858078,
1311 0.000858078, 0.000858078, 0.000858078, 0.000858078, 0.000858078, 0.000740428, 0.000740428,
1312 0.000740428, 0.000740428, 0.000740428, 0.000740428, 0.00175566, 0.00175566, 0.00175566,
1313 0.00175566, 0.00175566, 0.00175566, 0.00369678, 0.00369678, 0.00369678, 0.00369678,
1314 0.00369678, 0.00369678, 0.00399154, 0.00399154, 0.00399154, 0.00399154, 0.00399154,
1315 0.00399154, 0.00217798, 0.00217798, 0.00217798, 0.00217798, 0.00217798, 0.00217798,
1316 0.00368253, 0.00368253, 0.00368253, 0.00368253, 0.00368253, 0.00368253, 0.00548179,
1317 0.00548179, 0.00548179, 0.00548179, 0.00548179, 0.00548179, 0.00587498, 0.00587498,
1318 0.00587498, 0.00587498, 0.00587498, 0.00587498, 0.0050078, 0.0050078, 0.0050078,
1319 0.0050078, 0.0050078, 0.0050078, 0.00665482, 0.00665482, 0.00665482, 0.00665482,
1320 0.00665482, 0.00665482, 0.00707722, 0.00707722, 0.00707722, 0.00707722, 0.00707722,
1321 0.00707722, 0.00744069, 0.00744069, 0.00744069, 0.00744069, 0.00744069, 0.00744069};
1322};
1323
1324template <common::CFloatingPoint TScalar>
1325struct SymmetricSimplexPolynomialQuadratureRule<2, 26, TScalar>
1326{
1327 inline static std::uint8_t constexpr kDims = 2;
1328 inline static std::uint16_t constexpr kPoints = 133;
1329 inline static std::uint8_t constexpr kOrder = 26;
1330 inline static std::array<TScalar, 399> constexpr points = {
1331 0.333333, 0.333333, 0.333333, 0.145238, 0.427381, 0.427381, 0.427381,
1332 0.145238, 0.427381, 0.427381, 0.427381, 0.145238, 0.226017, 0.386992,
1333 0.386992, 0.386992, 0.226017, 0.386992, 0.386992, 0.386992, 0.226017,
1334 0.418397, 0.290802, 0.290802, 0.290802, 0.418397, 0.290802, 0.290802,
1335 0.290802, 0.418397, 0.560898, 0.219551, 0.219551, 0.219551, 0.560898,
1336 0.219551, 0.219551, 0.219551, 0.560898, 0.717045, 0.141478, 0.141478,
1337 0.141478, 0.717045, 0.141478, 0.141478, 0.141478, 0.717045, 0.829405,
1338 0.0852977, 0.0852977, 0.0852977, 0.829405, 0.0852977, 0.0852977, 0.0852977,
1339 0.829405, 0.935092, 0.0324538, 0.0324538, 0.0324538, 0.935092, 0.0324538,
1340 0.0324538, 0.0324538, 0.935092, 0.986229, 0.00688529, 0.00688529, 0.00688529,
1341 0.986229, 0.00688529, 0.00688529, 0.00688529, 0.986229, 0.439945, 0.553674,
1342 0.00638057, 0.439945, 0.00638057, 0.553674, 0.553674, 0.439945, 0.00638057,
1343 0.553674, 0.00638057, 0.439945, 0.00638057, 0.439945, 0.553674, 0.00638057,
1344 0.553674, 0.439945, 0.329997, 0.663643, 0.00635977, 0.329997, 0.00635977,
1345 0.663643, 0.663643, 0.329997, 0.00635977, 0.663643, 0.00635977, 0.329997,
1346 0.00635977, 0.329997, 0.663643, 0.00635977, 0.663643, 0.329997, 0.23083,
1347 0.763089, 0.00608177, 0.23083, 0.00608177, 0.763089, 0.763089, 0.23083,
1348 0.00608177, 0.763089, 0.00608177, 0.23083, 0.00608177, 0.23083, 0.763089,
1349 0.00608177, 0.763089, 0.23083, 0.147944, 0.846743, 0.00531295, 0.147944,
1350 0.00531295, 0.846743, 0.846743, 0.147944, 0.00531295, 0.846743, 0.00531295,
1351 0.147944, 0.00531295, 0.147944, 0.846743, 0.00531295, 0.846743, 0.147944,
1352 0.0833105, 0.909278, 0.00741197, 0.0833105, 0.00741197, 0.909278, 0.909278,
1353 0.0833105, 0.00741197, 0.909278, 0.00741197, 0.0833105, 0.00741197, 0.0833105,
1354 0.909278, 0.00741197, 0.909278, 0.0833105, 0.0355026, 0.958596, 0.00590183,
1355 0.0355026, 0.00590183, 0.958596, 0.958596, 0.0355026, 0.00590183, 0.958596,
1356 0.00590183, 0.0355026, 0.00590183, 0.0355026, 0.958596, 0.00590183, 0.958596,
1357 0.0355026, 0.437993, 0.52875, 0.033257, 0.437993, 0.033257, 0.52875,
1358 0.52875, 0.437993, 0.033257, 0.52875, 0.033257, 0.437993, 0.033257,
1359 0.437993, 0.52875, 0.033257, 0.52875, 0.437993, 0.341845, 0.625011,
1360 0.0331442, 0.341845, 0.0331442, 0.625011, 0.625011, 0.341845, 0.0331442,
1361 0.625011, 0.0331442, 0.341845, 0.0331442, 0.341845, 0.625011, 0.0331442,
1362 0.625011, 0.341845, 0.24322, 0.724645, 0.0321354, 0.24322, 0.0321354,
1363 0.724645, 0.724645, 0.24322, 0.0321354, 0.724645, 0.0321354, 0.24322,
1364 0.0321354, 0.24322, 0.724645, 0.0321354, 0.724645, 0.24322, 0.153694,
1365 0.816688, 0.0296183, 0.153694, 0.0296183, 0.816688, 0.816688, 0.153694,
1366 0.0296183, 0.816688, 0.0296183, 0.153694, 0.0296183, 0.153694, 0.816688,
1367 0.0296183, 0.816688, 0.153694, 0.0818282, 0.881377, 0.0367944, 0.0818282,
1368 0.0367944, 0.881377, 0.881377, 0.0818282, 0.0367944, 0.881377, 0.0367944,
1369 0.0818282, 0.0367944, 0.0818282, 0.881377, 0.0367944, 0.881377, 0.0818282,
1370 0.405435, 0.514443, 0.0801218, 0.405435, 0.0801218, 0.514443, 0.514443,
1371 0.405435, 0.0801218, 0.514443, 0.0801218, 0.405435, 0.0801218, 0.405435,
1372 0.514443, 0.0801218, 0.514443, 0.405435, 0.300475, 0.620597, 0.0789278,
1373 0.300475, 0.0789278, 0.620597, 0.620597, 0.300475, 0.0789278, 0.620597,
1374 0.0789278, 0.300475, 0.0789278, 0.300475, 0.620597, 0.0789278, 0.620597,
1375 0.300475, 0.210299, 0.712605, 0.0770965, 0.210299, 0.0770965, 0.712605,
1376 0.712605, 0.210299, 0.0770965, 0.712605, 0.0770965, 0.210299, 0.0770965,
1377 0.210299, 0.712605, 0.0770965, 0.712605, 0.210299, 0.141929, 0.783644,
1378 0.0744263, 0.141929, 0.0744263, 0.783644, 0.783644, 0.141929, 0.0744263,
1379 0.783644, 0.0744263, 0.141929, 0.0744263, 0.141929, 0.783644, 0.0744263,
1380 0.783644, 0.141929, 0.322826, 0.53539, 0.141785, 0.322826, 0.141785,
1381 0.53539, 0.53539, 0.322826, 0.141785, 0.53539, 0.141785, 0.322826,
1382 0.141785, 0.322826, 0.53539, 0.141785, 0.53539, 0.322826, 0.225039,
1383 0.633993, 0.140968, 0.225039, 0.140968, 0.633993, 0.633993, 0.225039,
1384 0.140968, 0.633993, 0.140968, 0.225039, 0.140968, 0.225039, 0.633993,
1385 0.140968, 0.633993, 0.225039, 0.306228, 0.480239, 0.213533, 0.306228,
1386 0.213533, 0.480239, 0.480239, 0.306228, 0.213533, 0.480239, 0.213533,
1387 0.306228, 0.213533, 0.306228, 0.480239, 0.213533, 0.480239, 0.306228};
1388 inline static std::array<TScalar, 133> constexpr weights = {
1389 0.00708876, 0.00781424, 0.00781424, 0.00781424, 0.00731876, 0.00731876, 0.00731876,
1390 0.00599939, 0.00599939, 0.00599939, 0.00704464, 0.00704464, 0.00704464, 0.00568545,
1391 0.00568545, 0.00568545, 0.00288074, 0.00288074, 0.00288074, 0.00144024, 0.00144024,
1392 0.00144024, 0.000308962, 0.000308962, 0.000308962, 0.0018471, 0.0018471, 0.0018471,
1393 0.0018471, 0.0018471, 0.0018471, 0.001719, 0.001719, 0.001719, 0.001719,
1394 0.001719, 0.001719, 0.00143077, 0.00143077, 0.00143077, 0.00143077, 0.00143077,
1395 0.00143077, 0.00101963, 0.00101963, 0.00101963, 0.00101963, 0.00101963, 0.00101963,
1396 0.0010613, 0.0010613, 0.0010613, 0.0010613, 0.0010613, 0.0010613, 0.000597813,
1397 0.000597813, 0.000597813, 0.000597813, 0.000597813, 0.000597813, 0.0034287, 0.0034287,
1398 0.0034287, 0.0034287, 0.0034287, 0.0034287, 0.0036718, 0.0036718, 0.0036718,
1399 0.0036718, 0.0036718, 0.0036718, 0.0034619, 0.0034619, 0.0034619, 0.0034619,
1400 0.0034619, 0.0034619, 0.00284017, 0.00284017, 0.00284017, 0.00284017, 0.00284017,
1401 0.00284017, 0.00241451, 0.00241451, 0.00241451, 0.00241451, 0.00241451, 0.00241451,
1402 0.00608508, 0.00608508, 0.00608508, 0.00608508, 0.00608508, 0.00608508, 0.00546699,
1403 0.00546699, 0.00546699, 0.00546699, 0.00546699, 0.00546699, 0.00437236, 0.00437236,
1404 0.00437236, 0.00437236, 0.00437236, 0.00437236, 0.00340302, 0.00340302, 0.00340302,
1405 0.00340302, 0.00340302, 0.00340302, 0.00705795, 0.00705795, 0.00705795, 0.00705795,
1406 0.00705795, 0.00705795, 0.00655739, 0.00655739, 0.00655739, 0.00655739, 0.00655739,
1407 0.00655739, 0.00647017, 0.00647017, 0.00647017, 0.00647017, 0.00647017, 0.00647017};
1408};
1409
1410template <common::CFloatingPoint TScalar>
1411struct SymmetricSimplexPolynomialQuadratureRule<2, 27, TScalar>
1412{
1413 inline static std::uint8_t constexpr kDims = 2;
1414 inline static std::uint16_t constexpr kPoints = 145;
1415 inline static std::uint8_t constexpr kOrder = 27;
1416 inline static std::array<TScalar, 435> constexpr points = {
1417 0.333333, 0.333333, 0.333333, 0.0714583, 0.464271, 0.464271, 0.464271,
1418 0.0714583, 0.464271, 0.464271, 0.464271, 0.0714583, 0.135403, 0.432298,
1419 0.432298, 0.432298, 0.135403, 0.432298, 0.432298, 0.432298, 0.135403,
1420 0.218492, 0.390754, 0.390754, 0.390754, 0.218492, 0.390754, 0.390754,
1421 0.390754, 0.218492, 0.400302, 0.299849, 0.299849, 0.299849, 0.400302,
1422 0.299849, 0.299849, 0.299849, 0.400302, 0.515228, 0.242386, 0.242386,
1423 0.242386, 0.515228, 0.242386, 0.242386, 0.242386, 0.515228, 0.608497,
1424 0.195752, 0.195752, 0.195752, 0.608497, 0.195752, 0.195752, 0.195752,
1425 0.608497, 0.778072, 0.110964, 0.110964, 0.110964, 0.778072, 0.110964,
1426 0.110964, 0.110964, 0.778072, 0.864301, 0.0678494, 0.0678494, 0.0678494,
1427 0.864301, 0.0678494, 0.0678494, 0.0678494, 0.864301, 0.935024, 0.0324881,
1428 0.0324881, 0.0324881, 0.935024, 0.0324881, 0.0324881, 0.0324881, 0.935024,
1429 0.985955, 0.00702227, 0.00702227, 0.00702227, 0.985955, 0.00702227, 0.00702227,
1430 0.00702227, 0.985955, 0.444334, 0.550169, 0.00549635, 0.444334, 0.00549635,
1431 0.550169, 0.550169, 0.444334, 0.00549635, 0.550169, 0.00549635, 0.444334,
1432 0.00549635, 0.444334, 0.550169, 0.00549635, 0.550169, 0.444334, 0.24272,
1433 0.751199, 0.00608143, 0.24272, 0.00608143, 0.751199, 0.751199, 0.24272,
1434 0.00608143, 0.751199, 0.00608143, 0.24272, 0.00608143, 0.24272, 0.751199,
1435 0.00608143, 0.751199, 0.24272, 0.158189, 0.838351, 0.00346038, 0.158189,
1436 0.00346038, 0.838351, 0.838351, 0.158189, 0.00346038, 0.838351, 0.00346038,
1437 0.158189, 0.00346038, 0.158189, 0.838351, 0.00346038, 0.838351, 0.158189,
1438 0.0884556, 0.906294, 0.00525028, 0.0884556, 0.00525028, 0.906294, 0.906294,
1439 0.0884556, 0.00525028, 0.906294, 0.00525028, 0.0884556, 0.00525028, 0.0884556,
1440 0.906294, 0.00525028, 0.906294, 0.0884556, 0.339993, 0.653722, 0.00628496,
1441 0.339993, 0.00628496, 0.653722, 0.653722, 0.339993, 0.00628496, 0.653722,
1442 0.00628496, 0.339993, 0.00628496, 0.339993, 0.653722, 0.00628496, 0.653722,
1443 0.339993, 0.0367115, 0.957246, 0.00604241, 0.0367115, 0.00604241, 0.957246,
1444 0.957246, 0.0367115, 0.00604241, 0.957246, 0.00604241, 0.0367115, 0.00604241,
1445 0.0367115, 0.957246, 0.00604241, 0.957246, 0.0367115, 0.0812403, 0.891779,
1446 0.0269805, 0.0812403, 0.0269805, 0.891779, 0.891779, 0.0812403, 0.0269805,
1447 0.891779, 0.0269805, 0.0812403, 0.0269805, 0.0812403, 0.891779, 0.0269805,
1448 0.891779, 0.0812403, 0.43195, 0.538923, 0.0291267, 0.43195, 0.0291267,
1449 0.538923, 0.538923, 0.43195, 0.0291267, 0.538923, 0.0291267, 0.43195,
1450 0.0291267, 0.43195, 0.538923, 0.0291267, 0.538923, 0.43195, 0.326997,
1451 0.640471, 0.0325322, 0.326997, 0.0325322, 0.640471, 0.640471, 0.326997,
1452 0.0325322, 0.640471, 0.0325322, 0.326997, 0.0325322, 0.326997, 0.640471,
1453 0.0325322, 0.640471, 0.326997, 0.234081, 0.734316, 0.0316029, 0.234081,
1454 0.0316029, 0.734316, 0.734316, 0.234081, 0.0316029, 0.734316, 0.0316029,
1455 0.234081, 0.0316029, 0.234081, 0.734316, 0.0316029, 0.734316, 0.234081,
1456 0.153474, 0.824923, 0.0216037, 0.153474, 0.0216037, 0.824923, 0.824923,
1457 0.153474, 0.0216037, 0.824923, 0.0216037, 0.153474, 0.0216037, 0.153474,
1458 0.824923, 0.0216037, 0.824923, 0.153474, 0.126999, 0.816885, 0.0561157,
1459 0.126999, 0.0561157, 0.816885, 0.816885, 0.126999, 0.0561157, 0.816885,
1460 0.0561157, 0.126999, 0.0561157, 0.126999, 0.816885, 0.0561157, 0.816885,
1461 0.126999, 0.368067, 0.559341, 0.0725929, 0.368067, 0.0725929, 0.559341,
1462 0.559341, 0.368067, 0.0725929, 0.559341, 0.0725929, 0.368067, 0.0725929,
1463 0.368067, 0.559341, 0.0725929, 0.559341, 0.368067, 0.269796, 0.650886,
1464 0.079318, 0.269796, 0.079318, 0.650886, 0.650886, 0.269796, 0.079318,
1465 0.650886, 0.079318, 0.269796, 0.079318, 0.269796, 0.650886, 0.079318,
1466 0.650886, 0.269796, 0.186995, 0.744996, 0.0680093, 0.186995, 0.0680093,
1467 0.744996, 0.744996, 0.186995, 0.0680093, 0.744996, 0.0680093, 0.186995,
1468 0.0680093, 0.186995, 0.744996, 0.0680093, 0.744996, 0.186995, 0.34595,
1469 0.527094, 0.126955, 0.34595, 0.126955, 0.527094, 0.527094, 0.34595,
1470 0.126955, 0.527094, 0.126955, 0.34595, 0.126955, 0.34595, 0.527094,
1471 0.126955, 0.527094, 0.34595, 0.182456, 0.693858, 0.123686, 0.182456,
1472 0.123686, 0.693858, 0.693858, 0.182456, 0.123686, 0.693858, 0.123686,
1473 0.182456, 0.123686, 0.182456, 0.693858, 0.123686, 0.693858, 0.182456,
1474 0.260184, 0.594784, 0.145032, 0.260184, 0.145032, 0.594784, 0.594784,
1475 0.260184, 0.145032, 0.594784, 0.145032, 0.260184, 0.145032, 0.260184,
1476 0.594784, 0.145032, 0.594784, 0.260184, 0.319849, 0.482373, 0.197778,
1477 0.319849, 0.197778, 0.482373, 0.482373, 0.319849, 0.197778, 0.482373,
1478 0.197778, 0.319849, 0.197778, 0.319849, 0.482373, 0.197778, 0.482373,
1479 0.319849};
1480 inline static std::array<TScalar, 145> constexpr weights = {
1481 0.000663227, 0.00508803, 0.00508803, 0.00508803, 0.00677682, 0.00677682, 0.00677682,
1482 0.00717788, 0.00717788, 0.00717788, 0.00881077, 0.00881077, 0.00881077, 0.00643228,
1483 0.00643228, 0.00643228, 0.0051056, 0.0051056, 0.0051056, 0.00402742, 0.00402742,
1484 0.00402742, 0.00242542, 0.00242542, 0.00242542, 0.00138017, 0.00138017, 0.00138017,
1485 0.00032326, 0.00032326, 0.00032326, 0.0014914, 0.0014914, 0.0014914, 0.0014914,
1486 0.0014914, 0.0014914, 0.00143445, 0.00143445, 0.00143445, 0.00143445, 0.00143445,
1487 0.00143445, 0.000733859, 0.000733859, 0.000733859, 0.000733859, 0.000733859, 0.000733859,
1488 0.000817728, 0.000817728, 0.000817728, 0.000817728, 0.000817728, 0.000817728, 0.00163135,
1489 0.00163135, 0.00163135, 0.00163135, 0.00163135, 0.00163135, 0.000639152, 0.000639152,
1490 0.000639152, 0.000639152, 0.000639152, 0.000639152, 0.00177527, 0.00177527, 0.00177527,
1491 0.00177527, 0.00177527, 0.00177527, 0.00352844, 0.00352844, 0.00352844, 0.00352844,
1492 0.00352844, 0.00352844, 0.00355437, 0.00355437, 0.00355437, 0.00355437, 0.00355437,
1493 0.00355437, 0.00309666, 0.00309666, 0.00309666, 0.00309666, 0.00309666, 0.00309666,
1494 0.00215287, 0.00215287, 0.00215287, 0.00215287, 0.00215287, 0.00215287, 0.00269076,
1495 0.00269076, 0.00269076, 0.00269076, 0.00269076, 0.00269076, 0.00473074, 0.00473074,
1496 0.00473074, 0.00473074, 0.00473074, 0.00473074, 0.00519388, 0.00519388, 0.00519388,
1497 0.00519388, 0.00519388, 0.00519388, 0.00346871, 0.00346871, 0.00346871, 0.00346871,
1498 0.00346871, 0.00346871, 0.00528393, 0.00528393, 0.00528393, 0.00528393, 0.00528393,
1499 0.00528393, 0.00500796, 0.00500796, 0.00500796, 0.00500796, 0.00500796, 0.00500796,
1500 0.00572888, 0.00572888, 0.00572888, 0.00572888, 0.00572888, 0.00572888, 0.00648855,
1501 0.00648855, 0.00648855, 0.00648855, 0.00648855, 0.00648855};
1502};
1503
1504template <common::CFloatingPoint TScalar>
1505struct SymmetricSimplexPolynomialQuadratureRule<2, 28, TScalar>
1506{
1507 inline static std::uint8_t constexpr kDims = 2;
1508 inline static std::uint16_t constexpr kPoints = 154;
1509 inline static std::uint8_t constexpr kOrder = 28;
1510 inline static std::array<TScalar, 462> constexpr points = {
1511 0.333333, 0.333333, 0.333333, 0.00329317, 0.498353, 0.498353, 0.498353,
1512 0.00329317, 0.498353, 0.498353, 0.498353, 0.00329317, 0.0228745, 0.488563,
1513 0.488563, 0.488563, 0.0228745, 0.488563, 0.488563, 0.488563, 0.0228745,
1514 0.070437, 0.464781, 0.464781, 0.464781, 0.070437, 0.464781, 0.464781,
1515 0.464781, 0.070437, 0.220467, 0.389766, 0.389766, 0.389766, 0.220467,
1516 0.389766, 0.389766, 0.389766, 0.220467, 0.396906, 0.301547, 0.301547,
1517 0.301547, 0.396906, 0.301547, 0.301547, 0.301547, 0.396906, 0.476852,
1518 0.261574, 0.261574, 0.261574, 0.476852, 0.261574, 0.261574, 0.261574,
1519 0.476852, 0.571784, 0.214108, 0.214108, 0.214108, 0.571784, 0.214108,
1520 0.214108, 0.214108, 0.571784, 0.659724, 0.170138, 0.170138, 0.170138,
1521 0.659724, 0.170138, 0.170138, 0.170138, 0.659724, 0.871258, 0.0643708,
1522 0.0643708, 0.0643708, 0.871258, 0.0643708, 0.0643708, 0.0643708, 0.871258,
1523 0.93888, 0.03056, 0.03056, 0.03056, 0.93888, 0.03056, 0.03056,
1524 0.03056, 0.93888, 0.988581, 0.00570941, 0.00570941, 0.00570941, 0.988581,
1525 0.00570941, 0.00570941, 0.00570941, 0.988581, 0.295362, 0.700854, 0.00378496,
1526 0.295362, 0.00378496, 0.700854, 0.700854, 0.295362, 0.00378496, 0.700854,
1527 0.00378496, 0.295362, 0.00378496, 0.295362, 0.700854, 0.00378496, 0.700854,
1528 0.295362, 0.202877, 0.791936, 0.00518768, 0.202877, 0.00518768, 0.791936,
1529 0.791936, 0.202877, 0.00518768, 0.791936, 0.00518768, 0.202877, 0.00518768,
1530 0.202877, 0.791936, 0.00518768, 0.791936, 0.202877, 0.128179, 0.867015,
1531 0.00480546, 0.128179, 0.00480546, 0.867015, 0.867015, 0.128179, 0.00480546,
1532 0.867015, 0.00480546, 0.128179, 0.00480546, 0.128179, 0.867015, 0.00480546,
1533 0.867015, 0.128179, 0.0705254, 0.92392, 0.00555469, 0.0705254, 0.00555469,
1534 0.92392, 0.92392, 0.0705254, 0.00555469, 0.92392, 0.00555469, 0.0705254,
1535 0.00555469, 0.0705254, 0.92392, 0.00555469, 0.92392, 0.0705254, 0.395326,
1536 0.597713, 0.00696062, 0.395326, 0.00696062, 0.597713, 0.597713, 0.395326,
1537 0.00696062, 0.597713, 0.00696062, 0.395326, 0.00696062, 0.395326, 0.597713,
1538 0.00696062, 0.597713, 0.395326, 0.0295683, 0.964653, 0.0057792, 0.0295683,
1539 0.0057792, 0.964653, 0.964653, 0.0295683, 0.0057792, 0.964653, 0.0057792,
1540 0.0295683, 0.0057792, 0.0295683, 0.964653, 0.0057792, 0.964653, 0.0295683,
1541 0.306751, 0.668501, 0.0247482, 0.306751, 0.0247482, 0.668501, 0.668501,
1542 0.306751, 0.0247482, 0.668501, 0.0247482, 0.306751, 0.0247482, 0.306751,
1543 0.668501, 0.0247482, 0.668501, 0.306751, 0.225172, 0.751323, 0.0235055,
1544 0.225172, 0.0235055, 0.751323, 0.751323, 0.225172, 0.0235055, 0.751323,
1545 0.0235055, 0.225172, 0.0235055, 0.225172, 0.751323, 0.0235055, 0.751323,
1546 0.225172, 0.0763589, 0.896119, 0.0275217, 0.0763589, 0.0275217, 0.896119,
1547 0.896119, 0.0763589, 0.0275217, 0.896119, 0.0275217, 0.0763589, 0.0275217,
1548 0.0763589, 0.896119, 0.0275217, 0.896119, 0.0763589, 0.140425, 0.833282,
1549 0.026293, 0.140425, 0.026293, 0.833282, 0.833282, 0.140425, 0.026293,
1550 0.833282, 0.026293, 0.140425, 0.026293, 0.140425, 0.833282, 0.026293,
1551 0.833282, 0.140425, 0.391187, 0.570829, 0.0379835, 0.391187, 0.0379835,
1552 0.570829, 0.570829, 0.391187, 0.0379835, 0.570829, 0.0379835, 0.391187,
1553 0.0379835, 0.391187, 0.570829, 0.0379835, 0.570829, 0.391187, 0.193961,
1554 0.750103, 0.0559365, 0.193961, 0.0559365, 0.750103, 0.750103, 0.193961,
1555 0.0559365, 0.750103, 0.0559365, 0.193961, 0.0559365, 0.193961, 0.750103,
1556 0.0559365, 0.750103, 0.193961, 0.11586, 0.817775, 0.0663649, 0.11586,
1557 0.0663649, 0.817775, 0.817775, 0.11586, 0.0663649, 0.817775, 0.0663649,
1558 0.11586, 0.0663649, 0.11586, 0.817775, 0.0663649, 0.817775, 0.11586,
1559 0.280237, 0.655283, 0.0644801, 0.280237, 0.0644801, 0.655283, 0.655283,
1560 0.280237, 0.0644801, 0.655283, 0.0644801, 0.280237, 0.0644801, 0.280237,
1561 0.655283, 0.0644801, 0.655283, 0.280237, 0.354893, 0.557876, 0.087231,
1562 0.354893, 0.087231, 0.557876, 0.557876, 0.354893, 0.087231, 0.557876,
1563 0.087231, 0.354893, 0.087231, 0.354893, 0.557876, 0.087231, 0.557876,
1564 0.354893, 0.145342, 0.749655, 0.105003, 0.145342, 0.105003, 0.749655,
1565 0.749655, 0.145342, 0.105003, 0.749655, 0.105003, 0.145342, 0.105003,
1566 0.145342, 0.749655, 0.105003, 0.749655, 0.145342, 0.213536, 0.678156,
1567 0.108308, 0.213536, 0.108308, 0.678156, 0.678156, 0.213536, 0.108308,
1568 0.678156, 0.108308, 0.213536, 0.108308, 0.213536, 0.678156, 0.108308,
1569 0.678156, 0.213536, 0.38906, 0.474786, 0.136154, 0.38906, 0.136154,
1570 0.474786, 0.474786, 0.38906, 0.136154, 0.474786, 0.136154, 0.38906,
1571 0.136154, 0.38906, 0.474786, 0.136154, 0.474786, 0.38906, 0.275629,
1572 0.58603, 0.138341, 0.275629, 0.138341, 0.58603, 0.58603, 0.275629,
1573 0.138341, 0.58603, 0.138341, 0.275629, 0.138341, 0.275629, 0.58603,
1574 0.138341, 0.58603, 0.275629, 0.31378, 0.491511, 0.194709, 0.31378,
1575 0.194709, 0.491511, 0.491511, 0.31378, 0.194709, 0.491511, 0.194709,
1576 0.31378, 0.194709, 0.31378, 0.491511, 0.194709, 0.491511, 0.31378};
1577 inline static std::array<TScalar, 154> constexpr weights = {
1578 0.00186426, 0.000968272, 0.000968272, 0.000968272, 0.00302571, 0.00302571, 0.00302571,
1579 0.00570706, 0.00570706, 0.00570706, 0.00804004, 0.00804004, 0.00804004, 0.00701766,
1580 0.00701766, 0.00701766, 0.00489164, 0.00489164, 0.00489164, 0.00633915, 0.00633915,
1581 0.00633915, 0.00505706, 0.00505706, 0.00505706, 0.00188159, 0.00188159, 0.00188159,
1582 0.0012156, 0.0012156, 0.0012156, 0.000212945, 0.000212945, 0.000212945, 0.00103451,
1583 0.00103451, 0.00103451, 0.00103451, 0.00103451, 0.00103451, 0.00107716, 0.00107716,
1584 0.00107716, 0.00107716, 0.00107716, 0.00107716, 0.000830327, 0.000830327, 0.000830327,
1585 0.000830327, 0.000830327, 0.000830327, 0.00069042, 0.00069042, 0.00069042, 0.00069042,
1586 0.00069042, 0.00069042, 0.00180086, 0.00180086, 0.00180086, 0.00180086, 0.00180086,
1587 0.00180086, 0.000486931, 0.000486931, 0.000486931, 0.000486931, 0.000486931, 0.000486931,
1588 0.00267707, 0.00267707, 0.00267707, 0.00267707, 0.00267707, 0.00267707, 0.00211868,
1589 0.00211868, 0.00211868, 0.00211868, 0.00211868, 0.00211868, 0.00165424, 0.00165424,
1590 0.00165424, 0.00165424, 0.00165424, 0.00165424, 0.00224292, 0.00224292, 0.00224292,
1591 0.00224292, 0.00224292, 0.00224292, 0.00388278, 0.00388278, 0.00388278, 0.00388278,
1592 0.00388278, 0.00388278, 0.00343522, 0.00343522, 0.00343522, 0.00343522, 0.00343522,
1593 0.00343522, 0.00292034, 0.00292034, 0.00292034, 0.00292034, 0.00292034, 0.00292034,
1594 0.00444329, 0.00444329, 0.00444329, 0.00444329, 0.00444329, 0.00444329, 0.00519158,
1595 0.00519158, 0.00519158, 0.00519158, 0.00519158, 0.00519158, 0.00327564, 0.00327564,
1596 0.00327564, 0.00327564, 0.00327564, 0.00327564, 0.00438538, 0.00438538, 0.00438538,
1597 0.00438538, 0.00438538, 0.00438538, 0.00609446, 0.00609446, 0.00609446, 0.00609446,
1598 0.00609446, 0.00609446, 0.00625322, 0.00625322, 0.00625322, 0.00625322, 0.00625322,
1599 0.00625322, 0.00634924, 0.00634924, 0.00634924, 0.00634924, 0.00634924, 0.00634924};
1600};
1601
1602template <common::CFloatingPoint TScalar>
1603struct SymmetricSimplexPolynomialQuadratureRule<2, 29, TScalar>
1604{
1605 inline static std::uint8_t constexpr kDims = 2;
1606 inline static std::uint16_t constexpr kPoints = 166;
1607 inline static std::uint8_t constexpr kOrder = 29;
1608 inline static std::array<TScalar, 498> constexpr points = {
1609 0.333333, 0.333333, 0.333333, 0.00116747, 0.499416, 0.499416, 0.499416,
1610 0.00116747, 0.499416, 0.499416, 0.499416, 0.00116747, 0.0210331, 0.489483,
1611 0.489483, 0.489483, 0.0210331, 0.489483, 0.489483, 0.489483, 0.0210331,
1612 0.23325, 0.383375, 0.383375, 0.383375, 0.23325, 0.383375, 0.383375,
1613 0.383375, 0.23325, 0.426841, 0.28658, 0.28658, 0.28658, 0.426841,
1614 0.28658, 0.28658, 0.28658, 0.426841, 0.526485, 0.236757, 0.236757,
1615 0.236757, 0.526485, 0.236757, 0.236757, 0.236757, 0.526485, 0.631103,
1616 0.184449, 0.184449, 0.184449, 0.631103, 0.184449, 0.184449, 0.184449,
1617 0.631103, 0.808158, 0.095921, 0.095921, 0.095921, 0.808158, 0.095921,
1618 0.095921, 0.095921, 0.808158, 0.885347, 0.0573266, 0.0573266, 0.0573266,
1619 0.885347, 0.0573266, 0.0573266, 0.0573266, 0.885347, 0.992784, 0.00360815,
1620 0.00360815, 0.00360815, 0.992784, 0.00360815, 0.00360815, 0.00360815, 0.992784,
1621 0.324592, 0.673712, 0.0016962, 0.324592, 0.0016962, 0.673712, 0.673712,
1622 0.324592, 0.0016962, 0.673712, 0.0016962, 0.324592, 0.0016962, 0.324592,
1623 0.673712, 0.0016962, 0.673712, 0.324592, 0.205383, 0.792856, 0.00176119,
1624 0.205383, 0.00176119, 0.792856, 0.792856, 0.205383, 0.00176119, 0.792856,
1625 0.00176119, 0.205383, 0.00176119, 0.205383, 0.792856, 0.00176119, 0.792856,
1626 0.205383, 0.127817, 0.866823, 0.00536023, 0.127817, 0.00536023, 0.866823,
1627 0.866823, 0.127817, 0.00536023, 0.866823, 0.00536023, 0.127817, 0.00536023,
1628 0.127817, 0.866823, 0.00536023, 0.866823, 0.127817, 0.0639721, 0.93422,
1629 0.00180784, 0.0639721, 0.00180784, 0.93422, 0.93422, 0.0639721, 0.00180784,
1630 0.93422, 0.00180784, 0.0639721, 0.00180784, 0.0639721, 0.93422, 0.00180784,
1631 0.93422, 0.0639721, 0.408773, 0.583304, 0.00792304, 0.408773, 0.00792304,
1632 0.583304, 0.583304, 0.408773, 0.00792304, 0.583304, 0.00792304, 0.408773,
1633 0.00792304, 0.408773, 0.583304, 0.00792304, 0.583304, 0.408773, 0.260004,
1634 0.728202, 0.0117939, 0.260004, 0.0117939, 0.728202, 0.728202, 0.260004,
1635 0.0117939, 0.728202, 0.0117939, 0.260004, 0.0117939, 0.260004, 0.728202,
1636 0.0117939, 0.728202, 0.260004, 0.083701, 0.898465, 0.0178343, 0.083701,
1637 0.0178343, 0.898465, 0.898465, 0.083701, 0.0178343, 0.898465, 0.0178343,
1638 0.083701, 0.0178343, 0.083701, 0.898465, 0.0178343, 0.898465, 0.083701,
1639 0.0227772, 0.971586, 0.00563647, 0.0227772, 0.00563647, 0.971586, 0.971586,
1640 0.0227772, 0.00563647, 0.971586, 0.00563647, 0.0227772, 0.00563647, 0.0227772,
1641 0.971586, 0.00563647, 0.971586, 0.0227772, 0.332497, 0.642488, 0.0250147,
1642 0.332497, 0.0250147, 0.642488, 0.642488, 0.332497, 0.0250147, 0.642488,
1643 0.0250147, 0.332497, 0.0250147, 0.332497, 0.642488, 0.0250147, 0.642488,
1644 0.332497, 0.175468, 0.803433, 0.0210991, 0.175468, 0.0210991, 0.803433,
1645 0.803433, 0.175468, 0.0210991, 0.803433, 0.0210991, 0.175468, 0.0210991,
1646 0.175468, 0.803433, 0.0210991, 0.803433, 0.175468, 0.0423914, 0.937282,
1647 0.0203263, 0.0423914, 0.0203263, 0.937282, 0.937282, 0.0423914, 0.0203263,
1648 0.937282, 0.0203263, 0.0423914, 0.0203263, 0.0423914, 0.937282, 0.0203263,
1649 0.937282, 0.0423914, 0.238087, 0.716982, 0.0449311, 0.238087, 0.0449311,
1650 0.716982, 0.716982, 0.238087, 0.0449311, 0.716982, 0.0449311, 0.238087,
1651 0.0449311, 0.238087, 0.716982, 0.0449311, 0.716982, 0.238087, 0.11385,
1652 0.844311, 0.0418384, 0.11385, 0.0418384, 0.844311, 0.844311, 0.11385,
1653 0.0418384, 0.844311, 0.0418384, 0.11385, 0.0418384, 0.11385, 0.844311,
1654 0.0418384, 0.844311, 0.11385, 0.407699, 0.548247, 0.0440533, 0.407699,
1655 0.0440533, 0.548247, 0.548247, 0.407699, 0.0440533, 0.548247, 0.0440533,
1656 0.407699, 0.0440533, 0.407699, 0.548247, 0.0440533, 0.548247, 0.407699,
1657 0.30972, 0.622326, 0.0679545, 0.30972, 0.0679545, 0.622326, 0.622326,
1658 0.30972, 0.0679545, 0.622326, 0.0679545, 0.30972, 0.0679545, 0.30972,
1659 0.622326, 0.0679545, 0.622326, 0.30972, 0.165013, 0.767768, 0.0672195,
1660 0.165013, 0.0672195, 0.767768, 0.767768, 0.165013, 0.0672195, 0.767768,
1661 0.0672195, 0.165013, 0.0672195, 0.165013, 0.767768, 0.0672195, 0.767768,
1662 0.165013, 0.437365, 0.484689, 0.0779464, 0.437365, 0.0779464, 0.484689,
1663 0.484689, 0.437365, 0.0779464, 0.484689, 0.0779464, 0.437365, 0.0779464,
1664 0.437365, 0.484689, 0.0779464, 0.484689, 0.437365, 0.230362, 0.666276,
1665 0.103362, 0.230362, 0.103362, 0.666276, 0.666276, 0.230362, 0.103362,
1666 0.666276, 0.103362, 0.230362, 0.103362, 0.230362, 0.666276, 0.103362,
1667 0.666276, 0.230362, 0.353055, 0.540539, 0.106406, 0.353055, 0.106406,
1668 0.540539, 0.540539, 0.353055, 0.106406, 0.540539, 0.106406, 0.353055,
1669 0.106406, 0.353055, 0.540539, 0.106406, 0.540539, 0.353055, 0.158719,
1670 0.721199, 0.120082, 0.158719, 0.120082, 0.721199, 0.721199, 0.158719,
1671 0.120082, 0.721199, 0.120082, 0.158719, 0.120082, 0.158719, 0.721199,
1672 0.120082, 0.721199, 0.158719, 0.40215, 0.454827, 0.143023, 0.40215,
1673 0.143023, 0.454827, 0.454827, 0.40215, 0.143023, 0.454827, 0.143023,
1674 0.40215, 0.143023, 0.40215, 0.454827, 0.143023, 0.454827, 0.40215,
1675 0.271868, 0.577169, 0.150963, 0.271868, 0.150963, 0.577169, 0.577169,
1676 0.271868, 0.150963, 0.577169, 0.150963, 0.271868, 0.150963, 0.271868,
1677 0.577169, 0.150963, 0.577169, 0.271868, 0.328704, 0.478815, 0.192481,
1678 0.328704, 0.192481, 0.478815, 0.478815, 0.328704, 0.192481, 0.478815,
1679 0.192481, 0.328704, 0.192481, 0.328704, 0.478815, 0.192481, 0.478815,
1680 0.328704};
1681 inline static std::array<TScalar, 166> constexpr weights = {
1682 0.00695185, 0.000597035, 0.000597035, 0.000597035, 0.00279209, 0.00279209, 0.00279209,
1683 0.00700715, 0.00700715, 0.00700715, 0.0070539, 0.0070539, 0.0070539, 0.00671405,
1684 0.00671405, 0.00671405, 0.00608769, 0.00608769, 0.00608769, 0.00361147, 0.00361147,
1685 0.00361147, 0.00221876, 0.00221876, 0.00221876, 9.88594e-05, 9.88594e-05, 9.88594e-05,
1686 0.000645947, 0.000645947, 0.000645947, 0.000645947, 0.000645947, 0.000645947, 0.000563863,
1687 0.000563863, 0.000563863, 0.000563863, 0.000563863, 0.000563863, 0.000923726, 0.000923726,
1688 0.000923726, 0.000923726, 0.000923726, 0.000923726, 0.000358911, 0.000358911, 0.000358911,
1689 0.000358911, 0.000358911, 0.000358911, 0.00175659, 0.00175659, 0.00175659, 0.00175659,
1690 0.00175659, 0.00175659, 0.0017483, 0.0017483, 0.0017483, 0.0017483, 0.0017483,
1691 0.0017483, 0.00120845, 0.00120845, 0.00120845, 0.00120845, 0.00120845, 0.00120845,
1692 0.000406567, 0.000406567, 0.000406567, 0.000406567, 0.000406567, 0.000406567, 0.00282471,
1693 0.00282471, 0.00282471, 0.00282471, 0.00282471, 0.00282471, 0.00222952, 0.00222952,
1694 0.00222952, 0.00222952, 0.00222952, 0.00222952, 0.000928201, 0.000928201, 0.000928201,
1695 0.000928201, 0.000928201, 0.000928201, 0.00350871, 0.00350871, 0.00350871, 0.00350871,
1696 0.00350871, 0.00350871, 0.00238482, 0.00238482, 0.00238482, 0.00238482, 0.00238482,
1697 0.00238482, 0.00384091, 0.00384091, 0.00384091, 0.00384091, 0.00384091, 0.00384091,
1698 0.00433152, 0.00433152, 0.00433152, 0.00433152, 0.00433152, 0.00433152, 0.00347096,
1699 0.00347096, 0.00347096, 0.00347096, 0.00347096, 0.00347096, 0.00304357, 0.00304357,
1700 0.00304357, 0.00304357, 0.00304357, 0.00304357, 0.00493934, 0.00493934, 0.00493934,
1701 0.00493934, 0.00493934, 0.00493934, 0.00520159, 0.00520159, 0.00520159, 0.00520159,
1702 0.00520159, 0.00520159, 0.00338648, 0.00338648, 0.00338648, 0.00338648, 0.00338648,
1703 0.00338648, 0.00416178, 0.00416178, 0.00416178, 0.00416178, 0.00416178, 0.00416178,
1704 0.00587913, 0.00587913, 0.00587913, 0.00587913, 0.00587913, 0.00587913, 0.00634059,
1705 0.00634059, 0.00634059, 0.00634059, 0.00634059, 0.00634059};
1706};
1707
1708template <common::CFloatingPoint TScalar>
1709struct SymmetricSimplexPolynomialQuadratureRule<3, 0, TScalar>
1710{
1711 inline static std::uint8_t constexpr kDims = 3;
1712 inline static std::uint16_t constexpr kPoints = 1;
1713 inline static std::uint8_t constexpr kOrder = 0;
1714 inline static std::array<TScalar, 4> constexpr points = {0.25, 0.25, 0.25, 0.25};
1715 inline static std::array<TScalar, 1> constexpr weights = {0.166667};
1716};
1717
1718template <common::CFloatingPoint TScalar>
1719struct SymmetricSimplexPolynomialQuadratureRule<3, 1, TScalar>
1720{
1721 inline static std::uint8_t constexpr kDims = 3;
1722 inline static std::uint16_t constexpr kPoints = 1;
1723 inline static std::uint8_t constexpr kOrder = 1;
1724 inline static std::array<TScalar, 4> constexpr points = {0.25, 0.25, 0.25, 0.25};
1725 inline static std::array<TScalar, 1> constexpr weights = {0.166667};
1726};
1727
1728template <common::CFloatingPoint TScalar>
1729struct SymmetricSimplexPolynomialQuadratureRule<3, 2, TScalar>
1730{
1731 inline static std::uint8_t constexpr kDims = 3;
1732 inline static std::uint16_t constexpr kPoints = 4;
1733 inline static std::uint8_t constexpr kOrder = 2;
1734 inline static std::array<TScalar, 16> constexpr points = {
1735 0.58541,
1736 0.138197,
1737 0.138197,
1738 0.138197,
1739 0.138197,
1740 0.58541,
1741 0.138197,
1742 0.138197,
1743 0.138197,
1744 0.138197,
1745 0.58541,
1746 0.138197,
1747 0.138197,
1748 0.138197,
1749 0.138197,
1750 0.58541};
1751 inline static std::array<TScalar, 4> constexpr weights =
1752 {0.0416667, 0.0416667, 0.0416667, 0.0416667};
1753};
1754
1755template <common::CFloatingPoint TScalar>
1756struct SymmetricSimplexPolynomialQuadratureRule<3, 3, TScalar>
1757{
1758 inline static std::uint8_t constexpr kDims = 3;
1759 inline static std::uint16_t constexpr kPoints = 8;
1760 inline static std::uint8_t constexpr kOrder = 3;
1761 inline static std::array<TScalar, 32> constexpr points = {
1762 0.0158359, 0.328055, 0.328055, 0.328055, 0.328055, 0.0158359, 0.328055, 0.328055,
1763 0.328055, 0.328055, 0.0158359, 0.328055, 0.328055, 0.328055, 0.328055, 0.0158359,
1764 0.679143, 0.106952, 0.106952, 0.106952, 0.106952, 0.679143, 0.106952, 0.106952,
1765 0.106952, 0.106952, 0.679143, 0.106952, 0.106952, 0.106952, 0.106952, 0.679143};
1766 inline static std::array<TScalar, 8> constexpr weights =
1767 {0.023088, 0.023088, 0.023088, 0.023088, 0.0185787, 0.0185787, 0.0185787, 0.0185787};
1768};
1769
1770template <common::CFloatingPoint TScalar>
1771struct SymmetricSimplexPolynomialQuadratureRule<3, 4, TScalar>
1772{
1773 inline static std::uint8_t constexpr kDims = 3;
1774 inline static std::uint16_t constexpr kPoints = 14;
1775 inline static std::uint8_t constexpr kOrder = 4;
1776 inline static std::array<TScalar, 56> constexpr points = {
1777 0.721794, 0.0927353, 0.0927353, 0.0927353, 0.0927353, 0.721794, 0.0927353, 0.0927353,
1778 0.0927353, 0.0927353, 0.721794, 0.0927353, 0.0927353, 0.0927353, 0.0927353, 0.721794,
1779 0.0673422, 0.310886, 0.310886, 0.310886, 0.310886, 0.0673422, 0.310886, 0.310886,
1780 0.310886, 0.310886, 0.0673422, 0.310886, 0.310886, 0.310886, 0.310886, 0.0673422,
1781 0.0455037, 0.0455037, 0.454496, 0.454496, 0.0455037, 0.454496, 0.0455037, 0.454496,
1782 0.0455037, 0.454496, 0.454496, 0.0455037, 0.454496, 0.0455037, 0.454496, 0.0455037,
1783 0.454496, 0.0455037, 0.0455037, 0.454496, 0.454496, 0.454496, 0.0455037, 0.0455037};
1784 inline static std::array<TScalar, 14> constexpr weights = {
1785 0.0122488,
1786 0.0122488,
1787 0.0122488,
1788 0.0122488,
1789 0.0187813,
1790 0.0187813,
1791 0.0187813,
1792 0.0187813,
1793 0.007091,
1794 0.007091,
1795 0.007091,
1796 0.007091,
1797 0.007091,
1798 0.007091};
1799};
1800
1801template <common::CFloatingPoint TScalar>
1802struct SymmetricSimplexPolynomialQuadratureRule<3, 5, TScalar>
1803{
1804 inline static std::uint8_t constexpr kDims = 3;
1805 inline static std::uint16_t constexpr kPoints = 14;
1806 inline static std::uint8_t constexpr kOrder = 5;
1807 inline static std::array<TScalar, 56> constexpr points = {
1808 0.0673422, 0.310886, 0.310886, 0.310886, 0.310886, 0.0673422, 0.310886, 0.310886,
1809 0.310886, 0.310886, 0.0673422, 0.310886, 0.310886, 0.310886, 0.310886, 0.0673422,
1810 0.721794, 0.0927353, 0.0927353, 0.0927353, 0.0927353, 0.721794, 0.0927353, 0.0927353,
1811 0.0927353, 0.0927353, 0.721794, 0.0927353, 0.0927353, 0.0927353, 0.0927353, 0.721794,
1812 0.0455037, 0.0455037, 0.454496, 0.454496, 0.0455037, 0.454496, 0.0455037, 0.454496,
1813 0.0455037, 0.454496, 0.454496, 0.0455037, 0.454496, 0.0455037, 0.454496, 0.0455037,
1814 0.454496, 0.0455037, 0.0455037, 0.454496, 0.454496, 0.454496, 0.0455037, 0.0455037};
1815 inline static std::array<TScalar, 14> constexpr weights = {
1816 0.0187813,
1817 0.0187813,
1818 0.0187813,
1819 0.0187813,
1820 0.0122488,
1821 0.0122488,
1822 0.0122488,
1823 0.0122488,
1824 0.007091,
1825 0.007091,
1826 0.007091,
1827 0.007091,
1828 0.007091,
1829 0.007091};
1830};
1831
1832template <common::CFloatingPoint TScalar>
1833struct SymmetricSimplexPolynomialQuadratureRule<3, 6, TScalar>
1834{
1835 inline static std::uint8_t constexpr kDims = 3;
1836 inline static std::uint16_t constexpr kPoints = 24;
1837 inline static std::uint8_t constexpr kOrder = 6;
1838 inline static std::array<TScalar, 96> constexpr points = {
1839 0.356191, 0.214603, 0.214603, 0.214603, 0.214603, 0.356191, 0.214603, 0.214603,
1840 0.214603, 0.214603, 0.356191, 0.214603, 0.214603, 0.214603, 0.214603, 0.356191,
1841 0.877978, 0.040674, 0.040674, 0.040674, 0.040674, 0.877978, 0.040674, 0.040674,
1842 0.040674, 0.040674, 0.877978, 0.040674, 0.040674, 0.040674, 0.040674, 0.877978,
1843 0.0329863, 0.322338, 0.322338, 0.322338, 0.322338, 0.0329863, 0.322338, 0.322338,
1844 0.322338, 0.322338, 0.0329863, 0.322338, 0.322338, 0.322338, 0.322338, 0.0329863,
1845 0.063661, 0.063661, 0.603006, 0.269672, 0.063661, 0.063661, 0.269672, 0.603006,
1846 0.063661, 0.603006, 0.063661, 0.269672, 0.063661, 0.603006, 0.269672, 0.063661,
1847 0.063661, 0.269672, 0.063661, 0.603006, 0.063661, 0.269672, 0.603006, 0.063661,
1848 0.603006, 0.063661, 0.063661, 0.269672, 0.603006, 0.063661, 0.269672, 0.063661,
1849 0.603006, 0.269672, 0.063661, 0.063661, 0.269672, 0.063661, 0.063661, 0.603006,
1850 0.269672, 0.063661, 0.603006, 0.063661, 0.269672, 0.603006, 0.063661, 0.063661};
1851 inline static std::array<TScalar, 24> constexpr weights = {
1852 0.00665379, 0.00665379, 0.00665379, 0.00665379, 0.00167954, 0.00167954,
1853 0.00167954, 0.00167954, 0.0092262, 0.0092262, 0.0092262, 0.0092262,
1854 0.00803571, 0.00803571, 0.00803571, 0.00803571, 0.00803571, 0.00803571,
1855 0.00803571, 0.00803571, 0.00803571, 0.00803571, 0.00803571, 0.00803571};
1856};
1857
1858template <common::CFloatingPoint TScalar>
1859struct SymmetricSimplexPolynomialQuadratureRule<3, 7, TScalar>
1860{
1861 inline static std::uint8_t constexpr kDims = 3;
1862 inline static std::uint16_t constexpr kPoints = 35;
1863 inline static std::uint8_t constexpr kOrder = 7;
1864 inline static std::array<TScalar, 140> constexpr points = {
1865 0.25, 0.25, 0.25, 0.25, 0.0528966, 0.315701, 0.315701, 0.315701,
1866 0.315701, 0.0528966, 0.315701, 0.315701, 0.315701, 0.315701, 0.0528966, 0.315701,
1867 0.315701, 0.315701, 0.315701, 0.0528966, 0.0504898, 0.0504898, 0.44951, 0.44951,
1868 0.0504898, 0.44951, 0.0504898, 0.44951, 0.0504898, 0.44951, 0.44951, 0.0504898,
1869 0.44951, 0.0504898, 0.44951, 0.0504898, 0.44951, 0.0504898, 0.0504898, 0.44951,
1870 0.44951, 0.44951, 0.0504898, 0.0504898, 0.188834, 0.188834, 0.575172, 0.0471607,
1871 0.188834, 0.188834, 0.0471607, 0.575172, 0.188834, 0.575172, 0.188834, 0.0471607,
1872 0.188834, 0.575172, 0.0471607, 0.188834, 0.188834, 0.0471607, 0.188834, 0.575172,
1873 0.188834, 0.0471607, 0.575172, 0.188834, 0.575172, 0.188834, 0.188834, 0.0471607,
1874 0.575172, 0.188834, 0.0471607, 0.188834, 0.575172, 0.0471607, 0.188834, 0.188834,
1875 0.0471607, 0.188834, 0.188834, 0.575172, 0.0471607, 0.188834, 0.575172, 0.188834,
1876 0.0471607, 0.575172, 0.188834, 0.188834, 0.0212655, 0.0212655, 0.81083, 0.146639,
1877 0.0212655, 0.0212655, 0.146639, 0.81083, 0.0212655, 0.81083, 0.0212655, 0.146639,
1878 0.0212655, 0.81083, 0.146639, 0.0212655, 0.0212655, 0.146639, 0.0212655, 0.81083,
1879 0.0212655, 0.146639, 0.81083, 0.0212655, 0.81083, 0.0212655, 0.0212655, 0.146639,
1880 0.81083, 0.0212655, 0.146639, 0.0212655, 0.81083, 0.146639, 0.0212655, 0.0212655,
1881 0.146639, 0.0212655, 0.0212655, 0.81083, 0.146639, 0.0212655, 0.81083, 0.0212655,
1882 0.146639, 0.81083, 0.0212655, 0.0212655};
1883 inline static std::array<TScalar, 35> constexpr weights = {
1884 0.0159142, 0.00705493, 0.00705493, 0.00705493, 0.00705493, 0.00531615, 0.00531615,
1885 0.00531615, 0.00531615, 0.00531615, 0.00531615, 0.00620119, 0.00620119, 0.00620119,
1886 0.00620119, 0.00620119, 0.00620119, 0.00620119, 0.00620119, 0.00620119, 0.00620119,
1887 0.00620119, 0.00620119, 0.0013518, 0.0013518, 0.0013518, 0.0013518, 0.0013518,
1888 0.0013518, 0.0013518, 0.0013518, 0.0013518, 0.0013518, 0.0013518, 0.0013518};
1889};
1890
1891template <common::CFloatingPoint TScalar>
1892struct SymmetricSimplexPolynomialQuadratureRule<3, 8, TScalar>
1893{
1894 inline static std::uint8_t constexpr kDims = 3;
1895 inline static std::uint16_t constexpr kPoints = 46;
1896 inline static std::uint8_t constexpr kOrder = 8;
1897 inline static std::array<TScalar, 184> constexpr points = {
1898 0.880974, 0.0396754, 0.0396754, 0.0396754, 0.0396754, 0.880974, 0.0396754, 0.0396754,
1899 0.0396754, 0.0396754, 0.880974, 0.0396754, 0.0396754, 0.0396754, 0.0396754, 0.880974,
1900 0.0565366, 0.314488, 0.314488, 0.314488, 0.314488, 0.0565366, 0.314488, 0.314488,
1901 0.314488, 0.314488, 0.0565366, 0.314488, 0.314488, 0.314488, 0.314488, 0.0565366,
1902 0.69404, 0.101987, 0.101987, 0.101987, 0.101987, 0.69404, 0.101987, 0.101987,
1903 0.101987, 0.101987, 0.69404, 0.101987, 0.101987, 0.101987, 0.101987, 0.69404,
1904 0.447389, 0.184204, 0.184204, 0.184204, 0.184204, 0.447389, 0.184204, 0.184204,
1905 0.184204, 0.184204, 0.447389, 0.184204, 0.184204, 0.184204, 0.184204, 0.447389,
1906 0.0634363, 0.0634363, 0.436564, 0.436564, 0.0634363, 0.436564, 0.0634363, 0.436564,
1907 0.0634363, 0.436564, 0.436564, 0.0634363, 0.436564, 0.0634363, 0.436564, 0.0634363,
1908 0.436564, 0.0634363, 0.0634363, 0.436564, 0.436564, 0.436564, 0.0634363, 0.0634363,
1909 0.0216902, 0.0216902, 0.719932, 0.236688, 0.0216902, 0.0216902, 0.236688, 0.719932,
1910 0.0216902, 0.719932, 0.0216902, 0.236688, 0.0216902, 0.719932, 0.236688, 0.0216902,
1911 0.0216902, 0.236688, 0.0216902, 0.719932, 0.0216902, 0.236688, 0.719932, 0.0216902,
1912 0.719932, 0.0216902, 0.0216902, 0.236688, 0.719932, 0.0216902, 0.236688, 0.0216902,
1913 0.719932, 0.236688, 0.0216902, 0.0216902, 0.236688, 0.0216902, 0.0216902, 0.719932,
1914 0.236688, 0.0216902, 0.719932, 0.0216902, 0.236688, 0.719932, 0.0216902, 0.0216902,
1915 0.20448, 0.20448, 0.580577, 0.0104626, 0.20448, 0.20448, 0.0104626, 0.580577,
1916 0.20448, 0.580577, 0.20448, 0.0104626, 0.20448, 0.580577, 0.0104626, 0.20448,
1917 0.20448, 0.0104626, 0.20448, 0.580577, 0.20448, 0.0104626, 0.580577, 0.20448,
1918 0.580577, 0.20448, 0.20448, 0.0104626, 0.580577, 0.20448, 0.0104626, 0.20448,
1919 0.580577, 0.0104626, 0.20448, 0.20448, 0.0104626, 0.20448, 0.20448, 0.580577,
1920 0.0104626, 0.20448, 0.580577, 0.20448, 0.0104626, 0.580577, 0.20448, 0.20448};
1921 inline static std::array<TScalar, 46> constexpr weights = {
1922 0.00106619, 0.00106619, 0.00106619, 0.00106619, 0.00669841, 0.00669841, 0.00669841,
1923 0.00669841, 0.00405133, 0.00405133, 0.00405133, 0.00405133, 0.00914315, 0.00914315,
1924 0.00914315, 0.00914315, 0.00595327, 0.00595327, 0.00595327, 0.00595327, 0.00595327,
1925 0.00595327, 0.0011972, 0.0011972, 0.0011972, 0.0011972, 0.0011972, 0.0011972,
1926 0.0011972, 0.0011972, 0.0011972, 0.0011972, 0.0011972, 0.0011972, 0.0027287,
1927 0.0027287, 0.0027287, 0.0027287, 0.0027287, 0.0027287, 0.0027287, 0.0027287,
1928 0.0027287, 0.0027287, 0.0027287, 0.0027287};
1929};
1930
1931template <common::CFloatingPoint TScalar>
1932struct SymmetricSimplexPolynomialQuadratureRule<3, 9, TScalar>
1933{
1934 inline static std::uint8_t constexpr kDims = 3;
1935 inline static std::uint16_t constexpr kPoints = 59;
1936 inline static std::uint8_t constexpr kOrder = 9;
1937 inline static std::array<TScalar, 236> constexpr points = {
1938 0.25, 0.25, 0.25, 0.25, 0.886435, 0.037855, 0.037855,
1939 0.037855, 0.037855, 0.886435, 0.037855, 0.037855, 0.037855, 0.037855,
1940 0.886435, 0.037855, 0.037855, 0.037855, 0.037855, 0.886435, 0.491367,
1941 0.169544, 0.169544, 0.169544, 0.169544, 0.491367, 0.169544, 0.169544,
1942 0.169544, 0.169544, 0.491367, 0.169544, 0.169544, 0.169544, 0.169544,
1943 0.491367, 0.835476, 0.0548414, 0.0548414, 0.0548414, 0.0548414, 0.835476,
1944 0.0548414, 0.0548414, 0.0548414, 0.0548414, 0.835476, 0.0548414, 0.0548414,
1945 0.0548414, 0.0548414, 0.835476, 0.0331085, 0.322297, 0.322297, 0.322297,
1946 0.322297, 0.0331085, 0.322297, 0.322297, 0.322297, 0.322297, 0.0331085,
1947 0.322297, 0.322297, 0.322297, 0.322297, 0.0331085, 0.109618, 0.109618,
1948 0.390382, 0.390382, 0.109618, 0.390382, 0.109618, 0.390382, 0.109618,
1949 0.390382, 0.390382, 0.109618, 0.390382, 0.109618, 0.390382, 0.109618,
1950 0.390382, 0.109618, 0.109618, 0.390382, 0.390382, 0.390382, 0.109618,
1951 0.109618, 0.459158, 0.459158, 0.0800449, 0.00163982, 0.459158, 0.459158,
1952 0.00163982, 0.0800449, 0.459158, 0.0800449, 0.459158, 0.00163982, 0.459158,
1953 0.0800449, 0.00163982, 0.459158, 0.459158, 0.00163982, 0.459158, 0.0800449,
1954 0.459158, 0.00163982, 0.0800449, 0.459158, 0.0800449, 0.459158, 0.459158,
1955 0.00163982, 0.0800449, 0.459158, 0.00163982, 0.459158, 0.0800449, 0.00163982,
1956 0.459158, 0.459158, 0.00163982, 0.459158, 0.459158, 0.0800449, 0.00163982,
1957 0.459158, 0.0800449, 0.459158, 0.00163982, 0.0800449, 0.459158, 0.459158,
1958 0.0329669, 0.0329669, 0.718796, 0.21527, 0.0329669, 0.0329669, 0.21527,
1959 0.718796, 0.0329669, 0.718796, 0.0329669, 0.21527, 0.0329669, 0.718796,
1960 0.21527, 0.0329669, 0.0329669, 0.21527, 0.0329669, 0.718796, 0.0329669,
1961 0.21527, 0.718796, 0.0329669, 0.718796, 0.0329669, 0.0329669, 0.21527,
1962 0.718796, 0.0329669, 0.21527, 0.0329669, 0.718796, 0.21527, 0.0329669,
1963 0.0329669, 0.21527, 0.0329669, 0.0329669, 0.718796, 0.21527, 0.0329669,
1964 0.718796, 0.0329669, 0.21527, 0.718796, 0.0329669, 0.0329669, 0.181744,
1965 0.181744, 0.600237, 0.0362758, 0.181744, 0.181744, 0.0362758, 0.600237,
1966 0.181744, 0.600237, 0.181744, 0.0362758, 0.181744, 0.600237, 0.0362758,
1967 0.181744, 0.181744, 0.0362758, 0.181744, 0.600237, 0.181744, 0.0362758,
1968 0.600237, 0.181744, 0.600237, 0.181744, 0.181744, 0.0362758, 0.600237,
1969 0.181744, 0.0362758, 0.181744, 0.600237, 0.0362758, 0.181744, 0.181744,
1970 0.0362758, 0.181744, 0.181744, 0.600237, 0.0362758, 0.181744, 0.600237,
1971 0.181744, 0.0362758, 0.600237, 0.181744, 0.181744};
1972 inline static std::array<TScalar, 59> constexpr weights = {
1973 0.00914976, 0.000703043, 0.000703043, 0.000703043, 0.000703043, 0.00391402, 0.00391402,
1974 0.00391402, 0.00391402, 0.000702139, 0.000702139, 0.000702139, 0.000702139, 0.00499119,
1975 0.00499119, 0.00499119, 0.00499119, 0.00615907, 0.00615907, 0.00615907, 0.00615907,
1976 0.00615907, 0.00615907, 0.00136225, 0.00136225, 0.00136225, 0.00136225, 0.00136225,
1977 0.00136225, 0.00136225, 0.00136225, 0.00136225, 0.00136225, 0.00136225, 0.00136225,
1978 0.00164663, 0.00164663, 0.00164663, 0.00164663, 0.00164663, 0.00164663, 0.00164663,
1979 0.00164663, 0.00164663, 0.00164663, 0.00164663, 0.00164663, 0.0036012, 0.0036012,
1980 0.0036012, 0.0036012, 0.0036012, 0.0036012, 0.0036012, 0.0036012, 0.0036012,
1981 0.0036012, 0.0036012, 0.0036012};
1982};
1983
1984template <common::CFloatingPoint TScalar>
1985struct SymmetricSimplexPolynomialQuadratureRule<3, 10, TScalar>
1986{
1987 inline static std::uint8_t constexpr kDims = 3;
1988 inline static std::uint16_t constexpr kPoints = 79;
1989 inline static std::uint8_t constexpr kOrder = 10;
1990 inline static std::array<TScalar, 316> constexpr points = {
1991 0.25, 0.25, 0.25, 0.25, 0.657244, 0.114252, 0.114252, 0.114252,
1992 0.114252, 0.657244, 0.114252, 0.114252, 0.114252, 0.114252, 0.657244, 0.114252,
1993 0.114252, 0.114252, 0.114252, 0.657244, 0.968086, 0.0106379, 0.0106379, 0.0106379,
1994 0.0106379, 0.968086, 0.0106379, 0.0106379, 0.0106379, 0.0106379, 0.968086, 0.0106379,
1995 0.0106379, 0.0106379, 0.0106379, 0.968086, 0.0617779, 0.312741, 0.312741, 0.312741,
1996 0.312741, 0.0617779, 0.312741, 0.312741, 0.312741, 0.312741, 0.0617779, 0.312741,
1997 0.312741, 0.312741, 0.312741, 0.0617779, 0.016313, 0.016313, 0.483687, 0.483687,
1998 0.016313, 0.483687, 0.016313, 0.483687, 0.016313, 0.483687, 0.483687, 0.016313,
1999 0.483687, 0.016313, 0.483687, 0.016313, 0.483687, 0.016313, 0.016313, 0.483687,
2000 0.483687, 0.483687, 0.016313, 0.016313, 0.0343062, 0.0343062, 0.598301, 0.333086,
2001 0.0343062, 0.0343062, 0.333086, 0.598301, 0.0343062, 0.598301, 0.0343062, 0.333086,
2002 0.0343062, 0.598301, 0.333086, 0.0343062, 0.0343062, 0.333086, 0.0343062, 0.598301,
2003 0.0343062, 0.333086, 0.598301, 0.0343062, 0.598301, 0.0343062, 0.0343062, 0.333086,
2004 0.598301, 0.0343062, 0.333086, 0.0343062, 0.598301, 0.333086, 0.0343062, 0.0343062,
2005 0.333086, 0.0343062, 0.0343062, 0.598301, 0.333086, 0.0343062, 0.598301, 0.0343062,
2006 0.333086, 0.598301, 0.0343062, 0.0343062, 0.123464, 0.123464, 0.471201, 0.281871,
2007 0.123464, 0.123464, 0.281871, 0.471201, 0.123464, 0.471201, 0.123464, 0.281871,
2008 0.123464, 0.471201, 0.281871, 0.123464, 0.123464, 0.281871, 0.123464, 0.471201,
2009 0.123464, 0.281871, 0.471201, 0.123464, 0.471201, 0.123464, 0.123464, 0.281871,
2010 0.471201, 0.123464, 0.281871, 0.123464, 0.471201, 0.281871, 0.123464, 0.123464,
2011 0.281871, 0.123464, 0.123464, 0.471201, 0.281871, 0.123464, 0.471201, 0.123464,
2012 0.281871, 0.471201, 0.123464, 0.123464, 0.40992, 0.40992, 0.165464, 0.0146966,
2013 0.40992, 0.40992, 0.0146966, 0.165464, 0.40992, 0.165464, 0.40992, 0.0146966,
2014 0.40992, 0.165464, 0.0146966, 0.40992, 0.40992, 0.0146966, 0.40992, 0.165464,
2015 0.40992, 0.0146966, 0.165464, 0.40992, 0.165464, 0.40992, 0.40992, 0.0146966,
2016 0.165464, 0.40992, 0.0146966, 0.40992, 0.165464, 0.0146966, 0.40992, 0.40992,
2017 0.0146966, 0.40992, 0.40992, 0.165464, 0.0146966, 0.40992, 0.165464, 0.40992,
2018 0.0146966, 0.165464, 0.40992, 0.40992, 0.173972, 0.173972, 0.629164, 0.0228914,
2019 0.173972, 0.173972, 0.0228914, 0.629164, 0.173972, 0.629164, 0.173972, 0.0228914,
2020 0.173972, 0.629164, 0.0228914, 0.173972, 0.173972, 0.0228914, 0.173972, 0.629164,
2021 0.173972, 0.0228914, 0.629164, 0.173972, 0.629164, 0.173972, 0.173972, 0.0228914,
2022 0.629164, 0.173972, 0.0228914, 0.173972, 0.629164, 0.0228914, 0.173972, 0.173972,
2023 0.0228914, 0.173972, 0.173972, 0.629164, 0.0228914, 0.173972, 0.629164, 0.173972,
2024 0.0228914, 0.629164, 0.173972, 0.173972, 0.0300216, 0.0300216, 0.812131, 0.127826,
2025 0.0300216, 0.0300216, 0.127826, 0.812131, 0.0300216, 0.812131, 0.0300216, 0.127826,
2026 0.0300216, 0.812131, 0.127826, 0.0300216, 0.0300216, 0.127826, 0.0300216, 0.812131,
2027 0.0300216, 0.127826, 0.812131, 0.0300216, 0.812131, 0.0300216, 0.0300216, 0.127826,
2028 0.812131, 0.0300216, 0.127826, 0.0300216, 0.812131, 0.127826, 0.0300216, 0.0300216,
2029 0.127826, 0.0300216, 0.0300216, 0.812131, 0.127826, 0.0300216, 0.812131, 0.0300216,
2030 0.127826, 0.812131, 0.0300216, 0.0300216};
2031 inline static std::array<TScalar, 79> constexpr weights = {
2032 0.00762365, 0.00182121, 0.00182121, 0.00182121, 0.00182121, 9.22539e-05, 9.22539e-05,
2033 9.22539e-05, 9.22539e-05, 0.00428223, 0.00428223, 0.00428223, 0.00428223, 9.23127e-05,
2034 9.23127e-05, 9.23127e-05, 9.23127e-05, 9.23127e-05, 9.23127e-05, 0.0017414, 0.0017414,
2035 0.0017414, 0.0017414, 0.0017414, 0.0017414, 0.0017414, 0.0017414, 0.0017414,
2036 0.0017414, 0.0017414, 0.0017414, 0.00418974, 0.00418974, 0.00418974, 0.00418974,
2037 0.00418974, 0.00418974, 0.00418974, 0.00418974, 0.00418974, 0.00418974, 0.00418974,
2038 0.00418974, 0.00196437, 0.00196437, 0.00196437, 0.00196437, 0.00196437, 0.00196437,
2039 0.00196437, 0.00196437, 0.00196437, 0.00196437, 0.00196437, 0.00196437, 0.00222004,
2040 0.00222004, 0.00222004, 0.00222004, 0.00222004, 0.00222004, 0.00222004, 0.00222004,
2041 0.00222004, 0.00222004, 0.00222004, 0.00222004, 0.00102665, 0.00102665, 0.00102665,
2042 0.00102665, 0.00102665, 0.00102665, 0.00102665, 0.00102665, 0.00102665, 0.00102665,
2043 0.00102665, 0.00102665};
2044};
2045
2046template <common::CFloatingPoint TScalar>
2047struct SymmetricSimplexPolynomialQuadratureRule<3, 11, TScalar>
2048{
2049 inline static std::uint8_t constexpr kDims = 3;
2050 inline static std::uint16_t constexpr kPoints = 96;
2051 inline static std::uint8_t constexpr kOrder = 11;
2052 inline static std::array<TScalar, 384> constexpr points = {
2053 0.626183, 0.124606, 0.124606, 0.124606, 0.124606, 0.626183, 0.124606,
2054 0.124606, 0.124606, 0.124606, 0.626183, 0.124606, 0.124606, 0.124606,
2055 0.124606, 0.626183, 0.921711, 0.0260963, 0.0260963, 0.0260963, 0.0260963,
2056 0.921711, 0.0260963, 0.0260963, 0.0260963, 0.0260963, 0.921711, 0.0260963,
2057 0.0260963, 0.0260963, 0.0260963, 0.921711, 0.784184, 0.0719388, 0.0719388,
2058 0.0719388, 0.0719388, 0.784184, 0.0719388, 0.0719388, 0.0719388, 0.0719388,
2059 0.784184, 0.0719388, 0.0719388, 0.0719388, 0.0719388, 0.784184, 0.0216663,
2060 0.326111, 0.326111, 0.326111, 0.326111, 0.0216663, 0.326111, 0.326111,
2061 0.326111, 0.326111, 0.0216663, 0.326111, 0.326111, 0.326111, 0.326111,
2062 0.0216663, 0.117824, 0.294059, 0.294059, 0.294059, 0.294059, 0.117824,
2063 0.294059, 0.294059, 0.294059, 0.294059, 0.117824, 0.294059, 0.294059,
2064 0.294059, 0.294059, 0.117824, 0.421858, 0.192714, 0.192714, 0.192714,
2065 0.192714, 0.421858, 0.192714, 0.192714, 0.192714, 0.192714, 0.421858,
2066 0.192714, 0.192714, 0.192714, 0.192714, 0.421858, 0.000471272, 0.000471272,
2067 0.499529, 0.499529, 0.000471272, 0.499529, 0.000471272, 0.499529, 0.000471272,
2068 0.499529, 0.499529, 0.000471272, 0.499529, 0.000471272, 0.499529, 0.000471272,
2069 0.499529, 0.000471272, 0.000471272, 0.499529, 0.499529, 0.499529, 0.000471272,
2070 0.000471272, 0.103214, 0.103214, 0.396786, 0.396786, 0.103214, 0.396786,
2071 0.103214, 0.396786, 0.103214, 0.396786, 0.396786, 0.103214, 0.396786,
2072 0.103214, 0.396786, 0.103214, 0.396786, 0.103214, 0.103214, 0.396786,
2073 0.396786, 0.396786, 0.103214, 0.103214, 0.0434999, 0.0434999, 0.630453,
2074 0.282547, 0.0434999, 0.0434999, 0.282547, 0.630453, 0.0434999, 0.630453,
2075 0.0434999, 0.282547, 0.0434999, 0.630453, 0.282547, 0.0434999, 0.0434999,
2076 0.282547, 0.0434999, 0.630453, 0.0434999, 0.282547, 0.630453, 0.0434999,
2077 0.630453, 0.0434999, 0.0434999, 0.282547, 0.630453, 0.0434999, 0.282547,
2078 0.0434999, 0.630453, 0.282547, 0.0434999, 0.0434999, 0.282547, 0.0434999,
2079 0.0434999, 0.630453, 0.282547, 0.0434999, 0.630453, 0.0434999, 0.282547,
2080 0.630453, 0.0434999, 0.0434999, 0.0141484, 0.0141484, 0.824917, 0.146786,
2081 0.0141484, 0.0141484, 0.146786, 0.824917, 0.0141484, 0.824917, 0.0141484,
2082 0.146786, 0.0141484, 0.824917, 0.146786, 0.0141484, 0.0141484, 0.146786,
2083 0.0141484, 0.824917, 0.0141484, 0.146786, 0.824917, 0.0141484, 0.824917,
2084 0.0141484, 0.0141484, 0.146786, 0.824917, 0.0141484, 0.146786, 0.0141484,
2085 0.824917, 0.146786, 0.0141484, 0.0141484, 0.146786, 0.0141484, 0.0141484,
2086 0.824917, 0.146786, 0.0141484, 0.824917, 0.0141484, 0.146786, 0.824917,
2087 0.0141484, 0.0141484, 0.216461, 0.216461, 0.527111, 0.0399671, 0.216461,
2088 0.216461, 0.0399671, 0.527111, 0.216461, 0.527111, 0.216461, 0.0399671,
2089 0.216461, 0.527111, 0.0399671, 0.216461, 0.216461, 0.0399671, 0.216461,
2090 0.527111, 0.216461, 0.0399671, 0.527111, 0.216461, 0.527111, 0.216461,
2091 0.216461, 0.0399671, 0.527111, 0.216461, 0.0399671, 0.216461, 0.527111,
2092 0.0399671, 0.216461, 0.216461, 0.0399671, 0.216461, 0.216461, 0.527111,
2093 0.0399671, 0.216461, 0.527111, 0.216461, 0.0399671, 0.527111, 0.216461,
2094 0.216461, 0.133019, 0.133019, 0.733186, 0.000776799, 0.133019, 0.133019,
2095 0.000776799, 0.733186, 0.133019, 0.733186, 0.133019, 0.000776799, 0.133019,
2096 0.733186, 0.000776799, 0.133019, 0.133019, 0.000776799, 0.133019, 0.733186,
2097 0.133019, 0.000776799, 0.733186, 0.133019, 0.733186, 0.133019, 0.133019,
2098 0.000776799, 0.733186, 0.133019, 0.000776799, 0.133019, 0.733186, 0.000776799,
2099 0.133019, 0.133019, 0.000776799, 0.133019, 0.133019, 0.733186, 0.000776799,
2100 0.133019, 0.733186, 0.133019, 0.000776799, 0.733186, 0.133019, 0.133019,
2101 0.440548, 0.440548, 0.115068, 0.00383687, 0.440548, 0.440548, 0.00383687,
2102 0.115068, 0.440548, 0.115068, 0.440548, 0.00383687, 0.440548, 0.115068,
2103 0.00383687, 0.440548, 0.440548, 0.00383687, 0.440548, 0.115068, 0.440548,
2104 0.00383687, 0.115068, 0.440548, 0.115068, 0.440548, 0.440548, 0.00383687,
2105 0.115068, 0.440548, 0.00383687, 0.440548, 0.115068, 0.00383687, 0.440548,
2106 0.440548, 0.00383687, 0.440548, 0.440548, 0.115068, 0.00383687, 0.440548,
2107 0.115068, 0.440548, 0.00383687, 0.115068, 0.440548, 0.440548};
2108 inline static std::array<TScalar, 96> constexpr weights = {
2109 0.00268783, 0.00268783, 0.00268783, 0.00268783, 0.000298121, 0.000298121, 0.000298121,
2110 0.000298121, 0.00141255, 0.00141255, 0.00141255, 0.00141255, 0.00206337, 0.00206337,
2111 0.00206337, 0.00206337, 0.00367598, 0.00367598, 0.00367598, 0.00367598, 0.00382628,
2112 0.00382628, 0.00382628, 0.00382628, 0.000200923, 0.000200923, 0.000200923, 0.000200923,
2113 0.000200923, 0.000200923, 0.0041323, 0.0041323, 0.0041323, 0.0041323, 0.0041323,
2114 0.0041323, 0.00200646, 0.00200646, 0.00200646, 0.00200646, 0.00200646, 0.00200646,
2115 0.00200646, 0.00200646, 0.00200646, 0.00200646, 0.00200646, 0.00200646, 0.000315617,
2116 0.000315617, 0.000315617, 0.000315617, 0.000315617, 0.000315617, 0.000315617, 0.000315617,
2117 0.000315617, 0.000315617, 0.000315617, 0.000315617, 0.00306459, 0.00306459, 0.00306459,
2118 0.00306459, 0.00306459, 0.00306459, 0.00306459, 0.00306459, 0.00306459, 0.00306459,
2119 0.00306459, 0.00306459, 0.000625415, 0.000625415, 0.000625415, 0.000625415, 0.000625415,
2120 0.000625415, 0.000625415, 0.000625415, 0.000625415, 0.000625415, 0.000625415, 0.000625415,
2121 0.00105548, 0.00105548, 0.00105548, 0.00105548, 0.00105548, 0.00105548, 0.00105548,
2122 0.00105548, 0.00105548, 0.00105548, 0.00105548, 0.00105548};
2123};
2124
2125template <common::CFloatingPoint TScalar>
2126struct SymmetricSimplexPolynomialQuadratureRule<3, 12, TScalar>
2127{
2128 inline static std::uint8_t constexpr kDims = 3;
2129 inline static std::uint16_t constexpr kPoints = 127;
2130 inline static std::uint8_t constexpr kOrder = 12;
2131 inline static std::array<TScalar, 508> constexpr points = {
2132 0.25, 0.25, 0.25, 0.25, 0.420438, 0.193187, 0.193187, 0.193187,
2133 0.193187, 0.420438, 0.193187, 0.193187, 0.193187, 0.193187, 0.420438, 0.193187,
2134 0.193187, 0.193187, 0.193187, 0.420438, 0.945649, 0.018117, 0.018117, 0.018117,
2135 0.018117, 0.945649, 0.018117, 0.018117, 0.018117, 0.018117, 0.945649, 0.018117,
2136 0.018117, 0.018117, 0.018117, 0.945649, 0.678977, 0.107008, 0.107008, 0.107008,
2137 0.107008, 0.678977, 0.107008, 0.107008, 0.107008, 0.107008, 0.678977, 0.107008,
2138 0.107008, 0.107008, 0.107008, 0.678977, 0.101915, 0.299362, 0.299362, 0.299362,
2139 0.299362, 0.101915, 0.299362, 0.299362, 0.299362, 0.299362, 0.101915, 0.299362,
2140 0.299362, 0.299362, 0.299362, 0.101915, 9e-06, 0.33333, 0.33333, 0.33333,
2141 0.33333, 9e-06, 0.33333, 0.33333, 0.33333, 0.33333, 9e-06, 0.33333,
2142 0.33333, 0.33333, 0.33333, 9e-06, 0.502739, 0.165754, 0.165754, 0.165754,
2143 0.165754, 0.502739, 0.165754, 0.165754, 0.165754, 0.165754, 0.502739, 0.165754,
2144 0.165754, 0.165754, 0.165754, 0.502739, 0.0400999, 0.0400999, 0.4599, 0.4599,
2145 0.0400999, 0.4599, 0.0400999, 0.4599, 0.0400999, 0.4599, 0.4599, 0.0400999,
2146 0.4599, 0.0400999, 0.4599, 0.0400999, 0.4599, 0.0400999, 0.0400999, 0.4599,
2147 0.4599, 0.4599, 0.0400999, 0.0400999, 0.0195184, 0.0195184, 0.599826, 0.361137,
2148 0.0195184, 0.0195184, 0.361137, 0.599826, 0.0195184, 0.599826, 0.0195184, 0.361137,
2149 0.0195184, 0.599826, 0.361137, 0.0195184, 0.0195184, 0.361137, 0.0195184, 0.599826,
2150 0.0195184, 0.361137, 0.599826, 0.0195184, 0.599826, 0.0195184, 0.0195184, 0.361137,
2151 0.599826, 0.0195184, 0.361137, 0.0195184, 0.599826, 0.361137, 0.0195184, 0.0195184,
2152 0.361137, 0.0195184, 0.0195184, 0.599826, 0.361137, 0.0195184, 0.599826, 0.0195184,
2153 0.361137, 0.599826, 0.0195184, 0.0195184, 0.249707, 0.249707, 0.474004, 0.0265809,
2154 0.249707, 0.249707, 0.0265809, 0.474004, 0.249707, 0.474004, 0.249707, 0.0265809,
2155 0.249707, 0.474004, 0.0265809, 0.249707, 0.249707, 0.0265809, 0.249707, 0.474004,
2156 0.249707, 0.0265809, 0.474004, 0.249707, 0.474004, 0.249707, 0.249707, 0.0265809,
2157 0.474004, 0.249707, 0.0265809, 0.249707, 0.474004, 0.0265809, 0.249707, 0.249707,
2158 0.0265809, 0.249707, 0.249707, 0.474004, 0.0265809, 0.249707, 0.474004, 0.249707,
2159 0.0265809, 0.474004, 0.249707, 0.249707, 0.0767421, 0.0767421, 0.830563, 0.015953,
2160 0.0767421, 0.0767421, 0.015953, 0.830563, 0.0767421, 0.830563, 0.0767421, 0.015953,
2161 0.0767421, 0.830563, 0.015953, 0.0767421, 0.0767421, 0.015953, 0.0767421, 0.830563,
2162 0.0767421, 0.015953, 0.830563, 0.0767421, 0.830563, 0.0767421, 0.0767421, 0.015953,
2163 0.830563, 0.0767421, 0.015953, 0.0767421, 0.830563, 0.015953, 0.0767421, 0.0767421,
2164 0.015953, 0.0767421, 0.0767421, 0.830563, 0.015953, 0.0767421, 0.830563, 0.0767421,
2165 0.015953, 0.830563, 0.0767421, 0.0767421, 0.430114, 0.430114, 0.0226592, 0.117113,
2166 0.430114, 0.430114, 0.117113, 0.0226592, 0.430114, 0.0226592, 0.430114, 0.117113,
2167 0.430114, 0.0226592, 0.117113, 0.430114, 0.430114, 0.117113, 0.430114, 0.0226592,
2168 0.430114, 0.117113, 0.0226592, 0.430114, 0.0226592, 0.430114, 0.430114, 0.117113,
2169 0.0226592, 0.430114, 0.117113, 0.430114, 0.0226592, 0.117113, 0.430114, 0.430114,
2170 0.117113, 0.430114, 0.430114, 0.0226592, 0.117113, 0.430114, 0.0226592, 0.430114,
2171 0.117113, 0.0226592, 0.430114, 0.430114, 0.121979, 0.121979, 0.477654, 0.278389,
2172 0.121979, 0.121979, 0.278389, 0.477654, 0.121979, 0.477654, 0.121979, 0.278389,
2173 0.121979, 0.477654, 0.278389, 0.121979, 0.121979, 0.278389, 0.121979, 0.477654,
2174 0.121979, 0.278389, 0.477654, 0.121979, 0.477654, 0.121979, 0.121979, 0.278389,
2175 0.477654, 0.121979, 0.278389, 0.121979, 0.477654, 0.278389, 0.121979, 0.121979,
2176 0.278389, 0.121979, 0.121979, 0.477654, 0.278389, 0.121979, 0.477654, 0.121979,
2177 0.278389, 0.477654, 0.121979, 0.121979, 0.0148048, 0.0148048, 0.810838, 0.159552,
2178 0.0148048, 0.0148048, 0.159552, 0.810838, 0.0148048, 0.810838, 0.0148048, 0.159552,
2179 0.0148048, 0.810838, 0.159552, 0.0148048, 0.0148048, 0.159552, 0.0148048, 0.810838,
2180 0.0148048, 0.159552, 0.810838, 0.0148048, 0.810838, 0.0148048, 0.0148048, 0.159552,
2181 0.810838, 0.0148048, 0.159552, 0.0148048, 0.810838, 0.159552, 0.0148048, 0.0148048,
2182 0.159552, 0.0148048, 0.0148048, 0.810838, 0.159552, 0.0148048, 0.810838, 0.0148048,
2183 0.159552, 0.810838, 0.0148048, 0.0148048, 0.652507, 0.226462, 0.0225183, 0.0985124,
2184 0.652507, 0.226462, 0.0985124, 0.0225183, 0.652507, 0.0225183, 0.226462, 0.0985124,
2185 0.652507, 0.0225183, 0.0985124, 0.226462, 0.652507, 0.0985124, 0.226462, 0.0225183,
2186 0.652507, 0.0985124, 0.0225183, 0.226462, 0.226462, 0.652507, 0.0225183, 0.0985124,
2187 0.226462, 0.652507, 0.0985124, 0.0225183, 0.226462, 0.0225183, 0.652507, 0.0985124,
2188 0.226462, 0.0225183, 0.0985124, 0.652507, 0.226462, 0.0985124, 0.652507, 0.0225183,
2189 0.226462, 0.0985124, 0.0225183, 0.652507, 0.0225183, 0.652507, 0.226462, 0.0985124,
2190 0.0225183, 0.652507, 0.0985124, 0.226462, 0.0225183, 0.226462, 0.652507, 0.0985124,
2191 0.0225183, 0.226462, 0.0985124, 0.652507, 0.0225183, 0.0985124, 0.652507, 0.226462,
2192 0.0225183, 0.0985124, 0.226462, 0.652507, 0.0985124, 0.652507, 0.226462, 0.0225183,
2193 0.0985124, 0.652507, 0.0225183, 0.226462, 0.0985124, 0.226462, 0.652507, 0.0225183,
2194 0.0985124, 0.226462, 0.0225183, 0.652507, 0.0985124, 0.0225183, 0.652507, 0.226462,
2195 0.0985124, 0.0225183, 0.226462, 0.652507};
2196 inline static std::array<TScalar, 127> constexpr weights = {
2197 0.00390097, 0.00080745, 0.00080745, 0.00080745, 0.00080745, 0.000133109, 0.000133109,
2198 0.000133109, 0.000133109, 0.00218645, 0.00218645, 0.00218645, 0.00218645, 0.0039203,
2199 0.0039203, 0.0039203, 0.0039203, 0.000351435, 0.000351435, 0.000351435, 0.000351435,
2200 7.97322e-05, 7.97322e-05, 7.97322e-05, 7.97322e-05, 0.00034091, 0.00034091, 0.00034091,
2201 0.00034091, 0.00034091, 0.00034091, 0.000557627, 0.000557627, 0.000557627, 0.000557627,
2202 0.000557627, 0.000557627, 0.000557627, 0.000557627, 0.000557627, 0.000557627, 0.000557627,
2203 0.000557627, 0.00196841, 0.00196841, 0.00196841, 0.00196841, 0.00196841, 0.00196841,
2204 0.00196841, 0.00196841, 0.00196841, 0.00196841, 0.00196841, 0.00196841, 0.000483595,
2205 0.000483595, 0.000483595, 0.000483595, 0.000483595, 0.000483595, 0.000483595, 0.000483595,
2206 0.000483595, 0.000483595, 0.000483595, 0.000483595, 0.00158208, 0.00158208, 0.00158208,
2207 0.00158208, 0.00158208, 0.00158208, 0.00158208, 0.00158208, 0.00158208, 0.00158208,
2208 0.00158208, 0.00158208, 0.00349003, 0.00349003, 0.00349003, 0.00349003, 0.00349003,
2209 0.00349003, 0.00349003, 0.00349003, 0.00349003, 0.00349003, 0.00349003, 0.00349003,
2210 0.000285726, 0.000285726, 0.000285726, 0.000285726, 0.000285726, 0.000285726, 0.000285726,
2211 0.000285726, 0.000285726, 0.000285726, 0.000285726, 0.000285726, 0.00126653, 0.00126653,
2212 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653,
2213 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653,
2214 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653, 0.00126653,
2215 0.00126653};
2216};
2217
2218template <common::CFloatingPoint TScalar>
2219struct SymmetricSimplexPolynomialQuadratureRule<3, 13, TScalar>
2220{
2221 inline static std::uint8_t constexpr kDims = 3;
2222 inline static std::uint16_t constexpr kPoints = 149;
2223 inline static std::uint8_t constexpr kOrder = 13;
2224 inline static std::array<TScalar, 596> constexpr points = {
2225 0.25, 0.25, 0.25, 0.25, 0.70194, 0.0993534, 0.0993534,
2226 0.0993534, 0.0993534, 0.70194, 0.0993534, 0.0993534, 0.0993534, 0.0993534,
2227 0.70194, 0.0993534, 0.0993534, 0.0993534, 0.0993534, 0.70194, 0.929144,
2228 0.0236187, 0.0236187, 0.0236187, 0.0236187, 0.929144, 0.0236187, 0.0236187,
2229 0.0236187, 0.0236187, 0.929144, 0.0236187, 0.0236187, 0.0236187, 0.0236187,
2230 0.929144, 0.097325, 0.300892, 0.300892, 0.300892, 0.300892, 0.097325,
2231 0.300892, 0.300892, 0.300892, 0.300892, 0.097325, 0.300892, 0.300892,
2232 0.300892, 0.300892, 0.097325, 0.455301, 0.181566, 0.181566, 0.181566,
2233 0.181566, 0.455301, 0.181566, 0.181566, 0.181566, 0.181566, 0.455301,
2234 0.181566, 0.181566, 0.181566, 0.181566, 0.455301, 0.00428161, 0.00428161,
2235 0.495718, 0.495718, 0.00428161, 0.495718, 0.00428161, 0.495718, 0.00428161,
2236 0.495718, 0.495718, 0.00428161, 0.495718, 0.00428161, 0.495718, 0.00428161,
2237 0.495718, 0.00428161, 0.00428161, 0.495718, 0.495718, 0.495718, 0.00428161,
2238 0.00428161, 0.122904, 0.122904, 0.377096, 0.377096, 0.122904, 0.377096,
2239 0.122904, 0.377096, 0.122904, 0.377096, 0.377096, 0.122904, 0.377096,
2240 0.122904, 0.377096, 0.122904, 0.377096, 0.122904, 0.122904, 0.377096,
2241 0.377096, 0.377096, 0.122904, 0.122904, 0.283182, 0.283182, 0.43038,
2242 0.00325605, 0.283182, 0.283182, 0.00325605, 0.43038, 0.283182, 0.43038,
2243 0.283182, 0.00325605, 0.283182, 0.43038, 0.00325605, 0.283182, 0.283182,
2244 0.00325605, 0.283182, 0.43038, 0.283182, 0.00325605, 0.43038, 0.283182,
2245 0.43038, 0.283182, 0.283182, 0.00325605, 0.43038, 0.283182, 0.00325605,
2246 0.283182, 0.43038, 0.00325605, 0.283182, 0.283182, 0.00325605, 0.283182,
2247 0.283182, 0.43038, 0.00325605, 0.283182, 0.43038, 0.283182, 0.00325605,
2248 0.43038, 0.283182, 0.283182, 0.0223949, 0.0223949, 0.834887, 0.120323,
2249 0.0223949, 0.0223949, 0.120323, 0.834887, 0.0223949, 0.834887, 0.0223949,
2250 0.120323, 0.0223949, 0.834887, 0.120323, 0.0223949, 0.0223949, 0.120323,
2251 0.0223949, 0.834887, 0.0223949, 0.120323, 0.834887, 0.0223949, 0.834887,
2252 0.0223949, 0.0223949, 0.120323, 0.834887, 0.0223949, 0.120323, 0.0223949,
2253 0.834887, 0.120323, 0.0223949, 0.0223949, 0.120323, 0.0223949, 0.0223949,
2254 0.834887, 0.120323, 0.0223949, 0.834887, 0.0223949, 0.120323, 0.834887,
2255 0.0223949, 0.0223949, 0.0219179, 0.0219179, 0.676918, 0.279247, 0.0219179,
2256 0.0219179, 0.279247, 0.676918, 0.0219179, 0.676918, 0.0219179, 0.279247,
2257 0.0219179, 0.676918, 0.279247, 0.0219179, 0.0219179, 0.279247, 0.0219179,
2258 0.676918, 0.0219179, 0.279247, 0.676918, 0.0219179, 0.676918, 0.0219179,
2259 0.0219179, 0.279247, 0.676918, 0.0219179, 0.279247, 0.0219179, 0.676918,
2260 0.279247, 0.0219179, 0.0219179, 0.279247, 0.0219179, 0.0219179, 0.676918,
2261 0.279247, 0.0219179, 0.676918, 0.0219179, 0.279247, 0.676918, 0.0219179,
2262 0.0219179, 0.214814, 0.214814, 0.522803, 0.0475685, 0.214814, 0.214814,
2263 0.0475685, 0.522803, 0.214814, 0.522803, 0.214814, 0.0475685, 0.214814,
2264 0.522803, 0.0475685, 0.214814, 0.214814, 0.0475685, 0.214814, 0.522803,
2265 0.214814, 0.0475685, 0.522803, 0.214814, 0.522803, 0.214814, 0.214814,
2266 0.0475685, 0.522803, 0.214814, 0.0475685, 0.214814, 0.522803, 0.0475685,
2267 0.214814, 0.214814, 0.0475685, 0.214814, 0.214814, 0.522803, 0.0475685,
2268 0.214814, 0.522803, 0.214814, 0.0475685, 0.522803, 0.214814, 0.214814,
2269 0.0800049, 0.0800049, 0.24689, 0.5931, 0.0800049, 0.0800049, 0.5931,
2270 0.24689, 0.0800049, 0.24689, 0.0800049, 0.5931, 0.0800049, 0.24689,
2271 0.5931, 0.0800049, 0.0800049, 0.5931, 0.0800049, 0.24689, 0.0800049,
2272 0.5931, 0.24689, 0.0800049, 0.24689, 0.0800049, 0.0800049, 0.5931,
2273 0.24689, 0.0800049, 0.5931, 0.0800049, 0.24689, 0.5931, 0.0800049,
2274 0.0800049, 0.5931, 0.0800049, 0.0800049, 0.24689, 0.5931, 0.0800049,
2275 0.24689, 0.0800049, 0.5931, 0.24689, 0.0800049, 0.0800049, 0.115795,
2276 0.115795, 0.749973, 0.0184379, 0.115795, 0.115795, 0.0184379, 0.749973,
2277 0.115795, 0.749973, 0.115795, 0.0184379, 0.115795, 0.749973, 0.0184379,
2278 0.115795, 0.115795, 0.0184379, 0.115795, 0.749973, 0.115795, 0.0184379,
2279 0.749973, 0.115795, 0.749973, 0.115795, 0.115795, 0.0184379, 0.749973,
2280 0.115795, 0.0184379, 0.115795, 0.749973, 0.0184379, 0.115795, 0.115795,
2281 0.0184379, 0.115795, 0.115795, 0.749973, 0.0184379, 0.115795, 0.749973,
2282 0.115795, 0.0184379, 0.749973, 0.115795, 0.115795, 0.391293, 0.391293,
2283 0.188355, 0.0290591, 0.391293, 0.391293, 0.0290591, 0.188355, 0.391293,
2284 0.188355, 0.391293, 0.0290591, 0.391293, 0.188355, 0.0290591, 0.391293,
2285 0.391293, 0.0290591, 0.391293, 0.188355, 0.391293, 0.0290591, 0.188355,
2286 0.391293, 0.188355, 0.391293, 0.391293, 0.0290591, 0.188355, 0.391293,
2287 0.0290591, 0.391293, 0.188355, 0.0290591, 0.391293, 0.391293, 0.0290591,
2288 0.391293, 0.391293, 0.188355, 0.0290591, 0.391293, 0.188355, 0.391293,
2289 0.0290591, 0.188355, 0.391293, 0.391293, 0.453157, 0.453157, 0.0220203,
2290 0.0716648, 0.453157, 0.453157, 0.0716648, 0.0220203, 0.453157, 0.0220203,
2291 0.453157, 0.0716648, 0.453157, 0.0220203, 0.0716648, 0.453157, 0.453157,
2292 0.0716648, 0.453157, 0.0220203, 0.453157, 0.0716648, 0.0220203, 0.453157,
2293 0.0220203, 0.453157, 0.453157, 0.0716648, 0.0220203, 0.453157, 0.0716648,
2294 0.453157, 0.0220203, 0.0716648, 0.453157, 0.453157, 0.0716648, 0.453157,
2295 0.453157, 0.0220203, 0.0716648, 0.453157, 0.0220203, 0.453157, 0.0716648,
2296 0.0220203, 0.453157, 0.453157, 0.27325, 0.607754, 0.00561878, 0.113377,
2297 0.27325, 0.607754, 0.113377, 0.00561878, 0.27325, 0.00561878, 0.607754,
2298 0.113377, 0.27325, 0.00561878, 0.113377, 0.607754, 0.27325, 0.113377,
2299 0.607754, 0.00561878, 0.27325, 0.113377, 0.00561878, 0.607754, 0.607754,
2300 0.27325, 0.00561878, 0.113377, 0.607754, 0.27325, 0.113377, 0.00561878,
2301 0.607754, 0.00561878, 0.27325, 0.113377, 0.607754, 0.00561878, 0.113377,
2302 0.27325, 0.607754, 0.113377, 0.27325, 0.00561878, 0.607754, 0.113377,
2303 0.00561878, 0.27325, 0.00561878, 0.27325, 0.607754, 0.113377, 0.00561878,
2304 0.27325, 0.113377, 0.607754, 0.00561878, 0.607754, 0.27325, 0.113377,
2305 0.00561878, 0.607754, 0.113377, 0.27325, 0.00561878, 0.113377, 0.27325,
2306 0.607754, 0.00561878, 0.113377, 0.607754, 0.27325, 0.113377, 0.27325,
2307 0.607754, 0.00561878, 0.113377, 0.27325, 0.00561878, 0.607754, 0.113377,
2308 0.607754, 0.27325, 0.00561878, 0.113377, 0.607754, 0.00561878, 0.27325,
2309 0.113377, 0.00561878, 0.27325, 0.607754, 0.113377, 0.00561878, 0.607754,
2310 0.27325};
2311 inline static std::array<TScalar, 149> constexpr weights = {
2312 0.00365263, 0.00134932, 0.00134932, 0.00134932, 0.00134932, 0.000217199, 0.000217199,
2313 0.000217199, 0.000217199, 0.00332768, 0.00332768, 0.00332768, 0.00332768, 0.00354284,
2314 0.00354284, 0.00354284, 0.00354284, 0.000128886, 0.000128886, 0.000128886, 0.000128886,
2315 0.000128886, 0.000128886, 0.00292582, 0.00292582, 0.00292582, 0.00292582, 0.00292582,
2316 0.00292582, 0.000356384, 0.000356384, 0.000356384, 0.000356384, 0.000356384, 0.000356384,
2317 0.000356384, 0.000356384, 0.000356384, 0.000356384, 0.000356384, 0.000356384, 0.0004276,
2318 0.0004276, 0.0004276, 0.0004276, 0.0004276, 0.0004276, 0.0004276, 0.0004276,
2319 0.0004276, 0.0004276, 0.0004276, 0.0004276, 0.000564923, 0.000564923, 0.000564923,
2320 0.000564923, 0.000564923, 0.000564923, 0.000564923, 0.000564923, 0.000564923, 0.000564923,
2321 0.000564923, 0.000564923, 0.00189305, 0.00189305, 0.00189305, 0.00189305, 0.00189305,
2322 0.00189305, 0.00189305, 0.00189305, 0.00189305, 0.00189305, 0.00189305, 0.00189305,
2323 0.00183867, 0.00183867, 0.00183867, 0.00183867, 0.00183867, 0.00183867, 0.00183867,
2324 0.00183867, 0.00183867, 0.00183867, 0.00183867, 0.00183867, 0.000762671, 0.000762671,
2325 0.000762671, 0.000762671, 0.000762671, 0.000762671, 0.000762671, 0.000762671, 0.000762671,
2326 0.000762671, 0.000762671, 0.000762671, 0.00137891, 0.00137891, 0.00137891, 0.00137891,
2327 0.00137891, 0.00137891, 0.00137891, 0.00137891, 0.00137891, 0.00137891, 0.00137891,
2328 0.00137891, 0.000977735, 0.000977735, 0.000977735, 0.000977735, 0.000977735, 0.000977735,
2329 0.000977735, 0.000977735, 0.000977735, 0.000977735, 0.000977735, 0.000977735, 0.000522431,
2330 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431,
2331 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431,
2332 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431, 0.000522431,
2333 0.000522431, 0.000522431};
2334};
2335
2336template <common::CFloatingPoint TScalar>
2337struct SymmetricSimplexPolynomialQuadratureRule<3, 14, TScalar>
2338{
2339 inline static std::uint8_t constexpr kDims = 3;
2340 inline static std::uint16_t constexpr kPoints = 194;
2341 inline static std::uint8_t constexpr kOrder = 14;
2342 inline static std::array<TScalar, 776> constexpr points = {
2343 0.618897, 0.127034, 0.127034, 0.127034, 0.127034, 0.618897, 0.127034,
2344 0.127034, 0.127034, 0.127034, 0.618897, 0.127034, 0.127034, 0.127034,
2345 0.127034, 0.618897, 0.888511, 0.0371631, 0.0371631, 0.0371631, 0.0371631,
2346 0.888511, 0.0371631, 0.0371631, 0.0371631, 0.0371631, 0.888511, 0.0371631,
2347 0.0371631, 0.0371631, 0.0371631, 0.888511, 0.0720651, 0.309312, 0.309312,
2348 0.309312, 0.309312, 0.0720651, 0.309312, 0.309312, 0.309312, 0.309312,
2349 0.0720651, 0.309312, 0.309312, 0.309312, 0.309312, 0.0720651, 0.766636,
2350 0.0777881, 0.0777881, 0.0777881, 0.0777881, 0.766636, 0.0777881, 0.0777881,
2351 0.0777881, 0.0777881, 0.766636, 0.0777881, 0.0777881, 0.0777881, 0.0777881,
2352 0.766636, 0.964372, 0.0118761, 0.0118761, 0.0118761, 0.0118761, 0.964372,
2353 0.0118761, 0.0118761, 0.0118761, 0.0118761, 0.964372, 0.0118761, 0.0118761,
2354 0.0118761, 0.0118761, 0.964372, 0.0237119, 0.0237119, 0.476288, 0.476288,
2355 0.0237119, 0.476288, 0.0237119, 0.476288, 0.0237119, 0.476288, 0.476288,
2356 0.0237119, 0.476288, 0.0237119, 0.476288, 0.0237119, 0.476288, 0.0237119,
2357 0.0237119, 0.476288, 0.476288, 0.476288, 0.0237119, 0.0237119, 0.0455142,
2358 0.0455142, 0.738849, 0.170123, 0.0455142, 0.0455142, 0.170123, 0.738849,
2359 0.0455142, 0.738849, 0.0455142, 0.170123, 0.0455142, 0.738849, 0.170123,
2360 0.0455142, 0.0455142, 0.170123, 0.0455142, 0.738849, 0.0455142, 0.170123,
2361 0.738849, 0.0455142, 0.738849, 0.0455142, 0.0455142, 0.170123, 0.738849,
2362 0.0455142, 0.170123, 0.0455142, 0.738849, 0.170123, 0.0455142, 0.0455142,
2363 0.170123, 0.0455142, 0.0455142, 0.738849, 0.170123, 0.0455142, 0.738849,
2364 0.0455142, 0.170123, 0.738849, 0.0455142, 0.0455142, 0.194571, 0.194571,
2365 0.361382, 0.249477, 0.194571, 0.194571, 0.249477, 0.361382, 0.194571,
2366 0.361382, 0.194571, 0.249477, 0.194571, 0.361382, 0.249477, 0.194571,
2367 0.194571, 0.249477, 0.194571, 0.361382, 0.194571, 0.249477, 0.361382,
2368 0.194571, 0.361382, 0.194571, 0.194571, 0.249477, 0.361382, 0.194571,
2369 0.249477, 0.194571, 0.361382, 0.249477, 0.194571, 0.194571, 0.249477,
2370 0.194571, 0.194571, 0.361382, 0.249477, 0.194571, 0.361382, 0.194571,
2371 0.249477, 0.361382, 0.194571, 0.194571, 0.421582, 0.421582, 0.13481,
2372 0.0220259, 0.421582, 0.421582, 0.0220259, 0.13481, 0.421582, 0.13481,
2373 0.421582, 0.0220259, 0.421582, 0.13481, 0.0220259, 0.421582, 0.421582,
2374 0.0220259, 0.421582, 0.13481, 0.421582, 0.0220259, 0.13481, 0.421582,
2375 0.13481, 0.421582, 0.421582, 0.0220259, 0.13481, 0.421582, 0.0220259,
2376 0.421582, 0.13481, 0.0220259, 0.421582, 0.421582, 0.0220259, 0.421582,
2377 0.421582, 0.13481, 0.0220259, 0.421582, 0.13481, 0.421582, 0.0220259,
2378 0.13481, 0.421582, 0.421582, 0.362277, 0.362277, 0.0910085, 0.184438,
2379 0.362277, 0.362277, 0.184438, 0.0910085, 0.362277, 0.0910085, 0.362277,
2380 0.184438, 0.362277, 0.0910085, 0.184438, 0.362277, 0.362277, 0.184438,
2381 0.362277, 0.0910085, 0.362277, 0.184438, 0.0910085, 0.362277, 0.0910085,
2382 0.362277, 0.362277, 0.184438, 0.0910085, 0.362277, 0.184438, 0.362277,
2383 0.0910085, 0.184438, 0.362277, 0.362277, 0.184438, 0.362277, 0.362277,
2384 0.0910085, 0.184438, 0.362277, 0.0910085, 0.362277, 0.184438, 0.0910085,
2385 0.362277, 0.362277, 0.26662, 0.26662, 0.45136, 0.0154004, 0.26662,
2386 0.26662, 0.0154004, 0.45136, 0.26662, 0.45136, 0.26662, 0.0154004,
2387 0.26662, 0.45136, 0.0154004, 0.26662, 0.26662, 0.0154004, 0.26662,
2388 0.45136, 0.26662, 0.0154004, 0.45136, 0.26662, 0.45136, 0.26662,
2389 0.26662, 0.0154004, 0.45136, 0.26662, 0.0154004, 0.26662, 0.45136,
2390 0.0154004, 0.26662, 0.26662, 0.0154004, 0.26662, 0.26662, 0.45136,
2391 0.0154004, 0.26662, 0.45136, 0.26662, 0.0154004, 0.45136, 0.26662,
2392 0.26662, 0.0787037, 0.0787037, 0.53854, 0.304053, 0.0787037, 0.0787037,
2393 0.304053, 0.53854, 0.0787037, 0.53854, 0.0787037, 0.304053, 0.0787037,
2394 0.53854, 0.304053, 0.0787037, 0.0787037, 0.304053, 0.0787037, 0.53854,
2395 0.0787037, 0.304053, 0.53854, 0.0787037, 0.53854, 0.0787037, 0.0787037,
2396 0.304053, 0.53854, 0.0787037, 0.304053, 0.0787037, 0.53854, 0.304053,
2397 0.0787037, 0.0787037, 0.304053, 0.0787037, 0.0787037, 0.53854, 0.304053,
2398 0.0787037, 0.53854, 0.0787037, 0.304053, 0.53854, 0.0787037, 0.0787037,
2399 0.014626, 0.014626, 0.681406, 0.289341, 0.014626, 0.014626, 0.289341,
2400 0.681406, 0.014626, 0.681406, 0.014626, 0.289341, 0.014626, 0.681406,
2401 0.289341, 0.014626, 0.014626, 0.289341, 0.014626, 0.681406, 0.014626,
2402 0.289341, 0.681406, 0.014626, 0.681406, 0.014626, 0.014626, 0.289341,
2403 0.681406, 0.014626, 0.289341, 0.014626, 0.681406, 0.289341, 0.014626,
2404 0.014626, 0.289341, 0.014626, 0.014626, 0.681406, 0.289341, 0.014626,
2405 0.681406, 0.014626, 0.289341, 0.681406, 0.014626, 0.014626, 0.207559,
2406 0.207559, 0.496413, 0.0884691, 0.207559, 0.207559, 0.0884691, 0.496413,
2407 0.207559, 0.496413, 0.207559, 0.0884691, 0.207559, 0.496413, 0.0884691,
2408 0.207559, 0.207559, 0.0884691, 0.207559, 0.496413, 0.207559, 0.0884691,
2409 0.496413, 0.207559, 0.496413, 0.207559, 0.207559, 0.0884691, 0.496413,
2410 0.207559, 0.0884691, 0.207559, 0.496413, 0.0884691, 0.207559, 0.207559,
2411 0.0884691, 0.207559, 0.207559, 0.496413, 0.0884691, 0.207559, 0.496413,
2412 0.207559, 0.0884691, 0.496413, 0.207559, 0.207559, 0.00317673, 0.00317673,
2413 0.885716, 0.10793, 0.00317673, 0.00317673, 0.10793, 0.885716, 0.00317673,
2414 0.885716, 0.00317673, 0.10793, 0.00317673, 0.885716, 0.10793, 0.00317673,
2415 0.00317673, 0.10793, 0.00317673, 0.885716, 0.00317673, 0.10793, 0.885716,
2416 0.00317673, 0.885716, 0.00317673, 0.00317673, 0.10793, 0.885716, 0.00317673,
2417 0.10793, 0.00317673, 0.885716, 0.10793, 0.00317673, 0.00317673, 0.10793,
2418 0.00317673, 0.00317673, 0.885716, 0.10793, 0.00317673, 0.885716, 0.00317673,
2419 0.10793, 0.885716, 0.00317673, 0.00317673, 0.166347, 0.166347, 0.642215,
2420 0.0250922, 0.166347, 0.166347, 0.0250922, 0.642215, 0.166347, 0.642215,
2421 0.166347, 0.0250922, 0.166347, 0.642215, 0.0250922, 0.166347, 0.166347,
2422 0.0250922, 0.166347, 0.642215, 0.166347, 0.0250922, 0.642215, 0.166347,
2423 0.642215, 0.166347, 0.166347, 0.0250922, 0.642215, 0.166347, 0.0250922,
2424 0.166347, 0.642215, 0.0250922, 0.166347, 0.166347, 0.0250922, 0.166347,
2425 0.166347, 0.642215, 0.0250922, 0.166347, 0.642215, 0.166347, 0.0250922,
2426 0.642215, 0.166347, 0.166347, 0.596988, 0.303442, 0.00772106, 0.0918489,
2427 0.596988, 0.303442, 0.0918489, 0.00772106, 0.596988, 0.00772106, 0.303442,
2428 0.0918489, 0.596988, 0.00772106, 0.0918489, 0.303442, 0.596988, 0.0918489,
2429 0.303442, 0.00772106, 0.596988, 0.0918489, 0.00772106, 0.303442, 0.303442,
2430 0.596988, 0.00772106, 0.0918489, 0.303442, 0.596988, 0.0918489, 0.00772106,
2431 0.303442, 0.00772106, 0.596988, 0.0918489, 0.303442, 0.00772106, 0.0918489,
2432 0.596988, 0.303442, 0.0918489, 0.596988, 0.00772106, 0.303442, 0.0918489,
2433 0.00772106, 0.596988, 0.00772106, 0.596988, 0.303442, 0.0918489, 0.00772106,
2434 0.596988, 0.0918489, 0.303442, 0.00772106, 0.303442, 0.596988, 0.0918489,
2435 0.00772106, 0.303442, 0.0918489, 0.596988, 0.00772106, 0.0918489, 0.596988,
2436 0.303442, 0.00772106, 0.0918489, 0.303442, 0.596988, 0.0918489, 0.596988,
2437 0.303442, 0.00772106, 0.0918489, 0.596988, 0.00772106, 0.303442, 0.0918489,
2438 0.303442, 0.596988, 0.00772106, 0.0918489, 0.303442, 0.00772106, 0.596988,
2439 0.0918489, 0.00772106, 0.596988, 0.303442, 0.0918489, 0.00772106, 0.303442,
2440 0.596988, 0.813797, 0.0602133, 0.125826, 0.000164468, 0.813797, 0.0602133,
2441 0.000164468, 0.125826, 0.813797, 0.125826, 0.0602133, 0.000164468, 0.813797,
2442 0.125826, 0.000164468, 0.0602133, 0.813797, 0.000164468, 0.0602133, 0.125826,
2443 0.813797, 0.000164468, 0.125826, 0.0602133, 0.0602133, 0.813797, 0.125826,
2444 0.000164468, 0.0602133, 0.813797, 0.000164468, 0.125826, 0.0602133, 0.125826,
2445 0.813797, 0.000164468, 0.0602133, 0.125826, 0.000164468, 0.813797, 0.0602133,
2446 0.000164468, 0.813797, 0.125826, 0.0602133, 0.000164468, 0.125826, 0.813797,
2447 0.125826, 0.813797, 0.0602133, 0.000164468, 0.125826, 0.813797, 0.000164468,
2448 0.0602133, 0.125826, 0.0602133, 0.813797, 0.000164468, 0.125826, 0.0602133,
2449 0.000164468, 0.813797, 0.125826, 0.000164468, 0.813797, 0.0602133, 0.125826,
2450 0.000164468, 0.0602133, 0.813797, 0.000164468, 0.813797, 0.0602133, 0.125826,
2451 0.000164468, 0.813797, 0.125826, 0.0602133, 0.000164468, 0.0602133, 0.813797,
2452 0.125826, 0.000164468, 0.0602133, 0.125826, 0.813797, 0.000164468, 0.125826,
2453 0.813797, 0.0602133, 0.000164468, 0.125826, 0.0602133, 0.813797};
2454 inline static std::array<TScalar, 194> constexpr weights = {
2455 0.00149738, 0.00149738, 0.00149738, 0.00149738, 0.000392358, 0.000392358, 0.000392358,
2456 0.000392358, 0.00122259, 0.00122259, 0.00122259, 0.00122259, 0.000601049, 0.000601049,
2457 0.000601049, 0.000601049, 3.79944e-05, 3.79944e-05, 3.79944e-05, 3.79944e-05, 0.000708448,
2458 0.000708448, 0.000708448, 0.000708448, 0.000708448, 0.000708448, 0.000837049, 0.000837049,
2459 0.000837049, 0.000837049, 0.000837049, 0.000837049, 0.000837049, 0.000837049, 0.000837049,
2460 0.000837049, 0.000837049, 0.000837049, 0.00110684, 0.00110684, 0.00110684, 0.00110684,
2461 0.00110684, 0.00110684, 0.00110684, 0.00110684, 0.00110684, 0.00110684, 0.00110684,
2462 0.00110684, 0.00108111, 0.00108111, 0.00108111, 0.00108111, 0.00108111, 0.00108111,
2463 0.00108111, 0.00108111, 0.00108111, 0.00108111, 0.00108111, 0.00108111, 0.00180821,
2464 0.00180821, 0.00180821, 0.00180821, 0.00180821, 0.00180821, 0.00180821, 0.00180821,
2465 0.00180821, 0.00180821, 0.00180821, 0.00180821, 0.00116371, 0.00116371, 0.00116371,
2466 0.00116371, 0.00116371, 0.00116371, 0.00116371, 0.00116371, 0.00116371, 0.00116371,
2467 0.00116371, 0.00116371, 0.00176274, 0.00176274, 0.00176274, 0.00176274, 0.00176274,
2468 0.00176274, 0.00176274, 0.00176274, 0.00176274, 0.00176274, 0.00176274, 0.00176274,
2469 0.000287529, 0.000287529, 0.000287529, 0.000287529, 0.000287529, 0.000287529, 0.000287529,
2470 0.000287529, 0.000287529, 0.000287529, 0.000287529, 0.000287529, 0.00177338, 0.00177338,
2471 0.00177338, 0.00177338, 0.00177338, 0.00177338, 0.00177338, 0.00177338, 0.00177338,
2472 0.00177338, 0.00177338, 0.00177338, 5.27121e-05, 5.27121e-05, 5.27121e-05, 5.27121e-05,
2473 5.27121e-05, 5.27121e-05, 5.27121e-05, 5.27121e-05, 5.27121e-05, 5.27121e-05, 5.27121e-05,
2474 5.27121e-05, 0.00112702, 0.00112702, 0.00112702, 0.00112702, 0.00112702, 0.00112702,
2475 0.00112702, 0.00112702, 0.00112702, 0.00112702, 0.00112702, 0.00112702, 0.000488953,
2476 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953,
2477 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953,
2478 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953, 0.000488953,
2479 0.000488953, 0.000488953, 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006,
2480 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006,
2481 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006,
2482 0.000153006, 0.000153006, 0.000153006, 0.000153006, 0.000153006};
2483};
2484
2485template <common::CFloatingPoint TScalar>
2486struct SymmetricSimplexPolynomialQuadratureRule<3, 15, TScalar>
2487{
2488 inline static std::uint8_t constexpr kDims = 3;
2489 inline static std::uint16_t constexpr kPoints = 246;
2490 inline static std::uint8_t constexpr kOrder = 15;
2491 inline static std::array<TScalar, 984> constexpr points = {
2492 0.156278, 0.281241, 0.281241, 0.281241, 0.281241, 0.156278, 0.281241,
2493 0.281241, 0.281241, 0.281241, 0.156278, 0.281241, 0.281241, 0.281241,
2494 0.281241, 0.156278, 0.999997, 1e-06, 1e-06, 1e-06, 1e-06,
2495 0.999997, 1e-06, 1e-06, 1e-06, 1e-06, 0.999997, 1e-06,
2496 1e-06, 1e-06, 1e-06, 0.999997, 0.00831048, 0.330563, 0.330563,
2497 0.330563, 0.330563, 0.00831048, 0.330563, 0.330563, 0.330563, 0.330563,
2498 0.00831048, 0.330563, 0.330563, 0.330563, 0.330563, 0.00831048, 0.0565544,
2499 0.0565544, 0.443446, 0.443446, 0.0565544, 0.443446, 0.0565544, 0.443446,
2500 0.0565544, 0.443446, 0.443446, 0.0565544, 0.443446, 0.0565544, 0.443446,
2501 0.0565544, 0.443446, 0.0565544, 0.0565544, 0.443446, 0.443446, 0.443446,
2502 0.0565544, 0.0565544, 0.134065, 0.134065, 0.365935, 0.365935, 0.134065,
2503 0.365935, 0.134065, 0.365935, 0.134065, 0.365935, 0.365935, 0.134065,
2504 0.365935, 0.134065, 0.365935, 0.134065, 0.365935, 0.134065, 0.134065,
2505 0.365935, 0.365935, 0.365935, 0.134065, 0.134065, 0.0123908, 0.0123908,
2506 0.487609, 0.487609, 0.0123908, 0.487609, 0.0123908, 0.487609, 0.0123908,
2507 0.487609, 0.487609, 0.0123908, 0.487609, 0.0123908, 0.487609, 0.0123908,
2508 0.487609, 0.0123908, 0.0123908, 0.487609, 0.487609, 0.487609, 0.0123908,
2509 0.0123908, 0.142211, 0.142211, 0.648098, 0.0674793, 0.142211, 0.142211,
2510 0.0674793, 0.648098, 0.142211, 0.648098, 0.142211, 0.0674793, 0.142211,
2511 0.648098, 0.0674793, 0.142211, 0.142211, 0.0674793, 0.142211, 0.648098,
2512 0.142211, 0.0674793, 0.648098, 0.142211, 0.648098, 0.142211, 0.142211,
2513 0.0674793, 0.648098, 0.142211, 0.0674793, 0.142211, 0.648098, 0.0674793,
2514 0.142211, 0.142211, 0.0674793, 0.142211, 0.142211, 0.648098, 0.0674793,
2515 0.142211, 0.648098, 0.142211, 0.0674793, 0.648098, 0.142211, 0.142211,
2516 0.0209003, 0.0209003, 0.651163, 0.307036, 0.0209003, 0.0209003, 0.307036,
2517 0.651163, 0.0209003, 0.651163, 0.0209003, 0.307036, 0.0209003, 0.651163,
2518 0.307036, 0.0209003, 0.0209003, 0.307036, 0.0209003, 0.651163, 0.0209003,
2519 0.307036, 0.651163, 0.0209003, 0.651163, 0.0209003, 0.0209003, 0.307036,
2520 0.651163, 0.0209003, 0.307036, 0.0209003, 0.651163, 0.307036, 0.0209003,
2521 0.0209003, 0.307036, 0.0209003, 0.0209003, 0.651163, 0.307036, 0.0209003,
2522 0.651163, 0.0209003, 0.307036, 0.651163, 0.0209003, 0.0209003, 0.101442,
2523 0.101442, 0.794475, 0.00264129, 0.101442, 0.101442, 0.00264129, 0.794475,
2524 0.101442, 0.794475, 0.101442, 0.00264129, 0.101442, 0.794475, 0.00264129,
2525 0.101442, 0.101442, 0.00264129, 0.101442, 0.794475, 0.101442, 0.00264129,
2526 0.794475, 0.101442, 0.794475, 0.101442, 0.101442, 0.00264129, 0.794475,
2527 0.101442, 0.00264129, 0.101442, 0.794475, 0.00264129, 0.101442, 0.101442,
2528 0.00264129, 0.101442, 0.101442, 0.794475, 0.00264129, 0.101442, 0.794475,
2529 0.101442, 0.00264129, 0.794475, 0.101442, 0.101442, 0.0877557, 0.0877557,
2530 0.538915, 0.285574, 0.0877557, 0.0877557, 0.285574, 0.538915, 0.0877557,
2531 0.538915, 0.0877557, 0.285574, 0.0877557, 0.538915, 0.285574, 0.0877557,
2532 0.0877557, 0.285574, 0.0877557, 0.538915, 0.0877557, 0.285574, 0.538915,
2533 0.0877557, 0.538915, 0.0877557, 0.0877557, 0.285574, 0.538915, 0.0877557,
2534 0.285574, 0.0877557, 0.538915, 0.285574, 0.0877557, 0.0877557, 0.285574,
2535 0.0877557, 0.0877557, 0.538915, 0.285574, 0.0877557, 0.538915, 0.0877557,
2536 0.285574, 0.538915, 0.0877557, 0.0877557, 0.0199844, 0.0199844, 0.842282,
2537 0.117749, 0.0199844, 0.0199844, 0.117749, 0.842282, 0.0199844, 0.842282,
2538 0.0199844, 0.117749, 0.0199844, 0.842282, 0.117749, 0.0199844, 0.0199844,
2539 0.117749, 0.0199844, 0.842282, 0.0199844, 0.117749, 0.842282, 0.0199844,
2540 0.842282, 0.0199844, 0.0199844, 0.117749, 0.842282, 0.0199844, 0.117749,
2541 0.0199844, 0.842282, 0.117749, 0.0199844, 0.0199844, 0.117749, 0.0199844,
2542 0.0199844, 0.842282, 0.117749, 0.0199844, 0.842282, 0.0199844, 0.117749,
2543 0.842282, 0.0199844, 0.0199844, 0.0664994, 0.0664994, 0.80627, 0.0607309,
2544 0.0664994, 0.0664994, 0.0607309, 0.80627, 0.0664994, 0.80627, 0.0664994,
2545 0.0607309, 0.0664994, 0.80627, 0.0607309, 0.0664994, 0.0664994, 0.0607309,
2546 0.0664994, 0.80627, 0.0664994, 0.0607309, 0.80627, 0.0664994, 0.80627,
2547 0.0664994, 0.0664994, 0.0607309, 0.80627, 0.0664994, 0.0607309, 0.0664994,
2548 0.80627, 0.0607309, 0.0664994, 0.0664994, 0.0607309, 0.0664994, 0.0664994,
2549 0.80627, 0.0607309, 0.0664994, 0.80627, 0.0664994, 0.0607309, 0.80627,
2550 0.0664994, 0.0664994, 0.254384, 0.254384, 0.425138, 0.0660935, 0.254384,
2551 0.254384, 0.0660935, 0.425138, 0.254384, 0.425138, 0.254384, 0.0660935,
2552 0.254384, 0.425138, 0.0660935, 0.254384, 0.254384, 0.0660935, 0.254384,
2553 0.425138, 0.254384, 0.0660935, 0.425138, 0.254384, 0.425138, 0.254384,
2554 0.254384, 0.0660935, 0.425138, 0.254384, 0.0660935, 0.254384, 0.425138,
2555 0.0660935, 0.254384, 0.254384, 0.0660935, 0.254384, 0.254384, 0.425138,
2556 0.0660935, 0.254384, 0.425138, 0.254384, 0.0660935, 0.425138, 0.254384,
2557 0.254384, 0.00234541, 0.00234541, 0.777439, 0.21787, 0.00234541, 0.00234541,
2558 0.21787, 0.777439, 0.00234541, 0.777439, 0.00234541, 0.21787, 0.00234541,
2559 0.777439, 0.21787, 0.00234541, 0.00234541, 0.21787, 0.00234541, 0.777439,
2560 0.00234541, 0.21787, 0.777439, 0.00234541, 0.777439, 0.00234541, 0.00234541,
2561 0.21787, 0.777439, 0.00234541, 0.21787, 0.00234541, 0.777439, 0.21787,
2562 0.00234541, 0.00234541, 0.21787, 0.00234541, 0.00234541, 0.777439, 0.21787,
2563 0.00234541, 0.777439, 0.00234541, 0.21787, 0.777439, 0.00234541, 0.00234541,
2564 0.218041, 0.218041, 0.5637, 0.000217597, 0.218041, 0.218041, 0.000217597,
2565 0.5637, 0.218041, 0.5637, 0.218041, 0.000217597, 0.218041, 0.5637,
2566 0.000217597, 0.218041, 0.218041, 0.000217597, 0.218041, 0.5637, 0.218041,
2567 0.000217597, 0.5637, 0.218041, 0.5637, 0.218041, 0.218041, 0.000217597,
2568 0.5637, 0.218041, 0.000217597, 0.218041, 0.5637, 0.000217597, 0.218041,
2569 0.218041, 0.000217597, 0.218041, 0.218041, 0.5637, 0.000217597, 0.218041,
2570 0.5637, 0.218041, 0.000217597, 0.5637, 0.218041, 0.218041, 0.176285,
2571 0.176285, 0.471135, 0.176295, 0.176285, 0.176285, 0.176295, 0.471135,
2572 0.176285, 0.471135, 0.176285, 0.176295, 0.176285, 0.471135, 0.176295,
2573 0.176285, 0.176285, 0.176295, 0.176285, 0.471135, 0.176285, 0.176295,
2574 0.471135, 0.176285, 0.471135, 0.176285, 0.176285, 0.176295, 0.471135,
2575 0.176285, 0.176295, 0.176285, 0.471135, 0.176295, 0.176285, 0.176285,
2576 0.176295, 0.176285, 0.176285, 0.471135, 0.176295, 0.176285, 0.471135,
2577 0.176285, 0.176295, 0.471135, 0.176285, 0.176285, 0.036926, 0.036926,
2578 0.923193, 0.00295458, 0.036926, 0.036926, 0.00295458, 0.923193, 0.036926,
2579 0.923193, 0.036926, 0.00295458, 0.036926, 0.923193, 0.00295458, 0.036926,
2580 0.036926, 0.00295458, 0.036926, 0.923193, 0.036926, 0.00295458, 0.923193,
2581 0.036926, 0.923193, 0.036926, 0.036926, 0.00295458, 0.923193, 0.036926,
2582 0.00295458, 0.036926, 0.923193, 0.00295458, 0.036926, 0.036926, 0.00295458,
2583 0.036926, 0.036926, 0.923193, 0.00295458, 0.036926, 0.923193, 0.036926,
2584 0.00295458, 0.923193, 0.036926, 0.036926, 0.399151, 0.399151, 0.180251,
2585 0.0214468, 0.399151, 0.399151, 0.0214468, 0.180251, 0.399151, 0.180251,
2586 0.399151, 0.0214468, 0.399151, 0.180251, 0.0214468, 0.399151, 0.399151,
2587 0.0214468, 0.399151, 0.180251, 0.399151, 0.0214468, 0.180251, 0.399151,
2588 0.180251, 0.399151, 0.399151, 0.0214468, 0.180251, 0.399151, 0.0214468,
2589 0.399151, 0.180251, 0.0214468, 0.399151, 0.399151, 0.0214468, 0.399151,
2590 0.399151, 0.180251, 0.0214468, 0.399151, 0.180251, 0.399151, 0.0214468,
2591 0.180251, 0.399151, 0.399151, 0.709922, 0.077819, 0.0195614, 0.192697,
2592 0.709922, 0.077819, 0.192697, 0.0195614, 0.709922, 0.0195614, 0.077819,
2593 0.192697, 0.709922, 0.0195614, 0.192697, 0.077819, 0.709922, 0.192697,
2594 0.077819, 0.0195614, 0.709922, 0.192697, 0.0195614, 0.077819, 0.077819,
2595 0.709922, 0.0195614, 0.192697, 0.077819, 0.709922, 0.192697, 0.0195614,
2596 0.077819, 0.0195614, 0.709922, 0.192697, 0.077819, 0.0195614, 0.192697,
2597 0.709922, 0.077819, 0.192697, 0.709922, 0.0195614, 0.077819, 0.192697,
2598 0.0195614, 0.709922, 0.0195614, 0.709922, 0.077819, 0.192697, 0.0195614,
2599 0.709922, 0.192697, 0.077819, 0.0195614, 0.077819, 0.709922, 0.192697,
2600 0.0195614, 0.077819, 0.192697, 0.709922, 0.0195614, 0.192697, 0.709922,
2601 0.077819, 0.0195614, 0.192697, 0.077819, 0.709922, 0.192697, 0.709922,
2602 0.077819, 0.0195614, 0.192697, 0.709922, 0.0195614, 0.077819, 0.192697,
2603 0.077819, 0.709922, 0.0195614, 0.192697, 0.077819, 0.0195614, 0.709922,
2604 0.192697, 0.0195614, 0.709922, 0.077819, 0.192697, 0.0195614, 0.077819,
2605 0.709922, 0.550328, 0.081644, 0.00913455, 0.358893, 0.550328, 0.081644,
2606 0.358893, 0.00913455, 0.550328, 0.00913455, 0.081644, 0.358893, 0.550328,
2607 0.00913455, 0.358893, 0.081644, 0.550328, 0.358893, 0.081644, 0.00913455,
2608 0.550328, 0.358893, 0.00913455, 0.081644, 0.081644, 0.550328, 0.00913455,
2609 0.358893, 0.081644, 0.550328, 0.358893, 0.00913455, 0.081644, 0.00913455,
2610 0.550328, 0.358893, 0.081644, 0.00913455, 0.358893, 0.550328, 0.081644,
2611 0.358893, 0.550328, 0.00913455, 0.081644, 0.358893, 0.00913455, 0.550328,
2612 0.00913455, 0.550328, 0.081644, 0.358893, 0.00913455, 0.550328, 0.358893,
2613 0.081644, 0.00913455, 0.081644, 0.550328, 0.358893, 0.00913455, 0.081644,
2614 0.358893, 0.550328, 0.00913455, 0.358893, 0.550328, 0.081644, 0.00913455,
2615 0.358893, 0.081644, 0.550328, 0.358893, 0.550328, 0.081644, 0.00913455,
2616 0.358893, 0.550328, 0.00913455, 0.081644, 0.358893, 0.081644, 0.550328,
2617 0.00913455, 0.358893, 0.081644, 0.00913455, 0.550328, 0.358893, 0.00913455,
2618 0.550328, 0.081644, 0.358893, 0.00913455, 0.081644, 0.550328, 0.550253,
2619 0.145933, 0.0414455, 0.262369, 0.550253, 0.145933, 0.262369, 0.0414455,
2620 0.550253, 0.0414455, 0.145933, 0.262369, 0.550253, 0.0414455, 0.262369,
2621 0.145933, 0.550253, 0.262369, 0.145933, 0.0414455, 0.550253, 0.262369,
2622 0.0414455, 0.145933, 0.145933, 0.550253, 0.0414455, 0.262369, 0.145933,
2623 0.550253, 0.262369, 0.0414455, 0.145933, 0.0414455, 0.550253, 0.262369,
2624 0.145933, 0.0414455, 0.262369, 0.550253, 0.145933, 0.262369, 0.550253,
2625 0.0414455, 0.145933, 0.262369, 0.0414455, 0.550253, 0.0414455, 0.550253,
2626 0.145933, 0.262369, 0.0414455, 0.550253, 0.262369, 0.145933, 0.0414455,
2627 0.145933, 0.550253, 0.262369, 0.0414455, 0.145933, 0.262369, 0.550253,
2628 0.0414455, 0.262369, 0.550253, 0.145933, 0.0414455, 0.262369, 0.145933,
2629 0.550253, 0.262369, 0.550253, 0.145933, 0.0414455, 0.262369, 0.550253,
2630 0.0414455, 0.145933, 0.262369, 0.145933, 0.550253, 0.0414455, 0.262369,
2631 0.145933, 0.0414455, 0.550253, 0.262369, 0.0414455, 0.550253, 0.145933,
2632 0.262369, 0.0414455, 0.145933, 0.550253};
2633 inline static std::array<TScalar, 246> constexpr weights = {
2634 0.00251943, 0.00251943, 0.00251943, 0.00251943, 2.89784e-06, 2.89784e-06, 2.89784e-06,
2635 2.89784e-06, 0.000680975, 0.000680975, 0.000680975, 0.000680975, 0.000988252, 0.000988252,
2636 0.000988252, 0.000988252, 0.000988252, 0.000988252, 0.00236675, 0.00236675, 0.00236675,
2637 0.00236675, 0.00236675, 0.00236675, 0.000227639, 0.000227639, 0.000227639, 0.000227639,
2638 0.000227639, 0.000227639, 0.000996406, 0.000996406, 0.000996406, 0.000996406, 0.000996406,
2639 0.000996406, 0.000996406, 0.000996406, 0.000996406, 0.000996406, 0.000996406, 0.000996406,
2640 0.000355643, 0.000355643, 0.000355643, 0.000355643, 0.000355643, 0.000355643, 0.000355643,
2641 0.000355643, 0.000355643, 0.000355643, 0.000355643, 0.000355643, 0.000142919, 0.000142919,
2642 0.000142919, 0.000142919, 0.000142919, 0.000142919, 0.000142919, 0.000142919, 0.000142919,
2643 0.000142919, 0.000142919, 0.000142919, 0.00109236, 0.00109236, 0.00109236, 0.00109236,
2644 0.00109236, 0.00109236, 0.00109236, 0.00109236, 0.00109236, 0.00109236, 0.00109236,
2645 0.00109236, 0.000242066, 0.000242066, 0.000242066, 0.000242066, 0.000242066, 0.000242066,
2646 0.000242066, 0.000242066, 0.000242066, 0.000242066, 0.000242066, 0.000242066, 0.000246275,
2647 0.000246275, 0.000246275, 0.000246275, 0.000246275, 0.000246275, 0.000246275, 0.000246275,
2648 0.000246275, 0.000246275, 0.000246275, 0.000246275, 0.00180259, 0.00180259, 0.00180259,
2649 0.00180259, 0.00180259, 0.00180259, 0.00180259, 0.00180259, 0.00180259, 0.00180259,
2650 0.00180259, 0.00180259, 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05,
2651 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05, 4.11774e-05,
2652 0.000391096, 0.000391096, 0.000391096, 0.000391096, 0.000391096, 0.000391096, 0.000391096,
2653 0.000391096, 0.000391096, 0.000391096, 0.000391096, 0.000391096, 0.000930759, 0.000930759,
2654 0.000930759, 0.000930759, 0.000930759, 0.000930759, 0.000930759, 0.000930759, 0.000930759,
2655 0.000930759, 0.000930759, 0.000930759, 7.93583e-05, 7.93583e-05, 7.93583e-05, 7.93583e-05,
2656 7.93583e-05, 7.93583e-05, 7.93583e-05, 7.93583e-05, 7.93583e-05, 7.93583e-05, 7.93583e-05,
2657 7.93583e-05, 0.00108759, 0.00108759, 0.00108759, 0.00108759, 0.00108759, 0.00108759,
2658 0.00108759, 0.00108759, 0.00108759, 0.00108759, 0.00108759, 0.00108759, 0.000592549,
2659 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549,
2660 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549,
2661 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549, 0.000592549,
2662 0.000592549, 0.000592549, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453,
2663 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453,
2664 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453,
2665 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000424453, 0.000793778, 0.000793778,
2666 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778,
2667 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778,
2668 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778, 0.000793778,
2669 0.000793778};
2670};
2671
2672template <common::CFloatingPoint TScalar>
2673struct SymmetricSimplexPolynomialQuadratureRule<3, 16, TScalar>
2674{
2675 inline static std::uint8_t constexpr kDims = 3;
2676 inline static std::uint16_t constexpr kPoints = 304;
2677 inline static std::uint8_t constexpr kOrder = 16;
2678 inline static std::array<TScalar, 1216> constexpr points = {
2679 0.0109856, 0.329671, 0.329671, 0.329671, 0.329671, 0.0109856, 0.329671,
2680 0.329671, 0.329671, 0.329671, 0.0109856, 0.329671, 0.329671, 0.329671,
2681 0.329671, 0.0109856, 0.663874, 0.112042, 0.112042, 0.112042, 0.112042,
2682 0.663874, 0.112042, 0.112042, 0.112042, 0.112042, 0.663874, 0.112042,
2683 0.112042, 0.112042, 0.112042, 0.663874, 0.158662, 0.280446, 0.280446,
2684 0.280446, 0.280446, 0.158662, 0.280446, 0.280446, 0.280446, 0.280446,
2685 0.158662, 0.280446, 0.280446, 0.280446, 0.280446, 0.158662, 0.881735,
2686 0.0394216, 0.0394216, 0.0394216, 0.0394216, 0.881735, 0.0394216, 0.0394216,
2687 0.0394216, 0.0394216, 0.881735, 0.0394216, 0.0394216, 0.0394216, 0.0394216,
2688 0.881735, 0.0749174, 0.0749174, 0.425083, 0.425083, 0.0749174, 0.425083,
2689 0.0749174, 0.425083, 0.0749174, 0.425083, 0.425083, 0.0749174, 0.425083,
2690 0.0749174, 0.425083, 0.0749174, 0.425083, 0.0749174, 0.0749174, 0.425083,
2691 0.425083, 0.425083, 0.0749174, 0.0749174, 0.335693, 0.335693, 0.164307,
2692 0.164307, 0.335693, 0.164307, 0.335693, 0.164307, 0.335693, 0.164307,
2693 0.164307, 0.335693, 0.164307, 0.335693, 0.164307, 0.335693, 0.164307,
2694 0.335693, 0.335693, 0.164307, 0.164307, 0.164307, 0.335693, 0.335693,
2695 0.049049, 0.049049, 0.764687, 0.137215, 0.049049, 0.049049, 0.137215,
2696 0.764687, 0.049049, 0.764687, 0.049049, 0.137215, 0.049049, 0.764687,
2697 0.137215, 0.049049, 0.049049, 0.137215, 0.049049, 0.764687, 0.049049,
2698 0.137215, 0.764687, 0.049049, 0.764687, 0.049049, 0.049049, 0.137215,
2699 0.764687, 0.049049, 0.137215, 0.049049, 0.764687, 0.137215, 0.049049,
2700 0.049049, 0.137215, 0.049049, 0.049049, 0.764687, 0.137215, 0.049049,
2701 0.764687, 0.049049, 0.137215, 0.764687, 0.049049, 0.049049, 0.0141261,
2702 0.0141261, 0.232827, 0.738921, 0.0141261, 0.0141261, 0.738921, 0.232827,
2703 0.0141261, 0.232827, 0.0141261, 0.738921, 0.0141261, 0.232827, 0.738921,
2704 0.0141261, 0.0141261, 0.738921, 0.0141261, 0.232827, 0.0141261, 0.738921,
2705 0.232827, 0.0141261, 0.232827, 0.0141261, 0.0141261, 0.738921, 0.232827,
2706 0.0141261, 0.738921, 0.0141261, 0.232827, 0.738921, 0.0141261, 0.0141261,
2707 0.738921, 0.0141261, 0.0141261, 0.232827, 0.738921, 0.0141261, 0.232827,
2708 0.0141261, 0.738921, 0.232827, 0.0141261, 0.0141261, 0.0623965, 0.0623965,
2709 0.283242, 0.591965, 0.0623965, 0.0623965, 0.591965, 0.283242, 0.0623965,
2710 0.283242, 0.0623965, 0.591965, 0.0623965, 0.283242, 0.591965, 0.0623965,
2711 0.0623965, 0.591965, 0.0623965, 0.283242, 0.0623965, 0.591965, 0.283242,
2712 0.0623965, 0.283242, 0.0623965, 0.0623965, 0.591965, 0.283242, 0.0623965,
2713 0.591965, 0.0623965, 0.283242, 0.591965, 0.0623965, 0.0623965, 0.591965,
2714 0.0623965, 0.0623965, 0.283242, 0.591965, 0.0623965, 0.283242, 0.0623965,
2715 0.591965, 0.283242, 0.0623965, 0.0623965, 0.189096, 0.189096, 0.0128319,
2716 0.608976, 0.189096, 0.189096, 0.608976, 0.0128319, 0.189096, 0.0128319,
2717 0.189096, 0.608976, 0.189096, 0.0128319, 0.608976, 0.189096, 0.189096,
2718 0.608976, 0.189096, 0.0128319, 0.189096, 0.608976, 0.0128319, 0.189096,
2719 0.0128319, 0.189096, 0.189096, 0.608976, 0.0128319, 0.189096, 0.608976,
2720 0.189096, 0.0128319, 0.608976, 0.189096, 0.189096, 0.608976, 0.189096,
2721 0.189096, 0.0128319, 0.608976, 0.189096, 0.0128319, 0.189096, 0.608976,
2722 0.0128319, 0.189096, 0.189096, 0.275018, 0.275018, 0.387271, 0.0626938,
2723 0.275018, 0.275018, 0.0626938, 0.387271, 0.275018, 0.387271, 0.275018,
2724 0.0626938, 0.275018, 0.387271, 0.0626938, 0.275018, 0.275018, 0.0626938,
2725 0.275018, 0.387271, 0.275018, 0.0626938, 0.387271, 0.275018, 0.387271,
2726 0.275018, 0.275018, 0.0626938, 0.387271, 0.275018, 0.0626938, 0.275018,
2727 0.387271, 0.0626938, 0.275018, 0.275018, 0.0626938, 0.275018, 0.275018,
2728 0.387271, 0.0626938, 0.275018, 0.387271, 0.275018, 0.0626938, 0.387271,
2729 0.275018, 0.275018, 0.0059449, 0.0059449, 0.0372381, 0.950872, 0.0059449,
2730 0.0059449, 0.950872, 0.0372381, 0.0059449, 0.0372381, 0.0059449, 0.950872,
2731 0.0059449, 0.0372381, 0.950872, 0.0059449, 0.0059449, 0.950872, 0.0059449,
2732 0.0372381, 0.0059449, 0.950872, 0.0372381, 0.0059449, 0.0372381, 0.0059449,
2733 0.0059449, 0.950872, 0.0372381, 0.0059449, 0.950872, 0.0059449, 0.0372381,
2734 0.950872, 0.0059449, 0.0059449, 0.950872, 0.0059449, 0.0059449, 0.0372381,
2735 0.950872, 0.0059449, 0.0372381, 0.0059449, 0.950872, 0.0372381, 0.0059449,
2736 0.0059449, 0.118306, 0.118306, 0.748294, 0.0150943, 0.118306, 0.118306,
2737 0.0150943, 0.748294, 0.118306, 0.748294, 0.118306, 0.0150943, 0.118306,
2738 0.748294, 0.0150943, 0.118306, 0.118306, 0.0150943, 0.118306, 0.748294,
2739 0.118306, 0.0150943, 0.748294, 0.118306, 0.748294, 0.118306, 0.118306,
2740 0.0150943, 0.748294, 0.118306, 0.0150943, 0.118306, 0.748294, 0.0150943,
2741 0.118306, 0.118306, 0.0150943, 0.118306, 0.118306, 0.748294, 0.0150943,
2742 0.118306, 0.748294, 0.118306, 0.0150943, 0.748294, 0.118306, 0.118306,
2743 0.0801185, 0.514636, 0.390802, 0.0144436, 0.0801185, 0.514636, 0.0144436,
2744 0.390802, 0.0801185, 0.390802, 0.514636, 0.0144436, 0.0801185, 0.390802,
2745 0.0144436, 0.514636, 0.0801185, 0.0144436, 0.514636, 0.390802, 0.0801185,
2746 0.0144436, 0.390802, 0.514636, 0.514636, 0.0801185, 0.390802, 0.0144436,
2747 0.514636, 0.0801185, 0.0144436, 0.390802, 0.514636, 0.390802, 0.0801185,
2748 0.0144436, 0.514636, 0.390802, 0.0144436, 0.0801185, 0.514636, 0.0144436,
2749 0.0801185, 0.390802, 0.514636, 0.0144436, 0.390802, 0.0801185, 0.390802,
2750 0.0801185, 0.514636, 0.0144436, 0.390802, 0.0801185, 0.0144436, 0.514636,
2751 0.390802, 0.514636, 0.0801185, 0.0144436, 0.390802, 0.514636, 0.0144436,
2752 0.0801185, 0.390802, 0.0144436, 0.0801185, 0.514636, 0.390802, 0.0144436,
2753 0.514636, 0.0801185, 0.0144436, 0.0801185, 0.514636, 0.390802, 0.0144436,
2754 0.0801185, 0.390802, 0.514636, 0.0144436, 0.514636, 0.0801185, 0.390802,
2755 0.0144436, 0.514636, 0.390802, 0.0801185, 0.0144436, 0.390802, 0.0801185,
2756 0.514636, 0.0144436, 0.390802, 0.514636, 0.0801185, 0.310259, 0.164574,
2757 0.0699509, 0.455217, 0.310259, 0.164574, 0.455217, 0.0699509, 0.310259,
2758 0.0699509, 0.164574, 0.455217, 0.310259, 0.0699509, 0.455217, 0.164574,
2759 0.310259, 0.455217, 0.164574, 0.0699509, 0.310259, 0.455217, 0.0699509,
2760 0.164574, 0.164574, 0.310259, 0.0699509, 0.455217, 0.164574, 0.310259,
2761 0.455217, 0.0699509, 0.164574, 0.0699509, 0.310259, 0.455217, 0.164574,
2762 0.0699509, 0.455217, 0.310259, 0.164574, 0.455217, 0.310259, 0.0699509,
2763 0.164574, 0.455217, 0.0699509, 0.310259, 0.0699509, 0.310259, 0.164574,
2764 0.455217, 0.0699509, 0.310259, 0.455217, 0.164574, 0.0699509, 0.164574,
2765 0.310259, 0.455217, 0.0699509, 0.164574, 0.455217, 0.310259, 0.0699509,
2766 0.455217, 0.310259, 0.164574, 0.0699509, 0.455217, 0.164574, 0.310259,
2767 0.455217, 0.310259, 0.164574, 0.0699509, 0.455217, 0.310259, 0.0699509,
2768 0.164574, 0.455217, 0.164574, 0.310259, 0.0699509, 0.455217, 0.164574,
2769 0.0699509, 0.310259, 0.455217, 0.0699509, 0.310259, 0.164574, 0.455217,
2770 0.0699509, 0.164574, 0.310259, 0.108524, 0.0343587, 0.855716, 0.00140154,
2771 0.108524, 0.0343587, 0.00140154, 0.855716, 0.108524, 0.855716, 0.0343587,
2772 0.00140154, 0.108524, 0.855716, 0.00140154, 0.0343587, 0.108524, 0.00140154,
2773 0.0343587, 0.855716, 0.108524, 0.00140154, 0.855716, 0.0343587, 0.0343587,
2774 0.108524, 0.855716, 0.00140154, 0.0343587, 0.108524, 0.00140154, 0.855716,
2775 0.0343587, 0.855716, 0.108524, 0.00140154, 0.0343587, 0.855716, 0.00140154,
2776 0.108524, 0.0343587, 0.00140154, 0.108524, 0.855716, 0.0343587, 0.00140154,
2777 0.855716, 0.108524, 0.855716, 0.108524, 0.0343587, 0.00140154, 0.855716,
2778 0.108524, 0.00140154, 0.0343587, 0.855716, 0.0343587, 0.108524, 0.00140154,
2779 0.855716, 0.0343587, 0.00140154, 0.108524, 0.855716, 0.00140154, 0.108524,
2780 0.0343587, 0.855716, 0.00140154, 0.0343587, 0.108524, 0.00140154, 0.108524,
2781 0.0343587, 0.855716, 0.00140154, 0.108524, 0.855716, 0.0343587, 0.00140154,
2782 0.0343587, 0.108524, 0.855716, 0.00140154, 0.0343587, 0.855716, 0.108524,
2783 0.00140154, 0.855716, 0.108524, 0.0343587, 0.00140154, 0.855716, 0.0343587,
2784 0.108524, 0.248382, 0.662532, 0.0109832, 0.0781025, 0.248382, 0.662532,
2785 0.0781025, 0.0109832, 0.248382, 0.0109832, 0.662532, 0.0781025, 0.248382,
2786 0.0109832, 0.0781025, 0.662532, 0.248382, 0.0781025, 0.662532, 0.0109832,
2787 0.248382, 0.0781025, 0.0109832, 0.662532, 0.662532, 0.248382, 0.0109832,
2788 0.0781025, 0.662532, 0.248382, 0.0781025, 0.0109832, 0.662532, 0.0109832,
2789 0.248382, 0.0781025, 0.662532, 0.0109832, 0.0781025, 0.248382, 0.662532,
2790 0.0781025, 0.248382, 0.0109832, 0.662532, 0.0781025, 0.0109832, 0.248382,
2791 0.0109832, 0.248382, 0.662532, 0.0781025, 0.0109832, 0.248382, 0.0781025,
2792 0.662532, 0.0109832, 0.662532, 0.248382, 0.0781025, 0.0109832, 0.662532,
2793 0.0781025, 0.248382, 0.0109832, 0.0781025, 0.248382, 0.662532, 0.0109832,
2794 0.0781025, 0.662532, 0.248382, 0.0781025, 0.248382, 0.662532, 0.0109832,
2795 0.0781025, 0.248382, 0.0109832, 0.662532, 0.0781025, 0.662532, 0.248382,
2796 0.0109832, 0.0781025, 0.662532, 0.0109832, 0.248382, 0.0781025, 0.0109832,
2797 0.248382, 0.662532, 0.0781025, 0.0109832, 0.662532, 0.248382, 0.396009,
2798 0.012269, 0.0187819, 0.57294, 0.396009, 0.012269, 0.57294, 0.0187819,
2799 0.396009, 0.0187819, 0.012269, 0.57294, 0.396009, 0.0187819, 0.57294,
2800 0.012269, 0.396009, 0.57294, 0.012269, 0.0187819, 0.396009, 0.57294,
2801 0.0187819, 0.012269, 0.012269, 0.396009, 0.0187819, 0.57294, 0.012269,
2802 0.396009, 0.57294, 0.0187819, 0.012269, 0.0187819, 0.396009, 0.57294,
2803 0.012269, 0.0187819, 0.57294, 0.396009, 0.012269, 0.57294, 0.396009,
2804 0.0187819, 0.012269, 0.57294, 0.0187819, 0.396009, 0.0187819, 0.396009,
2805 0.012269, 0.57294, 0.0187819, 0.396009, 0.57294, 0.012269, 0.0187819,
2806 0.012269, 0.396009, 0.57294, 0.0187819, 0.012269, 0.57294, 0.396009,
2807 0.0187819, 0.57294, 0.396009, 0.012269, 0.0187819, 0.57294, 0.012269,
2808 0.396009, 0.57294, 0.396009, 0.012269, 0.0187819, 0.57294, 0.396009,
2809 0.0187819, 0.012269, 0.57294, 0.012269, 0.396009, 0.0187819, 0.57294,
2810 0.012269, 0.0187819, 0.396009, 0.57294, 0.0187819, 0.396009, 0.012269,
2811 0.57294, 0.0187819, 0.012269, 0.396009, 0.0636752, 0.20546, 0.136245,
2812 0.594619, 0.0636752, 0.20546, 0.594619, 0.136245, 0.0636752, 0.136245,
2813 0.20546, 0.594619, 0.0636752, 0.136245, 0.594619, 0.20546, 0.0636752,
2814 0.594619, 0.20546, 0.136245, 0.0636752, 0.594619, 0.136245, 0.20546,
2815 0.20546, 0.0636752, 0.136245, 0.594619, 0.20546, 0.0636752, 0.594619,
2816 0.136245, 0.20546, 0.136245, 0.0636752, 0.594619, 0.20546, 0.136245,
2817 0.594619, 0.0636752, 0.20546, 0.594619, 0.0636752, 0.136245, 0.20546,
2818 0.594619, 0.136245, 0.0636752, 0.136245, 0.0636752, 0.20546, 0.594619,
2819 0.136245, 0.0636752, 0.594619, 0.20546, 0.136245, 0.20546, 0.0636752,
2820 0.594619, 0.136245, 0.20546, 0.594619, 0.0636752, 0.136245, 0.594619,
2821 0.0636752, 0.20546, 0.136245, 0.594619, 0.20546, 0.0636752, 0.594619,
2822 0.0636752, 0.20546, 0.136245, 0.594619, 0.0636752, 0.136245, 0.20546,
2823 0.594619, 0.20546, 0.0636752, 0.136245, 0.594619, 0.20546, 0.136245,
2824 0.0636752, 0.594619, 0.136245, 0.0636752, 0.20546, 0.594619, 0.136245,
2825 0.20546, 0.0636752, 0.175765, 0.461068, 0.138754, 0.224413, 0.175765,
2826 0.461068, 0.224413, 0.138754, 0.175765, 0.138754, 0.461068, 0.224413,
2827 0.175765, 0.138754, 0.224413, 0.461068, 0.175765, 0.224413, 0.461068,
2828 0.138754, 0.175765, 0.224413, 0.138754, 0.461068, 0.461068, 0.175765,
2829 0.138754, 0.224413, 0.461068, 0.175765, 0.224413, 0.138754, 0.461068,
2830 0.138754, 0.175765, 0.224413, 0.461068, 0.138754, 0.224413, 0.175765,
2831 0.461068, 0.224413, 0.175765, 0.138754, 0.461068, 0.224413, 0.138754,
2832 0.175765, 0.138754, 0.175765, 0.461068, 0.224413, 0.138754, 0.175765,
2833 0.224413, 0.461068, 0.138754, 0.461068, 0.175765, 0.224413, 0.138754,
2834 0.461068, 0.224413, 0.175765, 0.138754, 0.224413, 0.175765, 0.461068,
2835 0.138754, 0.224413, 0.461068, 0.175765, 0.224413, 0.175765, 0.461068,
2836 0.138754, 0.224413, 0.175765, 0.138754, 0.461068, 0.224413, 0.461068,
2837 0.175765, 0.138754, 0.224413, 0.461068, 0.138754, 0.175765, 0.224413,
2838 0.138754, 0.175765, 0.461068, 0.224413, 0.138754, 0.461068, 0.175765,
2839 0.477994, 0.0134479, 0.32214, 0.186418, 0.477994, 0.0134479, 0.186418,
2840 0.32214, 0.477994, 0.32214, 0.0134479, 0.186418, 0.477994, 0.32214,
2841 0.186418, 0.0134479, 0.477994, 0.186418, 0.0134479, 0.32214, 0.477994,
2842 0.186418, 0.32214, 0.0134479, 0.0134479, 0.477994, 0.32214, 0.186418,
2843 0.0134479, 0.477994, 0.186418, 0.32214, 0.0134479, 0.32214, 0.477994,
2844 0.186418, 0.0134479, 0.32214, 0.186418, 0.477994, 0.0134479, 0.186418,
2845 0.477994, 0.32214, 0.0134479, 0.186418, 0.32214, 0.477994, 0.32214,
2846 0.477994, 0.0134479, 0.186418, 0.32214, 0.477994, 0.186418, 0.0134479,
2847 0.32214, 0.0134479, 0.477994, 0.186418, 0.32214, 0.0134479, 0.186418,
2848 0.477994, 0.32214, 0.186418, 0.477994, 0.0134479, 0.32214, 0.186418,
2849 0.0134479, 0.477994, 0.186418, 0.477994, 0.0134479, 0.32214, 0.186418,
2850 0.477994, 0.32214, 0.0134479, 0.186418, 0.0134479, 0.477994, 0.32214,
2851 0.186418, 0.0134479, 0.32214, 0.477994, 0.186418, 0.32214, 0.477994,
2852 0.0134479, 0.186418, 0.32214, 0.0134479, 0.477994};
2853 inline static std::array<TScalar, 304> constexpr weights = {
2854 0.00067248, 0.00067248, 0.00067248, 0.00067248, 0.000877238, 0.000877238, 0.000877238,
2855 0.000877238, 0.00179773, 0.00179773, 0.00179773, 0.00179773, 0.00031539, 0.00031539,
2856 0.00031539, 0.00031539, 0.00100242, 0.00100242, 0.00100242, 0.00100242, 0.00100242,
2857 0.00100242, 0.0014487, 0.0014487, 0.0014487, 0.0014487, 0.0014487, 0.0014487,
2858 0.000584604, 0.000584604, 0.000584604, 0.000584604, 0.000584604, 0.000584604, 0.000584604,
2859 0.000584604, 0.000584604, 0.000584604, 0.000584604, 0.000584604, 0.00019811, 0.00019811,
2860 0.00019811, 0.00019811, 0.00019811, 0.00019811, 0.00019811, 0.00019811, 0.00019811,
2861 0.00019811, 0.00019811, 0.00019811, 0.000724204, 0.000724204, 0.000724204, 0.000724204,
2862 0.000724204, 0.000724204, 0.000724204, 0.000724204, 0.000724204, 0.000724204, 0.000724204,
2863 0.000724204, 0.000443448, 0.000443448, 0.000443448, 0.000443448, 0.000443448, 0.000443448,
2864 0.000443448, 0.000443448, 0.000443448, 0.000443448, 0.000443448, 0.000443448, 0.000925529,
2865 0.000925529, 0.000925529, 0.000925529, 0.000925529, 0.000925529, 0.000925529, 0.000925529,
2866 0.000925529, 0.000925529, 0.000925529, 0.000925529, 2.55239e-05, 2.55239e-05, 2.55239e-05,
2867 2.55239e-05, 2.55239e-05, 2.55239e-05, 2.55239e-05, 2.55239e-05, 2.55239e-05, 2.55239e-05,
2868 2.55239e-05, 2.55239e-05, 0.000371867, 0.000371867, 0.000371867, 0.000371867, 0.000371867,
2869 0.000371867, 0.000371867, 0.000371867, 0.000371867, 0.000371867, 0.000371867, 0.000371867,
2870 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063,
2871 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063,
2872 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063, 0.000412063,
2873 0.000412063, 0.000412063, 0.000412063, 0.00109935, 0.00109935, 0.00109935, 0.00109935,
2874 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935,
2875 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935,
2876 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.00109935, 0.000100072,
2877 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072,
2878 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072,
2879 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072, 0.000100072,
2880 0.000100072, 0.000100072, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722,
2881 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722,
2882 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722,
2883 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000373722, 0.000137407, 0.000137407,
2884 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407,
2885 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407,
2886 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407, 0.000137407,
2887 0.000137407, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336,
2888 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336,
2889 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000731336,
2890 0.000731336, 0.000731336, 0.000731336, 0.000731336, 0.000575713, 0.000575713, 0.000575713,
2891 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713,
2892 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713,
2893 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713, 0.000575713,
2894 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882,
2895 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882,
2896 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882, 0.000654882,
2897 0.000654882, 0.000654882, 0.000654882};
2898};
2899
2900template <common::CFloatingPoint TScalar>
2901struct SymmetricSimplexPolynomialQuadratureRule<3, 17, TScalar>
2902{
2903 inline static std::uint8_t constexpr kDims = 3;
2904 inline static std::uint16_t constexpr kPoints = 364;
2905 inline static std::uint8_t constexpr kOrder = 17;
2906 inline static std::array<TScalar, 1456> constexpr points = {
2907 0.672222, 0.109259, 0.109259, 0.109259, 0.109259, 0.672222, 0.109259,
2908 0.109259, 0.109259, 0.109259, 0.672222, 0.109259, 0.109259, 0.109259,
2909 0.109259, 0.672222, 0.948793, 0.0170691, 0.0170691, 0.0170691, 0.0170691,
2910 0.948793, 0.0170691, 0.0170691, 0.0170691, 0.0170691, 0.948793, 0.0170691,
2911 0.0170691, 0.0170691, 0.0170691, 0.948793, 0.819092, 0.0603028, 0.0603028,
2912 0.0603028, 0.0603028, 0.819092, 0.0603028, 0.0603028, 0.0603028, 0.0603028,
2913 0.819092, 0.0603028, 0.0603028, 0.0603028, 0.0603028, 0.819092, 0.459119,
2914 0.180294, 0.180294, 0.180294, 0.180294, 0.459119, 0.180294, 0.180294,
2915 0.180294, 0.180294, 0.459119, 0.180294, 0.180294, 0.180294, 0.180294,
2916 0.459119, 0.207564, 0.207564, 0.292436, 0.292436, 0.207564, 0.292436,
2917 0.207564, 0.292436, 0.207564, 0.292436, 0.292436, 0.207564, 0.292436,
2918 0.207564, 0.292436, 0.207564, 0.292436, 0.207564, 0.207564, 0.292436,
2919 0.292436, 0.292436, 0.207564, 0.207564, 0.0635056, 0.0635056, 0.436494,
2920 0.436494, 0.0635056, 0.436494, 0.0635056, 0.436494, 0.0635056, 0.436494,
2921 0.436494, 0.0635056, 0.436494, 0.0635056, 0.436494, 0.0635056, 0.436494,
2922 0.0635056, 0.0635056, 0.436494, 0.436494, 0.436494, 0.0635056, 0.0635056,
2923 0.142574, 0.142574, 0.357426, 0.357426, 0.142574, 0.357426, 0.142574,
2924 0.357426, 0.142574, 0.357426, 0.357426, 0.142574, 0.357426, 0.142574,
2925 0.357426, 0.142574, 0.357426, 0.142574, 0.142574, 0.357426, 0.357426,
2926 0.357426, 0.142574, 0.142574, 0.015255, 0.015255, 0.484745, 0.484745,
2927 0.015255, 0.484745, 0.015255, 0.484745, 0.015255, 0.484745, 0.484745,
2928 0.015255, 0.484745, 0.015255, 0.484745, 0.015255, 0.484745, 0.015255,
2929 0.015255, 0.484745, 0.484745, 0.484745, 0.015255, 0.015255, 0.281772,
2930 0.281772, 0.00660563, 0.429851, 0.281772, 0.281772, 0.429851, 0.00660563,
2931 0.281772, 0.00660563, 0.281772, 0.429851, 0.281772, 0.00660563, 0.429851,
2932 0.281772, 0.281772, 0.429851, 0.281772, 0.00660563, 0.281772, 0.429851,
2933 0.00660563, 0.281772, 0.00660563, 0.281772, 0.281772, 0.429851, 0.00660563,
2934 0.281772, 0.429851, 0.281772, 0.00660563, 0.429851, 0.281772, 0.281772,
2935 0.429851, 0.281772, 0.281772, 0.00660563, 0.429851, 0.281772, 0.00660563,
2936 0.281772, 0.429851, 0.00660563, 0.281772, 0.281772, 0.253279, 0.253279,
2937 0.347308, 0.146134, 0.253279, 0.253279, 0.146134, 0.347308, 0.253279,
2938 0.347308, 0.253279, 0.146134, 0.253279, 0.347308, 0.146134, 0.253279,
2939 0.253279, 0.146134, 0.253279, 0.347308, 0.253279, 0.146134, 0.347308,
2940 0.253279, 0.347308, 0.253279, 0.253279, 0.146134, 0.347308, 0.253279,
2941 0.146134, 0.253279, 0.347308, 0.146134, 0.253279, 0.253279, 0.146134,
2942 0.253279, 0.253279, 0.347308, 0.146134, 0.253279, 0.347308, 0.253279,
2943 0.146134, 0.347308, 0.253279, 0.253279, 0.119445, 0.119445, 0.512963,
2944 0.248147, 0.119445, 0.119445, 0.248147, 0.512963, 0.119445, 0.512963,
2945 0.119445, 0.248147, 0.119445, 0.512963, 0.248147, 0.119445, 0.119445,
2946 0.248147, 0.119445, 0.512963, 0.119445, 0.248147, 0.512963, 0.119445,
2947 0.512963, 0.119445, 0.119445, 0.248147, 0.512963, 0.119445, 0.248147,
2948 0.119445, 0.512963, 0.248147, 0.119445, 0.119445, 0.248147, 0.119445,
2949 0.119445, 0.512963, 0.248147, 0.119445, 0.512963, 0.119445, 0.248147,
2950 0.512963, 0.119445, 0.119445, 0.279698, 0.279698, 0.404014, 0.0365913,
2951 0.279698, 0.279698, 0.0365913, 0.404014, 0.279698, 0.404014, 0.279698,
2952 0.0365913, 0.279698, 0.404014, 0.0365913, 0.279698, 0.279698, 0.0365913,
2953 0.279698, 0.404014, 0.279698, 0.0365913, 0.404014, 0.279698, 0.404014,
2954 0.279698, 0.279698, 0.0365913, 0.404014, 0.279698, 0.0365913, 0.279698,
2955 0.404014, 0.0365913, 0.279698, 0.279698, 0.0365913, 0.279698, 0.279698,
2956 0.404014, 0.0365913, 0.279698, 0.404014, 0.279698, 0.0365913, 0.404014,
2957 0.279698, 0.279698, 0.0591497, 0.0591497, 0.277151, 0.60455, 0.0591497,
2958 0.0591497, 0.60455, 0.277151, 0.0591497, 0.277151, 0.0591497, 0.60455,
2959 0.0591497, 0.277151, 0.60455, 0.0591497, 0.0591497, 0.60455, 0.0591497,
2960 0.277151, 0.0591497, 0.60455, 0.277151, 0.0591497, 0.277151, 0.0591497,
2961 0.0591497, 0.60455, 0.277151, 0.0591497, 0.60455, 0.0591497, 0.277151,
2962 0.60455, 0.0591497, 0.0591497, 0.60455, 0.0591497, 0.0591497, 0.277151,
2963 0.60455, 0.0591497, 0.277151, 0.0591497, 0.60455, 0.277151, 0.0591497,
2964 0.0591497, 0.0115665, 0.0115665, 0.337269, 0.639598, 0.0115665, 0.0115665,
2965 0.639598, 0.337269, 0.0115665, 0.337269, 0.0115665, 0.639598, 0.0115665,
2966 0.337269, 0.639598, 0.0115665, 0.0115665, 0.639598, 0.0115665, 0.337269,
2967 0.0115665, 0.639598, 0.337269, 0.0115665, 0.337269, 0.0115665, 0.0115665,
2968 0.639598, 0.337269, 0.0115665, 0.639598, 0.0115665, 0.337269, 0.639598,
2969 0.0115665, 0.0115665, 0.639598, 0.0115665, 0.0115665, 0.337269, 0.639598,
2970 0.0115665, 0.337269, 0.0115665, 0.639598, 0.337269, 0.0115665, 0.0115665,
2971 0.25462, 0.25462, 0.0889921, 0.401768, 0.25462, 0.25462, 0.401768,
2972 0.0889921, 0.25462, 0.0889921, 0.25462, 0.401768, 0.25462, 0.0889921,
2973 0.401768, 0.25462, 0.25462, 0.401768, 0.25462, 0.0889921, 0.25462,
2974 0.401768, 0.0889921, 0.25462, 0.0889921, 0.25462, 0.25462, 0.401768,
2975 0.0889921, 0.25462, 0.401768, 0.25462, 0.0889921, 0.401768, 0.25462,
2976 0.25462, 0.401768, 0.25462, 0.25462, 0.0889921, 0.401768, 0.25462,
2977 0.0889921, 0.25462, 0.401768, 0.0889921, 0.25462, 0.25462, 0.00667291,
2978 0.00667291, 0.0833538, 0.9033, 0.00667291, 0.00667291, 0.9033, 0.0833538,
2979 0.00667291, 0.0833538, 0.00667291, 0.9033, 0.00667291, 0.0833538, 0.9033,
2980 0.00667291, 0.00667291, 0.9033, 0.00667291, 0.0833538, 0.00667291, 0.9033,
2981 0.0833538, 0.00667291, 0.0833538, 0.00667291, 0.00667291, 0.9033, 0.0833538,
2982 0.00667291, 0.9033, 0.00667291, 0.0833538, 0.9033, 0.00667291, 0.00667291,
2983 0.9033, 0.00667291, 0.00667291, 0.0833538, 0.9033, 0.00667291, 0.0833538,
2984 0.00667291, 0.9033, 0.0833538, 0.00667291, 0.00667291, 0.05955, 0.05955,
2985 0.148874, 0.732026, 0.05955, 0.05955, 0.732026, 0.148874, 0.05955,
2986 0.148874, 0.05955, 0.732026, 0.05955, 0.148874, 0.732026, 0.05955,
2987 0.05955, 0.732026, 0.05955, 0.148874, 0.05955, 0.732026, 0.148874,
2988 0.05955, 0.148874, 0.05955, 0.05955, 0.732026, 0.148874, 0.05955,
2989 0.732026, 0.05955, 0.148874, 0.732026, 0.05955, 0.05955, 0.732026,
2990 0.05955, 0.05955, 0.148874, 0.732026, 0.05955, 0.148874, 0.05955,
2991 0.732026, 0.148874, 0.05955, 0.05955, 0.0956383, 0.0130805, 0.168349,
2992 0.722932, 0.0956383, 0.0130805, 0.722932, 0.168349, 0.0956383, 0.168349,
2993 0.0130805, 0.722932, 0.0956383, 0.168349, 0.722932, 0.0130805, 0.0956383,
2994 0.722932, 0.0130805, 0.168349, 0.0956383, 0.722932, 0.168349, 0.0130805,
2995 0.0130805, 0.0956383, 0.168349, 0.722932, 0.0130805, 0.0956383, 0.722932,
2996 0.168349, 0.0130805, 0.168349, 0.0956383, 0.722932, 0.0130805, 0.168349,
2997 0.722932, 0.0956383, 0.0130805, 0.722932, 0.0956383, 0.168349, 0.0130805,
2998 0.722932, 0.168349, 0.0956383, 0.168349, 0.0956383, 0.0130805, 0.722932,
2999 0.168349, 0.0956383, 0.722932, 0.0130805, 0.168349, 0.0130805, 0.0956383,
3000 0.722932, 0.168349, 0.0130805, 0.722932, 0.0956383, 0.168349, 0.722932,
3001 0.0956383, 0.0130805, 0.168349, 0.722932, 0.0130805, 0.0956383, 0.722932,
3002 0.0956383, 0.0130805, 0.168349, 0.722932, 0.0956383, 0.168349, 0.0130805,
3003 0.722932, 0.0130805, 0.0956383, 0.168349, 0.722932, 0.0130805, 0.168349,
3004 0.0956383, 0.722932, 0.168349, 0.0956383, 0.0130805, 0.722932, 0.168349,
3005 0.0130805, 0.0956383, 0.0603575, 0.637655, 0.0106225, 0.291365, 0.0603575,
3006 0.637655, 0.291365, 0.0106225, 0.0603575, 0.0106225, 0.637655, 0.291365,
3007 0.0603575, 0.0106225, 0.291365, 0.637655, 0.0603575, 0.291365, 0.637655,
3008 0.0106225, 0.0603575, 0.291365, 0.0106225, 0.637655, 0.637655, 0.0603575,
3009 0.0106225, 0.291365, 0.637655, 0.0603575, 0.291365, 0.0106225, 0.637655,
3010 0.0106225, 0.0603575, 0.291365, 0.637655, 0.0106225, 0.291365, 0.0603575,
3011 0.637655, 0.291365, 0.0603575, 0.0106225, 0.637655, 0.291365, 0.0106225,
3012 0.0603575, 0.0106225, 0.0603575, 0.637655, 0.291365, 0.0106225, 0.0603575,
3013 0.291365, 0.637655, 0.0106225, 0.637655, 0.0603575, 0.291365, 0.0106225,
3014 0.637655, 0.291365, 0.0603575, 0.0106225, 0.291365, 0.0603575, 0.637655,
3015 0.0106225, 0.291365, 0.637655, 0.0603575, 0.291365, 0.0603575, 0.637655,
3016 0.0106225, 0.291365, 0.0603575, 0.0106225, 0.637655, 0.291365, 0.637655,
3017 0.0603575, 0.0106225, 0.291365, 0.637655, 0.0106225, 0.0603575, 0.291365,
3018 0.0106225, 0.0603575, 0.637655, 0.291365, 0.0106225, 0.637655, 0.0603575,
3019 0.572063, 0.157506, 0.0128955, 0.257535, 0.572063, 0.157506, 0.257535,
3020 0.0128955, 0.572063, 0.0128955, 0.157506, 0.257535, 0.572063, 0.0128955,
3021 0.257535, 0.157506, 0.572063, 0.257535, 0.157506, 0.0128955, 0.572063,
3022 0.257535, 0.0128955, 0.157506, 0.157506, 0.572063, 0.0128955, 0.257535,
3023 0.157506, 0.572063, 0.257535, 0.0128955, 0.157506, 0.0128955, 0.572063,
3024 0.257535, 0.157506, 0.0128955, 0.257535, 0.572063, 0.157506, 0.257535,
3025 0.572063, 0.0128955, 0.157506, 0.257535, 0.0128955, 0.572063, 0.0128955,
3026 0.572063, 0.157506, 0.257535, 0.0128955, 0.572063, 0.257535, 0.157506,
3027 0.0128955, 0.157506, 0.572063, 0.257535, 0.0128955, 0.157506, 0.257535,
3028 0.572063, 0.0128955, 0.257535, 0.572063, 0.157506, 0.0128955, 0.257535,
3029 0.157506, 0.572063, 0.257535, 0.572063, 0.157506, 0.0128955, 0.257535,
3030 0.572063, 0.0128955, 0.157506, 0.257535, 0.157506, 0.572063, 0.0128955,
3031 0.257535, 0.157506, 0.0128955, 0.572063, 0.257535, 0.0128955, 0.572063,
3032 0.157506, 0.257535, 0.0128955, 0.157506, 0.572063, 0.598287, 0.153096,
3033 0.0648907, 0.183726, 0.598287, 0.153096, 0.183726, 0.0648907, 0.598287,
3034 0.0648907, 0.153096, 0.183726, 0.598287, 0.0648907, 0.183726, 0.153096,
3035 0.598287, 0.183726, 0.153096, 0.0648907, 0.598287, 0.183726, 0.0648907,
3036 0.153096, 0.153096, 0.598287, 0.0648907, 0.183726, 0.153096, 0.598287,
3037 0.183726, 0.0648907, 0.153096, 0.0648907, 0.598287, 0.183726, 0.153096,
3038 0.0648907, 0.183726, 0.598287, 0.153096, 0.183726, 0.598287, 0.0648907,
3039 0.153096, 0.183726, 0.0648907, 0.598287, 0.0648907, 0.598287, 0.153096,
3040 0.183726, 0.0648907, 0.598287, 0.183726, 0.153096, 0.0648907, 0.153096,
3041 0.598287, 0.183726, 0.0648907, 0.153096, 0.183726, 0.598287, 0.0648907,
3042 0.183726, 0.598287, 0.153096, 0.0648907, 0.183726, 0.153096, 0.598287,
3043 0.183726, 0.598287, 0.153096, 0.0648907, 0.183726, 0.598287, 0.0648907,
3044 0.153096, 0.183726, 0.153096, 0.598287, 0.0648907, 0.183726, 0.153096,
3045 0.0648907, 0.598287, 0.183726, 0.0648907, 0.598287, 0.153096, 0.183726,
3046 0.0648907, 0.153096, 0.598287, 0.0872108, 0.011655, 0.0470777, 0.854057,
3047 0.0872108, 0.011655, 0.854057, 0.0470777, 0.0872108, 0.0470777, 0.011655,
3048 0.854057, 0.0872108, 0.0470777, 0.854057, 0.011655, 0.0872108, 0.854057,
3049 0.011655, 0.0470777, 0.0872108, 0.854057, 0.0470777, 0.011655, 0.011655,
3050 0.0872108, 0.0470777, 0.854057, 0.011655, 0.0872108, 0.854057, 0.0470777,
3051 0.011655, 0.0470777, 0.0872108, 0.854057, 0.011655, 0.0470777, 0.854057,
3052 0.0872108, 0.011655, 0.854057, 0.0872108, 0.0470777, 0.011655, 0.854057,
3053 0.0470777, 0.0872108, 0.0470777, 0.0872108, 0.011655, 0.854057, 0.0470777,
3054 0.0872108, 0.854057, 0.011655, 0.0470777, 0.011655, 0.0872108, 0.854057,
3055 0.0470777, 0.011655, 0.854057, 0.0872108, 0.0470777, 0.854057, 0.0872108,
3056 0.011655, 0.0470777, 0.854057, 0.011655, 0.0872108, 0.854057, 0.0872108,
3057 0.011655, 0.0470777, 0.854057, 0.0872108, 0.0470777, 0.011655, 0.854057,
3058 0.011655, 0.0872108, 0.0470777, 0.854057, 0.011655, 0.0470777, 0.0872108,
3059 0.854057, 0.0470777, 0.0872108, 0.011655, 0.854057, 0.0470777, 0.011655,
3060 0.0872108, 0.41378, 0.408533, 0.0104801, 0.167207, 0.41378, 0.408533,
3061 0.167207, 0.0104801, 0.41378, 0.0104801, 0.408533, 0.167207, 0.41378,
3062 0.0104801, 0.167207, 0.408533, 0.41378, 0.167207, 0.408533, 0.0104801,
3063 0.41378, 0.167207, 0.0104801, 0.408533, 0.408533, 0.41378, 0.0104801,
3064 0.167207, 0.408533, 0.41378, 0.167207, 0.0104801, 0.408533, 0.0104801,
3065 0.41378, 0.167207, 0.408533, 0.0104801, 0.167207, 0.41378, 0.408533,
3066 0.167207, 0.41378, 0.0104801, 0.408533, 0.167207, 0.0104801, 0.41378,
3067 0.0104801, 0.41378, 0.408533, 0.167207, 0.0104801, 0.41378, 0.167207,
3068 0.408533, 0.0104801, 0.408533, 0.41378, 0.167207, 0.0104801, 0.408533,
3069 0.167207, 0.41378, 0.0104801, 0.167207, 0.41378, 0.408533, 0.0104801,
3070 0.167207, 0.408533, 0.41378, 0.167207, 0.41378, 0.408533, 0.0104801,
3071 0.167207, 0.41378, 0.0104801, 0.408533, 0.167207, 0.408533, 0.41378,
3072 0.0104801, 0.167207, 0.408533, 0.0104801, 0.41378, 0.167207, 0.0104801,
3073 0.41378, 0.408533, 0.167207, 0.0104801, 0.408533, 0.41378, 0.390499,
3074 0.0116793, 0.073606, 0.524216, 0.390499, 0.0116793, 0.524216, 0.073606,
3075 0.390499, 0.073606, 0.0116793, 0.524216, 0.390499, 0.073606, 0.524216,
3076 0.0116793, 0.390499, 0.524216, 0.0116793, 0.073606, 0.390499, 0.524216,
3077 0.073606, 0.0116793, 0.0116793, 0.390499, 0.073606, 0.524216, 0.0116793,
3078 0.390499, 0.524216, 0.073606, 0.0116793, 0.073606, 0.390499, 0.524216,
3079 0.0116793, 0.073606, 0.524216, 0.390499, 0.0116793, 0.524216, 0.390499,
3080 0.073606, 0.0116793, 0.524216, 0.073606, 0.390499, 0.073606, 0.390499,
3081 0.0116793, 0.524216, 0.073606, 0.390499, 0.524216, 0.0116793, 0.073606,
3082 0.0116793, 0.390499, 0.524216, 0.073606, 0.0116793, 0.524216, 0.390499,
3083 0.073606, 0.524216, 0.390499, 0.0116793, 0.073606, 0.524216, 0.0116793,
3084 0.390499, 0.524216, 0.390499, 0.0116793, 0.073606, 0.524216, 0.390499,
3085 0.073606, 0.0116793, 0.524216, 0.0116793, 0.390499, 0.073606, 0.524216,
3086 0.0116793, 0.073606, 0.390499, 0.524216, 0.073606, 0.390499, 0.0116793,
3087 0.524216, 0.073606, 0.0116793, 0.390499, 0.773502, 0.00816368, 0.0254543,
3088 0.19288, 0.773502, 0.00816368, 0.19288, 0.0254543, 0.773502, 0.0254543,
3089 0.00816368, 0.19288, 0.773502, 0.0254543, 0.19288, 0.00816368, 0.773502,
3090 0.19288, 0.00816368, 0.0254543, 0.773502, 0.19288, 0.0254543, 0.00816368,
3091 0.00816368, 0.773502, 0.0254543, 0.19288, 0.00816368, 0.773502, 0.19288,
3092 0.0254543, 0.00816368, 0.0254543, 0.773502, 0.19288, 0.00816368, 0.0254543,
3093 0.19288, 0.773502, 0.00816368, 0.19288, 0.773502, 0.0254543, 0.00816368,
3094 0.19288, 0.0254543, 0.773502, 0.0254543, 0.773502, 0.00816368, 0.19288,
3095 0.0254543, 0.773502, 0.19288, 0.00816368, 0.0254543, 0.00816368, 0.773502,
3096 0.19288, 0.0254543, 0.00816368, 0.19288, 0.773502, 0.0254543, 0.19288,
3097 0.773502, 0.00816368, 0.0254543, 0.19288, 0.00816368, 0.773502, 0.19288,
3098 0.773502, 0.00816368, 0.0254543, 0.19288, 0.773502, 0.0254543, 0.00816368,
3099 0.19288, 0.00816368, 0.773502, 0.0254543, 0.19288, 0.00816368, 0.0254543,
3100 0.773502, 0.19288, 0.0254543, 0.773502, 0.00816368, 0.19288, 0.0254543,
3101 0.00816368, 0.773502, 0.0560344, 0.152989, 0.322699, 0.468278, 0.0560344,
3102 0.152989, 0.468278, 0.322699, 0.0560344, 0.322699, 0.152989, 0.468278,
3103 0.0560344, 0.322699, 0.468278, 0.152989, 0.0560344, 0.468278, 0.152989,
3104 0.322699, 0.0560344, 0.468278, 0.322699, 0.152989, 0.152989, 0.0560344,
3105 0.322699, 0.468278, 0.152989, 0.0560344, 0.468278, 0.322699, 0.152989,
3106 0.322699, 0.0560344, 0.468278, 0.152989, 0.322699, 0.468278, 0.0560344,
3107 0.152989, 0.468278, 0.0560344, 0.322699, 0.152989, 0.468278, 0.322699,
3108 0.0560344, 0.322699, 0.0560344, 0.152989, 0.468278, 0.322699, 0.0560344,
3109 0.468278, 0.152989, 0.322699, 0.152989, 0.0560344, 0.468278, 0.322699,
3110 0.152989, 0.468278, 0.0560344, 0.322699, 0.468278, 0.0560344, 0.152989,
3111 0.322699, 0.468278, 0.152989, 0.0560344, 0.468278, 0.0560344, 0.152989,
3112 0.322699, 0.468278, 0.0560344, 0.322699, 0.152989, 0.468278, 0.152989,
3113 0.0560344, 0.322699, 0.468278, 0.152989, 0.322699, 0.0560344, 0.468278,
3114 0.322699, 0.0560344, 0.152989, 0.468278, 0.322699, 0.152989, 0.0560344};
3115 inline static std::array<TScalar, 364> constexpr weights = {
3116 0.000490569, 0.000490569, 0.000490569, 0.000490569, 8.03542e-05, 8.03542e-05, 8.03542e-05,
3117 8.03542e-05, 0.000272235, 0.000272235, 0.000272235, 0.000272235, 0.00148954, 0.00148954,
3118 0.00148954, 0.00148954, 0.00058988, 0.00058988, 0.00058988, 0.00058988, 0.00058988,
3119 0.00058988, 0.000854646, 0.000854646, 0.000854646, 0.000854646, 0.000854646, 0.000854646,
3120 0.00141766, 0.00141766, 0.00141766, 0.00141766, 0.00141766, 0.00141766, 0.000227,
3121 0.000227, 0.000227, 0.000227, 0.000227, 0.000227, 0.000325451, 0.000325451,
3122 0.000325451, 0.000325451, 0.000325451, 0.000325451, 0.000325451, 0.000325451, 0.000325451,
3123 0.000325451, 0.000325451, 0.000325451, 0.00059208, 0.00059208, 0.00059208, 0.00059208,
3124 0.00059208, 0.00059208, 0.00059208, 0.00059208, 0.00059208, 0.00059208, 0.00059208,
3125 0.00059208, 0.000789173, 0.000789173, 0.000789173, 0.000789173, 0.000789173, 0.000789173,
3126 0.000789173, 0.000789173, 0.000789173, 0.000789173, 0.000789173, 0.000789173, 0.000679367,
3127 0.000679367, 0.000679367, 0.000679367, 0.000679367, 0.000679367, 0.000679367, 0.000679367,
3128 0.000679367, 0.000679367, 0.000679367, 0.000679367, 0.000732982, 0.000732982, 0.000732982,
3129 0.000732982, 0.000732982, 0.000732982, 0.000732982, 0.000732982, 0.000732982, 0.000732982,
3130 0.000732982, 0.000732982, 0.000135999, 0.000135999, 0.000135999, 0.000135999, 0.000135999,
3131 0.000135999, 0.000135999, 0.000135999, 0.000135999, 0.000135999, 0.000135999, 0.000135999,
3132 0.00107282, 0.00107282, 0.00107282, 0.00107282, 0.00107282, 0.00107282, 0.00107282,
3133 0.00107282, 0.00107282, 0.00107282, 0.00107282, 0.00107282, 3.81823e-05, 3.81823e-05,
3134 3.81823e-05, 3.81823e-05, 3.81823e-05, 3.81823e-05, 3.81823e-05, 3.81823e-05, 3.81823e-05,
3135 3.81823e-05, 3.81823e-05, 3.81823e-05, 0.000531458, 0.000531458, 0.000531458, 0.000531458,
3136 0.000531458, 0.000531458, 0.000531458, 0.000531458, 0.000531458, 0.000531458, 0.000531458,
3137 0.000531458, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878,
3138 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878,
3139 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000331878,
3140 0.000331878, 0.000331878, 0.000331878, 0.000331878, 0.000201658, 0.000201658, 0.000201658,
3141 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658,
3142 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658,
3143 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658, 0.000201658,
3144 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057,
3145 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057,
3146 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057, 0.00049057,
3147 0.00049057, 0.00049057, 0.00049057, 0.000575682, 0.000575682, 0.000575682, 0.000575682,
3148 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682,
3149 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682,
3150 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000575682, 0.000137352,
3151 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352,
3152 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352,
3153 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352, 0.000137352,
3154 0.000137352, 0.000137352, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059,
3155 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059,
3156 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059,
3157 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.00023059, 0.000296908, 0.000296908,
3158 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908,
3159 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908,
3160 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908, 0.000296908,
3161 0.000296908, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155,
3162 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155,
3163 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000116155,
3164 0.000116155, 0.000116155, 0.000116155, 0.000116155, 0.000953815, 0.000953815, 0.000953815,
3165 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815,
3166 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815,
3167 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815, 0.000953815};
3168};
3169
3170template <common::CFloatingPoint TScalar>
3171struct SymmetricSimplexPolynomialQuadratureRule<3, 18, TScalar>
3172{
3173 inline static std::uint8_t constexpr kDims = 3;
3174 inline static std::uint16_t constexpr kPoints = 436;
3175 inline static std::uint8_t constexpr kOrder = 18;
3176 inline static std::array<TScalar, 1744> constexpr points = {
3177 0.380883, 0.206372, 0.206372, 0.206372, 0.206372, 0.380883, 0.206372,
3178 0.206372, 0.206372, 0.206372, 0.380883, 0.206372, 0.206372, 0.206372,
3179 0.206372, 0.380883, 0.512384, 0.162539, 0.162539, 0.162539, 0.162539,
3180 0.512384, 0.162539, 0.162539, 0.162539, 0.162539, 0.512384, 0.162539,
3181 0.162539, 0.162539, 0.162539, 0.512384, 0.06512, 0.311627, 0.311627,
3182 0.311627, 0.311627, 0.06512, 0.311627, 0.311627, 0.311627, 0.311627,
3183 0.06512, 0.311627, 0.311627, 0.311627, 0.311627, 0.06512, 0.00781625,
3184 0.330728, 0.330728, 0.330728, 0.330728, 0.00781625, 0.330728, 0.330728,
3185 0.330728, 0.330728, 0.00781625, 0.330728, 0.330728, 0.330728, 0.330728,
3186 0.00781625, 0.898768, 0.0337441, 0.0337441, 0.0337441, 0.0337441, 0.898768,
3187 0.0337441, 0.0337441, 0.0337441, 0.0337441, 0.898768, 0.0337441, 0.0337441,
3188 0.0337441, 0.0337441, 0.898768, 0.802956, 0.0656814, 0.0656814, 0.0656814,
3189 0.0656814, 0.802956, 0.0656814, 0.0656814, 0.0656814, 0.0656814, 0.802956,
3190 0.0656814, 0.0656814, 0.0656814, 0.0656814, 0.802956, 0.964928, 0.0116907,
3191 0.0116907, 0.0116907, 0.0116907, 0.964928, 0.0116907, 0.0116907, 0.0116907,
3192 0.0116907, 0.964928, 0.0116907, 0.0116907, 0.0116907, 0.0116907, 0.964928,
3193 0.305173, 0.305173, 0.194827, 0.194827, 0.305173, 0.194827, 0.305173,
3194 0.194827, 0.305173, 0.194827, 0.194827, 0.305173, 0.194827, 0.305173,
3195 0.194827, 0.305173, 0.194827, 0.305173, 0.305173, 0.194827, 0.194827,
3196 0.194827, 0.305173, 0.305173, 0.249817, 0.249817, 0.250183, 0.250183,
3197 0.249817, 0.250183, 0.249817, 0.250183, 0.249817, 0.250183, 0.250183,
3198 0.249817, 0.250183, 0.249817, 0.250183, 0.249817, 0.250183, 0.249817,
3199 0.249817, 0.250183, 0.250183, 0.250183, 0.249817, 0.249817, 0.0133665,
3200 0.0133665, 0.486633, 0.486633, 0.0133665, 0.486633, 0.0133665, 0.486633,
3201 0.0133665, 0.486633, 0.486633, 0.0133665, 0.486633, 0.0133665, 0.486633,
3202 0.0133665, 0.486633, 0.0133665, 0.0133665, 0.486633, 0.486633, 0.486633,
3203 0.0133665, 0.0133665, 0.250342, 0.250342, 0.249658, 0.249658, 0.250342,
3204 0.249658, 0.250342, 0.249658, 0.250342, 0.249658, 0.249658, 0.250342,
3205 0.249658, 0.250342, 0.249658, 0.250342, 0.249658, 0.250342, 0.250342,
3206 0.249658, 0.249658, 0.249658, 0.250342, 0.250342, 0.332452, 0.332452,
3207 0.167548, 0.167548, 0.332452, 0.167548, 0.332452, 0.167548, 0.332452,
3208 0.167548, 0.167548, 0.332452, 0.167548, 0.332452, 0.167548, 0.332452,
3209 0.167548, 0.332452, 0.332452, 0.167548, 0.167548, 0.167548, 0.332452,
3210 0.332452, 0.332894, 0.332894, 0.167106, 0.167106, 0.332894, 0.167106,
3211 0.332894, 0.167106, 0.332894, 0.167106, 0.167106, 0.332894, 0.167106,
3212 0.332894, 0.167106, 0.332894, 0.167106, 0.332894, 0.332894, 0.167106,
3213 0.167106, 0.167106, 0.332894, 0.332894, 0.105389, 0.105389, 0.394611,
3214 0.394611, 0.105389, 0.394611, 0.105389, 0.394611, 0.105389, 0.394611,
3215 0.394611, 0.105389, 0.394611, 0.105389, 0.394611, 0.105389, 0.394611,
3216 0.105389, 0.105389, 0.394611, 0.394611, 0.394611, 0.105389, 0.105389,
3217 0.0431772, 0.0431772, 0.456823, 0.456823, 0.0431772, 0.456823, 0.0431772,
3218 0.456823, 0.0431772, 0.456823, 0.456823, 0.0431772, 0.456823, 0.0431772,
3219 0.456823, 0.0431772, 0.456823, 0.0431772, 0.0431772, 0.456823, 0.456823,
3220 0.456823, 0.0431772, 0.0431772, 0.0331031, 0.0331031, 0.135275, 0.798518,
3221 0.0331031, 0.0331031, 0.798518, 0.135275, 0.0331031, 0.135275, 0.0331031,
3222 0.798518, 0.0331031, 0.135275, 0.798518, 0.0331031, 0.0331031, 0.798518,
3223 0.0331031, 0.135275, 0.0331031, 0.798518, 0.135275, 0.0331031, 0.135275,
3224 0.0331031, 0.0331031, 0.798518, 0.135275, 0.0331031, 0.798518, 0.0331031,
3225 0.135275, 0.798518, 0.0331031, 0.0331031, 0.798518, 0.0331031, 0.0331031,
3226 0.135275, 0.798518, 0.0331031, 0.135275, 0.0331031, 0.798518, 0.135275,
3227 0.0331031, 0.0331031, 0.194619, 0.194619, 0.00117188, 0.609591, 0.194619,
3228 0.194619, 0.609591, 0.00117188, 0.194619, 0.00117188, 0.194619, 0.609591,
3229 0.194619, 0.00117188, 0.609591, 0.194619, 0.194619, 0.609591, 0.194619,
3230 0.00117188, 0.194619, 0.609591, 0.00117188, 0.194619, 0.00117188, 0.194619,
3231 0.194619, 0.609591, 0.00117188, 0.194619, 0.609591, 0.194619, 0.00117188,
3232 0.609591, 0.194619, 0.194619, 0.609591, 0.194619, 0.194619, 0.00117188,
3233 0.609591, 0.194619, 0.00117188, 0.194619, 0.609591, 0.00117188, 0.194619,
3234 0.194619, 0.0132125, 0.0132125, 0.327896, 0.645679, 0.0132125, 0.0132125,
3235 0.645679, 0.327896, 0.0132125, 0.327896, 0.0132125, 0.645679, 0.0132125,
3236 0.327896, 0.645679, 0.0132125, 0.0132125, 0.645679, 0.0132125, 0.327896,
3237 0.0132125, 0.645679, 0.327896, 0.0132125, 0.327896, 0.0132125, 0.0132125,
3238 0.645679, 0.327896, 0.0132125, 0.645679, 0.0132125, 0.327896, 0.645679,
3239 0.0132125, 0.0132125, 0.645679, 0.0132125, 0.0132125, 0.327896, 0.645679,
3240 0.0132125, 0.327896, 0.0132125, 0.645679, 0.327896, 0.0132125, 0.0132125,
3241 0.122932, 0.122932, 0.020284, 0.733852, 0.122932, 0.122932, 0.733852,
3242 0.020284, 0.122932, 0.020284, 0.122932, 0.733852, 0.122932, 0.020284,
3243 0.733852, 0.122932, 0.122932, 0.733852, 0.122932, 0.020284, 0.122932,
3244 0.733852, 0.020284, 0.122932, 0.020284, 0.122932, 0.122932, 0.733852,
3245 0.020284, 0.122932, 0.733852, 0.122932, 0.020284, 0.733852, 0.122932,
3246 0.122932, 0.733852, 0.122932, 0.122932, 0.020284, 0.733852, 0.122932,
3247 0.020284, 0.122932, 0.733852, 0.020284, 0.122932, 0.122932, 0.0619951,
3248 0.0619951, 0.349896, 0.526114, 0.0619951, 0.0619951, 0.526114, 0.349896,
3249 0.0619951, 0.349896, 0.0619951, 0.526114, 0.0619951, 0.349896, 0.526114,
3250 0.0619951, 0.0619951, 0.526114, 0.0619951, 0.349896, 0.0619951, 0.526114,
3251 0.349896, 0.0619951, 0.349896, 0.0619951, 0.0619951, 0.526114, 0.349896,
3252 0.0619951, 0.526114, 0.0619951, 0.349896, 0.526114, 0.0619951, 0.0619951,
3253 0.526114, 0.0619951, 0.0619951, 0.349896, 0.526114, 0.0619951, 0.349896,
3254 0.0619951, 0.526114, 0.349896, 0.0619951, 0.0619951, 0.0840719, 0.0840719,
3255 0.166683, 0.665173, 0.0840719, 0.0840719, 0.665173, 0.166683, 0.0840719,
3256 0.166683, 0.0840719, 0.665173, 0.0840719, 0.166683, 0.665173, 0.0840719,
3257 0.0840719, 0.665173, 0.0840719, 0.166683, 0.0840719, 0.665173, 0.166683,
3258 0.0840719, 0.166683, 0.0840719, 0.0840719, 0.665173, 0.166683, 0.0840719,
3259 0.665173, 0.0840719, 0.166683, 0.665173, 0.0840719, 0.0840719, 0.665173,
3260 0.0840719, 0.0840719, 0.166683, 0.665173, 0.0840719, 0.166683, 0.0840719,
3261 0.665173, 0.166683, 0.0840719, 0.0840719, 0.00786705, 0.00786705, 0.185918,
3262 0.798348, 0.00786705, 0.00786705, 0.798348, 0.185918, 0.00786705, 0.185918,
3263 0.00786705, 0.798348, 0.00786705, 0.185918, 0.798348, 0.00786705, 0.00786705,
3264 0.798348, 0.00786705, 0.185918, 0.00786705, 0.798348, 0.185918, 0.00786705,
3265 0.185918, 0.00786705, 0.00786705, 0.798348, 0.185918, 0.00786705, 0.798348,
3266 0.00786705, 0.185918, 0.798348, 0.00786705, 0.00786705, 0.798348, 0.00786705,
3267 0.00786705, 0.185918, 0.798348, 0.00786705, 0.185918, 0.00786705, 0.798348,
3268 0.185918, 0.00786705, 0.00786705, 0.0421758, 0.0421758, 0.248271, 0.667378,
3269 0.0421758, 0.0421758, 0.667378, 0.248271, 0.0421758, 0.248271, 0.0421758,
3270 0.667378, 0.0421758, 0.248271, 0.667378, 0.0421758, 0.0421758, 0.667378,
3271 0.0421758, 0.248271, 0.0421758, 0.667378, 0.248271, 0.0421758, 0.248271,
3272 0.0421758, 0.0421758, 0.667378, 0.248271, 0.0421758, 0.667378, 0.0421758,
3273 0.248271, 0.667378, 0.0421758, 0.0421758, 0.667378, 0.0421758, 0.0421758,
3274 0.248271, 0.667378, 0.0421758, 0.248271, 0.0421758, 0.667378, 0.248271,
3275 0.0421758, 0.0421758, 0.00868349, 0.00868349, 0.066981, 0.915652, 0.00868349,
3276 0.00868349, 0.915652, 0.066981, 0.00868349, 0.066981, 0.00868349, 0.915652,
3277 0.00868349, 0.066981, 0.915652, 0.00868349, 0.00868349, 0.915652, 0.00868349,
3278 0.066981, 0.00868349, 0.915652, 0.066981, 0.00868349, 0.066981, 0.00868349,
3279 0.00868349, 0.915652, 0.066981, 0.00868349, 0.915652, 0.00868349, 0.066981,
3280 0.915652, 0.00868349, 0.00868349, 0.915652, 0.00868349, 0.00868349, 0.066981,
3281 0.915652, 0.00868349, 0.066981, 0.00868349, 0.915652, 0.066981, 0.00868349,
3282 0.00868349, 0.111119, 0.111119, 0.291842, 0.485921, 0.111119, 0.111119,
3283 0.485921, 0.291842, 0.111119, 0.291842, 0.111119, 0.485921, 0.111119,
3284 0.291842, 0.485921, 0.111119, 0.111119, 0.485921, 0.111119, 0.291842,
3285 0.111119, 0.485921, 0.291842, 0.111119, 0.291842, 0.111119, 0.111119,
3286 0.485921, 0.291842, 0.111119, 0.485921, 0.111119, 0.291842, 0.485921,
3287 0.111119, 0.111119, 0.485921, 0.111119, 0.111119, 0.291842, 0.485921,
3288 0.111119, 0.291842, 0.111119, 0.485921, 0.291842, 0.111119, 0.111119,
3289 0.00368546, 0.0637708, 0.216198, 0.716345, 0.00368546, 0.0637708, 0.716345,
3290 0.216198, 0.00368546, 0.216198, 0.0637708, 0.716345, 0.00368546, 0.216198,
3291 0.716345, 0.0637708, 0.00368546, 0.716345, 0.0637708, 0.216198, 0.00368546,
3292 0.716345, 0.216198, 0.0637708, 0.0637708, 0.00368546, 0.216198, 0.716345,
3293 0.0637708, 0.00368546, 0.716345, 0.216198, 0.0637708, 0.216198, 0.00368546,
3294 0.716345, 0.0637708, 0.216198, 0.716345, 0.00368546, 0.0637708, 0.716345,
3295 0.00368546, 0.216198, 0.0637708, 0.716345, 0.216198, 0.00368546, 0.216198,
3296 0.00368546, 0.0637708, 0.716345, 0.216198, 0.00368546, 0.716345, 0.0637708,
3297 0.216198, 0.0637708, 0.00368546, 0.716345, 0.216198, 0.0637708, 0.716345,
3298 0.00368546, 0.216198, 0.716345, 0.00368546, 0.0637708, 0.216198, 0.716345,
3299 0.0637708, 0.00368546, 0.716345, 0.00368546, 0.0637708, 0.216198, 0.716345,
3300 0.00368546, 0.216198, 0.0637708, 0.716345, 0.0637708, 0.00368546, 0.216198,
3301 0.716345, 0.0637708, 0.216198, 0.00368546, 0.716345, 0.216198, 0.00368546,
3302 0.0637708, 0.716345, 0.216198, 0.0637708, 0.00368546, 0.0914756, 0.0040241,
3303 0.0486603, 0.85584, 0.0914756, 0.0040241, 0.85584, 0.0486603, 0.0914756,
3304 0.0486603, 0.0040241, 0.85584, 0.0914756, 0.0486603, 0.85584, 0.0040241,
3305 0.0914756, 0.85584, 0.0040241, 0.0486603, 0.0914756, 0.85584, 0.0486603,
3306 0.0040241, 0.0040241, 0.0914756, 0.0486603, 0.85584, 0.0040241, 0.0914756,
3307 0.85584, 0.0486603, 0.0040241, 0.0486603, 0.0914756, 0.85584, 0.0040241,
3308 0.0486603, 0.85584, 0.0914756, 0.0040241, 0.85584, 0.0914756, 0.0486603,
3309 0.0040241, 0.85584, 0.0486603, 0.0914756, 0.0486603, 0.0914756, 0.0040241,
3310 0.85584, 0.0486603, 0.0914756, 0.85584, 0.0040241, 0.0486603, 0.0040241,
3311 0.0914756, 0.85584, 0.0486603, 0.0040241, 0.85584, 0.0914756, 0.0486603,
3312 0.85584, 0.0914756, 0.0040241, 0.0486603, 0.85584, 0.0040241, 0.0914756,
3313 0.85584, 0.0914756, 0.0040241, 0.0486603, 0.85584, 0.0914756, 0.0486603,
3314 0.0040241, 0.85584, 0.0040241, 0.0914756, 0.0486603, 0.85584, 0.0040241,
3315 0.0486603, 0.0914756, 0.85584, 0.0486603, 0.0914756, 0.0040241, 0.85584,
3316 0.0486603, 0.0040241, 0.0914756, 0.132656, 0.416877, 0.0281432, 0.422323,
3317 0.132656, 0.416877, 0.422323, 0.0281432, 0.132656, 0.0281432, 0.416877,
3318 0.422323, 0.132656, 0.0281432, 0.422323, 0.416877, 0.132656, 0.422323,
3319 0.416877, 0.0281432, 0.132656, 0.422323, 0.0281432, 0.416877, 0.416877,
3320 0.132656, 0.0281432, 0.422323, 0.416877, 0.132656, 0.422323, 0.0281432,
3321 0.416877, 0.0281432, 0.132656, 0.422323, 0.416877, 0.0281432, 0.422323,
3322 0.132656, 0.416877, 0.422323, 0.132656, 0.0281432, 0.416877, 0.422323,
3323 0.0281432, 0.132656, 0.0281432, 0.132656, 0.416877, 0.422323, 0.0281432,
3324 0.132656, 0.422323, 0.416877, 0.0281432, 0.416877, 0.132656, 0.422323,
3325 0.0281432, 0.416877, 0.422323, 0.132656, 0.0281432, 0.422323, 0.132656,
3326 0.416877, 0.0281432, 0.422323, 0.416877, 0.132656, 0.422323, 0.132656,
3327 0.416877, 0.0281432, 0.422323, 0.132656, 0.0281432, 0.416877, 0.422323,
3328 0.416877, 0.132656, 0.0281432, 0.422323, 0.416877, 0.0281432, 0.132656,
3329 0.422323, 0.0281432, 0.132656, 0.416877, 0.422323, 0.0281432, 0.416877,
3330 0.132656, 0.44392, 0.246433, 0.0291944, 0.280453, 0.44392, 0.246433,
3331 0.280453, 0.0291944, 0.44392, 0.0291944, 0.246433, 0.280453, 0.44392,
3332 0.0291944, 0.280453, 0.246433, 0.44392, 0.280453, 0.246433, 0.0291944,
3333 0.44392, 0.280453, 0.0291944, 0.246433, 0.246433, 0.44392, 0.0291944,
3334 0.280453, 0.246433, 0.44392, 0.280453, 0.0291944, 0.246433, 0.0291944,
3335 0.44392, 0.280453, 0.246433, 0.0291944, 0.280453, 0.44392, 0.246433,
3336 0.280453, 0.44392, 0.0291944, 0.246433, 0.280453, 0.0291944, 0.44392,
3337 0.0291944, 0.44392, 0.246433, 0.280453, 0.0291944, 0.44392, 0.280453,
3338 0.246433, 0.0291944, 0.246433, 0.44392, 0.280453, 0.0291944, 0.246433,
3339 0.280453, 0.44392, 0.0291944, 0.280453, 0.44392, 0.246433, 0.0291944,
3340 0.280453, 0.246433, 0.44392, 0.280453, 0.44392, 0.246433, 0.0291944,
3341 0.280453, 0.44392, 0.0291944, 0.246433, 0.280453, 0.246433, 0.44392,
3342 0.0291944, 0.280453, 0.246433, 0.0291944, 0.44392, 0.280453, 0.0291944,
3343 0.44392, 0.246433, 0.280453, 0.0291944, 0.246433, 0.44392, 0.239545,
3344 0.127121, 0.245757, 0.387577, 0.239545, 0.127121, 0.387577, 0.245757,
3345 0.239545, 0.245757, 0.127121, 0.387577, 0.239545, 0.245757, 0.387577,
3346 0.127121, 0.239545, 0.387577, 0.127121, 0.245757, 0.239545, 0.387577,
3347 0.245757, 0.127121, 0.127121, 0.239545, 0.245757, 0.387577, 0.127121,
3348 0.239545, 0.387577, 0.245757, 0.127121, 0.245757, 0.239545, 0.387577,
3349 0.127121, 0.245757, 0.387577, 0.239545, 0.127121, 0.387577, 0.239545,
3350 0.245757, 0.127121, 0.387577, 0.245757, 0.239545, 0.245757, 0.239545,
3351 0.127121, 0.387577, 0.245757, 0.239545, 0.387577, 0.127121, 0.245757,
3352 0.127121, 0.239545, 0.387577, 0.245757, 0.127121, 0.387577, 0.239545,
3353 0.245757, 0.387577, 0.239545, 0.127121, 0.245757, 0.387577, 0.127121,
3354 0.239545, 0.387577, 0.239545, 0.127121, 0.245757, 0.387577, 0.239545,
3355 0.245757, 0.127121, 0.387577, 0.127121, 0.239545, 0.245757, 0.387577,
3356 0.127121, 0.245757, 0.239545, 0.387577, 0.245757, 0.239545, 0.127121,
3357 0.387577, 0.245757, 0.127121, 0.239545, 0.165713, 0.213705, 0.0702396,
3358 0.550342, 0.165713, 0.213705, 0.550342, 0.0702396, 0.165713, 0.0702396,
3359 0.213705, 0.550342, 0.165713, 0.0702396, 0.550342, 0.213705, 0.165713,
3360 0.550342, 0.213705, 0.0702396, 0.165713, 0.550342, 0.0702396, 0.213705,
3361 0.213705, 0.165713, 0.0702396, 0.550342, 0.213705, 0.165713, 0.550342,
3362 0.0702396, 0.213705, 0.0702396, 0.165713, 0.550342, 0.213705, 0.0702396,
3363 0.550342, 0.165713, 0.213705, 0.550342, 0.165713, 0.0702396, 0.213705,
3364 0.550342, 0.0702396, 0.165713, 0.0702396, 0.165713, 0.213705, 0.550342,
3365 0.0702396, 0.165713, 0.550342, 0.213705, 0.0702396, 0.213705, 0.165713,
3366 0.550342, 0.0702396, 0.213705, 0.550342, 0.165713, 0.0702396, 0.550342,
3367 0.165713, 0.213705, 0.0702396, 0.550342, 0.213705, 0.165713, 0.550342,
3368 0.165713, 0.213705, 0.0702396, 0.550342, 0.165713, 0.0702396, 0.213705,
3369 0.550342, 0.213705, 0.165713, 0.0702396, 0.550342, 0.213705, 0.0702396,
3370 0.165713, 0.550342, 0.0702396, 0.165713, 0.213705, 0.550342, 0.0702396,
3371 0.213705, 0.165713, 0.178878, 0.329035, 0.0666106, 0.425476, 0.178878,
3372 0.329035, 0.425476, 0.0666106, 0.178878, 0.0666106, 0.329035, 0.425476,
3373 0.178878, 0.0666106, 0.425476, 0.329035, 0.178878, 0.425476, 0.329035,
3374 0.0666106, 0.178878, 0.425476, 0.0666106, 0.329035, 0.329035, 0.178878,
3375 0.0666106, 0.425476, 0.329035, 0.178878, 0.425476, 0.0666106, 0.329035,
3376 0.0666106, 0.178878, 0.425476, 0.329035, 0.0666106, 0.425476, 0.178878,
3377 0.329035, 0.425476, 0.178878, 0.0666106, 0.329035, 0.425476, 0.0666106,
3378 0.178878, 0.0666106, 0.178878, 0.329035, 0.425476, 0.0666106, 0.178878,
3379 0.425476, 0.329035, 0.0666106, 0.329035, 0.178878, 0.425476, 0.0666106,
3380 0.329035, 0.425476, 0.178878, 0.0666106, 0.425476, 0.178878, 0.329035,
3381 0.0666106, 0.425476, 0.329035, 0.178878, 0.425476, 0.178878, 0.329035,
3382 0.0666106, 0.425476, 0.178878, 0.0666106, 0.329035, 0.425476, 0.329035,
3383 0.178878, 0.0666106, 0.425476, 0.329035, 0.0666106, 0.178878, 0.425476,
3384 0.0666106, 0.178878, 0.329035, 0.425476, 0.0666106, 0.329035, 0.178878,
3385 0.334018, 0.00495032, 0.1888, 0.472232, 0.334018, 0.00495032, 0.472232,
3386 0.1888, 0.334018, 0.1888, 0.00495032, 0.472232, 0.334018, 0.1888,
3387 0.472232, 0.00495032, 0.334018, 0.472232, 0.00495032, 0.1888, 0.334018,
3388 0.472232, 0.1888, 0.00495032, 0.00495032, 0.334018, 0.1888, 0.472232,
3389 0.00495032, 0.334018, 0.472232, 0.1888, 0.00495032, 0.1888, 0.334018,
3390 0.472232, 0.00495032, 0.1888, 0.472232, 0.334018, 0.00495032, 0.472232,
3391 0.334018, 0.1888, 0.00495032, 0.472232, 0.1888, 0.334018, 0.1888,
3392 0.334018, 0.00495032, 0.472232, 0.1888, 0.334018, 0.472232, 0.00495032,
3393 0.1888, 0.00495032, 0.334018, 0.472232, 0.1888, 0.00495032, 0.472232,
3394 0.334018, 0.1888, 0.472232, 0.334018, 0.00495032, 0.1888, 0.472232,
3395 0.00495032, 0.334018, 0.472232, 0.334018, 0.00495032, 0.1888, 0.472232,
3396 0.334018, 0.1888, 0.00495032, 0.472232, 0.00495032, 0.334018, 0.1888,
3397 0.472232, 0.00495032, 0.1888, 0.334018, 0.472232, 0.1888, 0.334018,
3398 0.00495032, 0.472232, 0.1888, 0.00495032, 0.334018, 0.545877, 0.00784629,
3399 0.0710496, 0.375227, 0.545877, 0.00784629, 0.375227, 0.0710496, 0.545877,
3400 0.0710496, 0.00784629, 0.375227, 0.545877, 0.0710496, 0.375227, 0.00784629,
3401 0.545877, 0.375227, 0.00784629, 0.0710496, 0.545877, 0.375227, 0.0710496,
3402 0.00784629, 0.00784629, 0.545877, 0.0710496, 0.375227, 0.00784629, 0.545877,
3403 0.375227, 0.0710496, 0.00784629, 0.0710496, 0.545877, 0.375227, 0.00784629,
3404 0.0710496, 0.375227, 0.545877, 0.00784629, 0.375227, 0.545877, 0.0710496,
3405 0.00784629, 0.375227, 0.0710496, 0.545877, 0.0710496, 0.545877, 0.00784629,
3406 0.375227, 0.0710496, 0.545877, 0.375227, 0.00784629, 0.0710496, 0.00784629,
3407 0.545877, 0.375227, 0.0710496, 0.00784629, 0.375227, 0.545877, 0.0710496,
3408 0.375227, 0.545877, 0.00784629, 0.0710496, 0.375227, 0.00784629, 0.545877,
3409 0.375227, 0.545877, 0.00784629, 0.0710496, 0.375227, 0.545877, 0.0710496,
3410 0.00784629, 0.375227, 0.00784629, 0.545877, 0.0710496, 0.375227, 0.00784629,
3411 0.0710496, 0.545877, 0.375227, 0.0710496, 0.545877, 0.00784629, 0.375227,
3412 0.0710496, 0.00784629, 0.545877, 0.0251044, 0.129356, 0.252988, 0.592552,
3413 0.0251044, 0.129356, 0.592552, 0.252988, 0.0251044, 0.252988, 0.129356,
3414 0.592552, 0.0251044, 0.252988, 0.592552, 0.129356, 0.0251044, 0.592552,
3415 0.129356, 0.252988, 0.0251044, 0.592552, 0.252988, 0.129356, 0.129356,
3416 0.0251044, 0.252988, 0.592552, 0.129356, 0.0251044, 0.592552, 0.252988,
3417 0.129356, 0.252988, 0.0251044, 0.592552, 0.129356, 0.252988, 0.592552,
3418 0.0251044, 0.129356, 0.592552, 0.0251044, 0.252988, 0.129356, 0.592552,
3419 0.252988, 0.0251044, 0.252988, 0.0251044, 0.129356, 0.592552, 0.252988,
3420 0.0251044, 0.592552, 0.129356, 0.252988, 0.129356, 0.0251044, 0.592552,
3421 0.252988, 0.129356, 0.592552, 0.0251044, 0.252988, 0.592552, 0.0251044,
3422 0.129356, 0.252988, 0.592552, 0.129356, 0.0251044, 0.592552, 0.0251044,
3423 0.129356, 0.252988, 0.592552, 0.0251044, 0.252988, 0.129356, 0.592552,
3424 0.129356, 0.0251044, 0.252988, 0.592552, 0.129356, 0.252988, 0.0251044,
3425 0.592552, 0.252988, 0.0251044, 0.129356, 0.592552, 0.252988, 0.129356,
3426 0.0251044};
3427 inline static std::array<TScalar, 436> constexpr weights = {
3428 0.000250898, 0.000250898, 0.000250898, 0.000250898, 0.00120024, 0.00120024, 0.00120024,
3429 0.00120024, 0.000966967, 0.000966967, 0.000966967, 0.000966967, 0.000410848, 0.000410848,
3430 0.000410848, 0.000410848, 0.000137255, 0.000137255, 0.000137255, 0.000137255, 0.000399359,
3431 0.000399359, 0.000399359, 0.000399359, 2.77004e-05, 2.77004e-05, 2.77004e-05, 2.77004e-05,
3432 7.91271e-06, 7.91271e-06, 7.91271e-06, 7.91271e-06, 7.91271e-06, 7.91271e-06, 9.42493e-05,
3433 9.42493e-05, 9.42493e-05, 9.42493e-05, 9.42493e-05, 9.42493e-05, 0.000187774, 0.000187774,
3434 0.000187774, 0.000187774, 0.000187774, 0.000187774, 0.000224708, 0.000224708, 0.000224708,
3435 0.000224708, 0.000224708, 0.000224708, 6.09512e-05, 6.09512e-05, 6.09512e-05, 6.09512e-05,
3436 6.09512e-05, 6.09512e-05, 0.000975529, 0.000975529, 0.000975529, 0.000975529, 0.000975529,
3437 0.000975529, 0.000326115, 0.000326115, 0.000326115, 0.000326115, 0.000326115, 0.000326115,
3438 0.000278874, 0.000278874, 0.000278874, 0.000278874, 0.000278874, 0.000278874, 0.000280735,
3439 0.000280735, 0.000280735, 0.000280735, 0.000280735, 0.000280735, 0.000280735, 0.000280735,
3440 0.000280735, 0.000280735, 0.000280735, 0.000280735, 0.000158162, 0.000158162, 0.000158162,
3441 0.000158162, 0.000158162, 0.000158162, 0.000158162, 0.000158162, 0.000158162, 0.000158162,
3442 0.000158162, 0.000158162, 0.000173181, 0.000173181, 0.000173181, 0.000173181, 0.000173181,
3443 0.000173181, 0.000173181, 0.000173181, 0.000173181, 0.000173181, 0.000173181, 0.000173181,
3444 0.000478093, 0.000478093, 0.000478093, 0.000478093, 0.000478093, 0.000478093, 0.000478093,
3445 0.000478093, 0.000478093, 0.000478093, 0.000478093, 0.000478093, 0.000612034, 0.000612034,
3446 0.000612034, 0.000612034, 0.000612034, 0.000612034, 0.000612034, 0.000612034, 0.000612034,
3447 0.000612034, 0.000612034, 0.000612034, 0.000791193, 0.000791193, 0.000791193, 0.000791193,
3448 0.000791193, 0.000791193, 0.000791193, 0.000791193, 0.000791193, 0.000791193, 0.000791193,
3449 0.000791193, 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05,
3450 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05, 6.91814e-05, 0.000417498,
3451 0.000417498, 0.000417498, 0.000417498, 0.000417498, 0.000417498, 0.000417498, 0.000417498,
3452 0.000417498, 0.000417498, 0.000417498, 0.000417498, 4.3832e-05, 4.3832e-05, 4.3832e-05,
3453 4.3832e-05, 4.3832e-05, 4.3832e-05, 4.3832e-05, 4.3832e-05, 4.3832e-05, 4.3832e-05,
3454 4.3832e-05, 4.3832e-05, 0.000872991, 0.000872991, 0.000872991, 0.000872991, 0.000872991,
3455 0.000872991, 0.000872991, 0.000872991, 0.000872991, 0.000872991, 0.000872991, 0.000872991,
3456 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842,
3457 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842,
3458 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842, 0.000158842,
3459 0.000158842, 0.000158842, 0.000158842, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05,
3460 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05,
3461 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05,
3462 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 7.37347e-05, 0.000292697,
3463 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697,
3464 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697,
3465 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697, 0.000292697,
3466 0.000292697, 0.000292697, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711,
3467 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711,
3468 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711,
3469 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000405711, 0.000656085, 0.000656085,
3470 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085,
3471 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085,
3472 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085, 0.000656085,
3473 0.000656085, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299,
3474 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299,
3475 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000533299,
3476 0.000533299, 0.000533299, 0.000533299, 0.000533299, 0.000632935, 0.000632935, 0.000632935,
3477 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935,
3478 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935,
3479 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935, 0.000632935,
3480 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323,
3481 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323,
3482 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323, 0.000249323,
3483 0.000249323, 0.000249323, 0.000249323, 0.000283999, 0.000283999, 0.000283999, 0.000283999,
3484 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999,
3485 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999,
3486 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000283999, 0.000604796,
3487 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796,
3488 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796,
3489 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796, 0.000604796,
3490 0.000604796, 0.000604796};
3491};
3492
3493template <common::CFloatingPoint TScalar>
3494struct SymmetricSimplexPolynomialQuadratureRule<3, 19, TScalar>
3495{
3496 inline static std::uint8_t constexpr kDims = 3;
3497 inline static std::uint16_t constexpr kPoints = 487;
3498 inline static std::uint8_t constexpr kOrder = 19;
3499 inline static std::array<TScalar, 1948> constexpr points = {
3500 0.25, 0.25, 0.25, 0.25, 0.7113, 0.0962335, 0.0962335,
3501 0.0962335, 0.0962335, 0.7113, 0.0962335, 0.0962335, 0.0962335, 0.0962335,
3502 0.7113, 0.0962335, 0.0962335, 0.0962335, 0.0962335, 0.7113, 0.147787,
3503 0.284071, 0.284071, 0.284071, 0.284071, 0.147787, 0.284071, 0.284071,
3504 0.284071, 0.284071, 0.147787, 0.284071, 0.284071, 0.284071, 0.284071,
3505 0.147787, 0.873963, 0.0420122, 0.0420122, 0.0420122, 0.0420122, 0.873963,
3506 0.0420122, 0.0420122, 0.0420122, 0.0420122, 0.873963, 0.0420122, 0.0420122,
3507 0.0420122, 0.0420122, 0.873963, 0.129393, 0.129393, 0.370607, 0.370607,
3508 0.129393, 0.370607, 0.129393, 0.370607, 0.129393, 0.370607, 0.370607,
3509 0.129393, 0.370607, 0.129393, 0.370607, 0.129393, 0.370607, 0.129393,
3510 0.129393, 0.370607, 0.370607, 0.370607, 0.129393, 0.129393, 0.0533931,
3511 0.0533931, 0.76797, 0.125244, 0.0533931, 0.0533931, 0.125244, 0.76797,
3512 0.0533931, 0.76797, 0.0533931, 0.125244, 0.0533931, 0.76797, 0.125244,
3513 0.0533931, 0.0533931, 0.125244, 0.0533931, 0.76797, 0.0533931, 0.125244,
3514 0.76797, 0.0533931, 0.76797, 0.0533931, 0.0533931, 0.125244, 0.76797,
3515 0.0533931, 0.125244, 0.0533931, 0.76797, 0.125244, 0.0533931, 0.0533931,
3516 0.125244, 0.0533931, 0.0533931, 0.76797, 0.125244, 0.0533931, 0.76797,
3517 0.0533931, 0.125244, 0.76797, 0.0533931, 0.0533931, 0.00525055, 0.00525055,
3518 0.166034, 0.823465, 0.00525055, 0.00525055, 0.823465, 0.166034, 0.00525055,
3519 0.166034, 0.00525055, 0.823465, 0.00525055, 0.166034, 0.823465, 0.00525055,
3520 0.00525055, 0.823465, 0.00525055, 0.166034, 0.00525055, 0.823465, 0.166034,
3521 0.00525055, 0.166034, 0.00525055, 0.00525055, 0.823465, 0.166034, 0.00525055,
3522 0.823465, 0.00525055, 0.166034, 0.823465, 0.00525055, 0.00525055, 0.823465,
3523 0.00525055, 0.00525055, 0.166034, 0.823465, 0.00525055, 0.166034, 0.00525055,
3524 0.823465, 0.166034, 0.00525055, 0.00525055, 0.212899, 0.212899, 0.103405,
3525 0.470797, 0.212899, 0.212899, 0.470797, 0.103405, 0.212899, 0.103405,
3526 0.212899, 0.470797, 0.212899, 0.103405, 0.470797, 0.212899, 0.212899,
3527 0.470797, 0.212899, 0.103405, 0.212899, 0.470797, 0.103405, 0.212899,
3528 0.103405, 0.212899, 0.212899, 0.470797, 0.103405, 0.212899, 0.470797,
3529 0.212899, 0.103405, 0.470797, 0.212899, 0.212899, 0.470797, 0.212899,
3530 0.212899, 0.103405, 0.470797, 0.212899, 0.103405, 0.212899, 0.470797,
3531 0.103405, 0.212899, 0.212899, 0.403414, 0.403414, 0.133336, 0.0598373,
3532 0.403414, 0.403414, 0.0598373, 0.133336, 0.403414, 0.133336, 0.403414,
3533 0.0598373, 0.403414, 0.133336, 0.0598373, 0.403414, 0.403414, 0.0598373,
3534 0.403414, 0.133336, 0.403414, 0.0598373, 0.133336, 0.403414, 0.133336,
3535 0.403414, 0.403414, 0.0598373, 0.133336, 0.403414, 0.0598373, 0.403414,
3536 0.133336, 0.0598373, 0.403414, 0.403414, 0.0598373, 0.403414, 0.403414,
3537 0.133336, 0.0598373, 0.403414, 0.133336, 0.403414, 0.0598373, 0.133336,
3538 0.403414, 0.403414, 0.0118881, 0.0118881, 0.553238, 0.422986, 0.0118881,
3539 0.0118881, 0.422986, 0.553238, 0.0118881, 0.553238, 0.0118881, 0.422986,
3540 0.0118881, 0.553238, 0.422986, 0.0118881, 0.0118881, 0.422986, 0.0118881,
3541 0.553238, 0.0118881, 0.422986, 0.553238, 0.0118881, 0.553238, 0.0118881,
3542 0.0118881, 0.422986, 0.553238, 0.0118881, 0.422986, 0.0118881, 0.553238,
3543 0.422986, 0.0118881, 0.0118881, 0.422986, 0.0118881, 0.0118881, 0.553238,
3544 0.422986, 0.0118881, 0.553238, 0.0118881, 0.422986, 0.553238, 0.0118881,
3545 0.0118881, 0.0890312, 0.0890312, 0.80807, 0.0138682, 0.0890312, 0.0890312,
3546 0.0138682, 0.80807, 0.0890312, 0.80807, 0.0890312, 0.0138682, 0.0890312,
3547 0.80807, 0.0138682, 0.0890312, 0.0890312, 0.0138682, 0.0890312, 0.80807,
3548 0.0890312, 0.0138682, 0.80807, 0.0890312, 0.80807, 0.0890312, 0.0890312,
3549 0.0138682, 0.80807, 0.0890312, 0.0138682, 0.0890312, 0.80807, 0.0138682,
3550 0.0890312, 0.0890312, 0.0138682, 0.0890312, 0.0890312, 0.80807, 0.0138682,
3551 0.0890312, 0.80807, 0.0890312, 0.0138682, 0.80807, 0.0890312, 0.0890312,
3552 0.0515168, 0.0515168, 0.487328, 0.409638, 0.0515168, 0.0515168, 0.409638,
3553 0.487328, 0.0515168, 0.487328, 0.0515168, 0.409638, 0.0515168, 0.487328,
3554 0.409638, 0.0515168, 0.0515168, 0.409638, 0.0515168, 0.487328, 0.0515168,
3555 0.409638, 0.487328, 0.0515168, 0.487328, 0.0515168, 0.0515168, 0.409638,
3556 0.487328, 0.0515168, 0.409638, 0.0515168, 0.487328, 0.409638, 0.0515168,
3557 0.0515168, 0.409638, 0.0515168, 0.0515168, 0.487328, 0.409638, 0.0515168,
3558 0.487328, 0.0515168, 0.409638, 0.487328, 0.0515168, 0.0515168, 0.117999,
3559 0.117999, 0.246615, 0.517386, 0.117999, 0.117999, 0.517386, 0.246615,
3560 0.117999, 0.246615, 0.117999, 0.517386, 0.117999, 0.246615, 0.517386,
3561 0.117999, 0.117999, 0.517386, 0.117999, 0.246615, 0.117999, 0.517386,
3562 0.246615, 0.117999, 0.246615, 0.117999, 0.117999, 0.517386, 0.246615,
3563 0.117999, 0.517386, 0.117999, 0.246615, 0.517386, 0.117999, 0.117999,
3564 0.517386, 0.117999, 0.117999, 0.246615, 0.517386, 0.117999, 0.246615,
3565 0.117999, 0.517386, 0.246615, 0.117999, 0.117999, 0.0460851, 0.0460851,
3566 0.278141, 0.629688, 0.0460851, 0.0460851, 0.629688, 0.278141, 0.0460851,
3567 0.278141, 0.0460851, 0.629688, 0.0460851, 0.278141, 0.629688, 0.0460851,
3568 0.0460851, 0.629688, 0.0460851, 0.278141, 0.0460851, 0.629688, 0.278141,
3569 0.0460851, 0.278141, 0.0460851, 0.0460851, 0.629688, 0.278141, 0.0460851,
3570 0.629688, 0.0460851, 0.278141, 0.629688, 0.0460851, 0.0460851, 0.629688,
3571 0.0460851, 0.0460851, 0.278141, 0.629688, 0.0460851, 0.278141, 0.0460851,
3572 0.629688, 0.278141, 0.0460851, 0.0460851, 0.141019, 0.141019, 0.00817465,
3573 0.709788, 0.141019, 0.141019, 0.709788, 0.00817465, 0.141019, 0.00817465,
3574 0.141019, 0.709788, 0.141019, 0.00817465, 0.709788, 0.141019, 0.141019,
3575 0.709788, 0.141019, 0.00817465, 0.141019, 0.709788, 0.00817465, 0.141019,
3576 0.00817465, 0.141019, 0.141019, 0.709788, 0.00817465, 0.141019, 0.709788,
3577 0.141019, 0.00817465, 0.709788, 0.141019, 0.141019, 0.709788, 0.141019,
3578 0.141019, 0.00817465, 0.709788, 0.141019, 0.00817465, 0.141019, 0.709788,
3579 0.00817465, 0.141019, 0.141019, 0.141103, 0.141103, 0.585587, 0.132206,
3580 0.141103, 0.141103, 0.132206, 0.585587, 0.141103, 0.585587, 0.141103,
3581 0.132206, 0.141103, 0.585587, 0.132206, 0.141103, 0.141103, 0.132206,
3582 0.141103, 0.585587, 0.141103, 0.132206, 0.585587, 0.141103, 0.585587,
3583 0.141103, 0.141103, 0.132206, 0.585587, 0.141103, 0.132206, 0.141103,
3584 0.585587, 0.132206, 0.141103, 0.141103, 0.132206, 0.141103, 0.141103,
3585 0.585587, 0.132206, 0.141103, 0.585587, 0.141103, 0.132206, 0.585587,
3586 0.141103, 0.141103, 0.00791186, 0.00791186, 0.0303588, 0.953817, 0.00791186,
3587 0.00791186, 0.953817, 0.0303588, 0.00791186, 0.0303588, 0.00791186, 0.953817,
3588 0.00791186, 0.0303588, 0.953817, 0.00791186, 0.00791186, 0.953817, 0.00791186,
3589 0.0303588, 0.00791186, 0.953817, 0.0303588, 0.00791186, 0.0303588, 0.00791186,
3590 0.00791186, 0.953817, 0.0303588, 0.00791186, 0.953817, 0.00791186, 0.0303588,
3591 0.953817, 0.00791186, 0.00791186, 0.953817, 0.00791186, 0.00791186, 0.0303588,
3592 0.953817, 0.00791186, 0.0303588, 0.00791186, 0.953817, 0.0303588, 0.00791186,
3593 0.00791186, 0.176101, 0.176101, 0.246124, 0.401674, 0.176101, 0.176101,
3594 0.401674, 0.246124, 0.176101, 0.246124, 0.176101, 0.401674, 0.176101,
3595 0.246124, 0.401674, 0.176101, 0.176101, 0.401674, 0.176101, 0.246124,
3596 0.176101, 0.401674, 0.246124, 0.176101, 0.246124, 0.176101, 0.176101,
3597 0.401674, 0.246124, 0.176101, 0.401674, 0.176101, 0.246124, 0.401674,
3598 0.176101, 0.176101, 0.401674, 0.176101, 0.176101, 0.246124, 0.401674,
3599 0.176101, 0.246124, 0.176101, 0.401674, 0.246124, 0.176101, 0.176101,
3600 0.0453114, 0.769412, 0.0116267, 0.17365, 0.0453114, 0.769412, 0.17365,
3601 0.0116267, 0.0453114, 0.0116267, 0.769412, 0.17365, 0.0453114, 0.0116267,
3602 0.17365, 0.769412, 0.0453114, 0.17365, 0.769412, 0.0116267, 0.0453114,
3603 0.17365, 0.0116267, 0.769412, 0.769412, 0.0453114, 0.0116267, 0.17365,
3604 0.769412, 0.0453114, 0.17365, 0.0116267, 0.769412, 0.0116267, 0.0453114,
3605 0.17365, 0.769412, 0.0116267, 0.17365, 0.0453114, 0.769412, 0.17365,
3606 0.0453114, 0.0116267, 0.769412, 0.17365, 0.0116267, 0.0453114, 0.0116267,
3607 0.0453114, 0.769412, 0.17365, 0.0116267, 0.0453114, 0.17365, 0.769412,
3608 0.0116267, 0.769412, 0.0453114, 0.17365, 0.0116267, 0.769412, 0.17365,
3609 0.0453114, 0.0116267, 0.17365, 0.0453114, 0.769412, 0.0116267, 0.17365,
3610 0.769412, 0.0453114, 0.17365, 0.0453114, 0.769412, 0.0116267, 0.17365,
3611 0.0453114, 0.0116267, 0.769412, 0.17365, 0.769412, 0.0453114, 0.0116267,
3612 0.17365, 0.769412, 0.0116267, 0.0453114, 0.17365, 0.0116267, 0.0453114,
3613 0.769412, 0.17365, 0.0116267, 0.769412, 0.0453114, 0.190247, 0.113991,
3614 0.049029, 0.646733, 0.190247, 0.113991, 0.646733, 0.049029, 0.190247,
3615 0.049029, 0.113991, 0.646733, 0.190247, 0.049029, 0.646733, 0.113991,
3616 0.190247, 0.646733, 0.113991, 0.049029, 0.190247, 0.646733, 0.049029,
3617 0.113991, 0.113991, 0.190247, 0.049029, 0.646733, 0.113991, 0.190247,
3618 0.646733, 0.049029, 0.113991, 0.049029, 0.190247, 0.646733, 0.113991,
3619 0.049029, 0.646733, 0.190247, 0.113991, 0.646733, 0.190247, 0.049029,
3620 0.113991, 0.646733, 0.049029, 0.190247, 0.049029, 0.190247, 0.113991,
3621 0.646733, 0.049029, 0.190247, 0.646733, 0.113991, 0.049029, 0.113991,
3622 0.190247, 0.646733, 0.049029, 0.113991, 0.646733, 0.190247, 0.049029,
3623 0.646733, 0.190247, 0.113991, 0.049029, 0.646733, 0.113991, 0.190247,
3624 0.646733, 0.190247, 0.113991, 0.049029, 0.646733, 0.190247, 0.049029,
3625 0.113991, 0.646733, 0.113991, 0.190247, 0.049029, 0.646733, 0.113991,
3626 0.049029, 0.190247, 0.646733, 0.049029, 0.190247, 0.113991, 0.646733,
3627 0.049029, 0.113991, 0.190247, 0.202588, 0.504522, 0.0520036, 0.240886,
3628 0.202588, 0.504522, 0.240886, 0.0520036, 0.202588, 0.0520036, 0.504522,
3629 0.240886, 0.202588, 0.0520036, 0.240886, 0.504522, 0.202588, 0.240886,
3630 0.504522, 0.0520036, 0.202588, 0.240886, 0.0520036, 0.504522, 0.504522,
3631 0.202588, 0.0520036, 0.240886, 0.504522, 0.202588, 0.240886, 0.0520036,
3632 0.504522, 0.0520036, 0.202588, 0.240886, 0.504522, 0.0520036, 0.240886,
3633 0.202588, 0.504522, 0.240886, 0.202588, 0.0520036, 0.504522, 0.240886,
3634 0.0520036, 0.202588, 0.0520036, 0.202588, 0.504522, 0.240886, 0.0520036,
3635 0.202588, 0.240886, 0.504522, 0.0520036, 0.504522, 0.202588, 0.240886,
3636 0.0520036, 0.504522, 0.240886, 0.202588, 0.0520036, 0.240886, 0.202588,
3637 0.504522, 0.0520036, 0.240886, 0.504522, 0.202588, 0.240886, 0.202588,
3638 0.504522, 0.0520036, 0.240886, 0.202588, 0.0520036, 0.504522, 0.240886,
3639 0.504522, 0.202588, 0.0520036, 0.240886, 0.504522, 0.0520036, 0.202588,
3640 0.240886, 0.0520036, 0.202588, 0.504522, 0.240886, 0.0520036, 0.504522,
3641 0.202588, 0.0628046, 0.389934, 0.00965102, 0.53761, 0.0628046, 0.389934,
3642 0.53761, 0.00965102, 0.0628046, 0.00965102, 0.389934, 0.53761, 0.0628046,
3643 0.00965102, 0.53761, 0.389934, 0.0628046, 0.53761, 0.389934, 0.00965102,
3644 0.0628046, 0.53761, 0.00965102, 0.389934, 0.389934, 0.0628046, 0.00965102,
3645 0.53761, 0.389934, 0.0628046, 0.53761, 0.00965102, 0.389934, 0.00965102,
3646 0.0628046, 0.53761, 0.389934, 0.00965102, 0.53761, 0.0628046, 0.389934,
3647 0.53761, 0.0628046, 0.00965102, 0.389934, 0.53761, 0.00965102, 0.0628046,
3648 0.00965102, 0.0628046, 0.389934, 0.53761, 0.00965102, 0.0628046, 0.53761,
3649 0.389934, 0.00965102, 0.389934, 0.0628046, 0.53761, 0.00965102, 0.389934,
3650 0.53761, 0.0628046, 0.00965102, 0.53761, 0.0628046, 0.389934, 0.00965102,
3651 0.53761, 0.389934, 0.0628046, 0.53761, 0.0628046, 0.389934, 0.00965102,
3652 0.53761, 0.0628046, 0.00965102, 0.389934, 0.53761, 0.389934, 0.0628046,
3653 0.00965102, 0.53761, 0.389934, 0.00965102, 0.0628046, 0.53761, 0.00965102,
3654 0.0628046, 0.389934, 0.53761, 0.00965102, 0.389934, 0.0628046, 0.168903,
3655 0.010251, 0.254226, 0.566619, 0.168903, 0.010251, 0.566619, 0.254226,
3656 0.168903, 0.254226, 0.010251, 0.566619, 0.168903, 0.254226, 0.566619,
3657 0.010251, 0.168903, 0.566619, 0.010251, 0.254226, 0.168903, 0.566619,
3658 0.254226, 0.010251, 0.010251, 0.168903, 0.254226, 0.566619, 0.010251,
3659 0.168903, 0.566619, 0.254226, 0.010251, 0.254226, 0.168903, 0.566619,
3660 0.010251, 0.254226, 0.566619, 0.168903, 0.010251, 0.566619, 0.168903,
3661 0.254226, 0.010251, 0.566619, 0.254226, 0.168903, 0.254226, 0.168903,
3662 0.010251, 0.566619, 0.254226, 0.168903, 0.566619, 0.010251, 0.254226,
3663 0.010251, 0.168903, 0.566619, 0.254226, 0.010251, 0.566619, 0.168903,
3664 0.254226, 0.566619, 0.168903, 0.010251, 0.254226, 0.566619, 0.010251,
3665 0.168903, 0.566619, 0.168903, 0.010251, 0.254226, 0.566619, 0.168903,
3666 0.254226, 0.010251, 0.566619, 0.010251, 0.168903, 0.254226, 0.566619,
3667 0.010251, 0.254226, 0.168903, 0.566619, 0.254226, 0.168903, 0.010251,
3668 0.566619, 0.254226, 0.010251, 0.168903, 0.12828, 0.371471, 0.282624,
3669 0.217625, 0.12828, 0.371471, 0.217625, 0.282624, 0.12828, 0.282624,
3670 0.371471, 0.217625, 0.12828, 0.282624, 0.217625, 0.371471, 0.12828,
3671 0.217625, 0.371471, 0.282624, 0.12828, 0.217625, 0.282624, 0.371471,
3672 0.371471, 0.12828, 0.282624, 0.217625, 0.371471, 0.12828, 0.217625,
3673 0.282624, 0.371471, 0.282624, 0.12828, 0.217625, 0.371471, 0.282624,
3674 0.217625, 0.12828, 0.371471, 0.217625, 0.12828, 0.282624, 0.371471,
3675 0.217625, 0.282624, 0.12828, 0.282624, 0.12828, 0.371471, 0.217625,
3676 0.282624, 0.12828, 0.217625, 0.371471, 0.282624, 0.371471, 0.12828,
3677 0.217625, 0.282624, 0.371471, 0.217625, 0.12828, 0.282624, 0.217625,
3678 0.12828, 0.371471, 0.282624, 0.217625, 0.371471, 0.12828, 0.217625,
3679 0.12828, 0.371471, 0.282624, 0.217625, 0.12828, 0.282624, 0.371471,
3680 0.217625, 0.371471, 0.12828, 0.282624, 0.217625, 0.371471, 0.282624,
3681 0.12828, 0.217625, 0.282624, 0.12828, 0.371471, 0.217625, 0.282624,
3682 0.371471, 0.12828, 0.375316, 0.232374, 0.0564857, 0.335824, 0.375316,
3683 0.232374, 0.335824, 0.0564857, 0.375316, 0.0564857, 0.232374, 0.335824,
3684 0.375316, 0.0564857, 0.335824, 0.232374, 0.375316, 0.335824, 0.232374,
3685 0.0564857, 0.375316, 0.335824, 0.0564857, 0.232374, 0.232374, 0.375316,
3686 0.0564857, 0.335824, 0.232374, 0.375316, 0.335824, 0.0564857, 0.232374,
3687 0.0564857, 0.375316, 0.335824, 0.232374, 0.0564857, 0.335824, 0.375316,
3688 0.232374, 0.335824, 0.375316, 0.0564857, 0.232374, 0.335824, 0.0564857,
3689 0.375316, 0.0564857, 0.375316, 0.232374, 0.335824, 0.0564857, 0.375316,
3690 0.335824, 0.232374, 0.0564857, 0.232374, 0.375316, 0.335824, 0.0564857,
3691 0.232374, 0.335824, 0.375316, 0.0564857, 0.335824, 0.375316, 0.232374,
3692 0.0564857, 0.335824, 0.232374, 0.375316, 0.335824, 0.375316, 0.232374,
3693 0.0564857, 0.335824, 0.375316, 0.0564857, 0.232374, 0.335824, 0.232374,
3694 0.375316, 0.0564857, 0.335824, 0.232374, 0.0564857, 0.375316, 0.335824,
3695 0.0564857, 0.375316, 0.232374, 0.335824, 0.0564857, 0.232374, 0.375316,
3696 0.0817663, 0.0282332, 0.884032, 0.00596822, 0.0817663, 0.0282332, 0.00596822,
3697 0.884032, 0.0817663, 0.884032, 0.0282332, 0.00596822, 0.0817663, 0.884032,
3698 0.00596822, 0.0282332, 0.0817663, 0.00596822, 0.0282332, 0.884032, 0.0817663,
3699 0.00596822, 0.884032, 0.0282332, 0.0282332, 0.0817663, 0.884032, 0.00596822,
3700 0.0282332, 0.0817663, 0.00596822, 0.884032, 0.0282332, 0.884032, 0.0817663,
3701 0.00596822, 0.0282332, 0.884032, 0.00596822, 0.0817663, 0.0282332, 0.00596822,
3702 0.0817663, 0.884032, 0.0282332, 0.00596822, 0.884032, 0.0817663, 0.884032,
3703 0.0817663, 0.0282332, 0.00596822, 0.884032, 0.0817663, 0.00596822, 0.0282332,
3704 0.884032, 0.0282332, 0.0817663, 0.00596822, 0.884032, 0.0282332, 0.00596822,
3705 0.0817663, 0.884032, 0.00596822, 0.0817663, 0.0282332, 0.884032, 0.00596822,
3706 0.0282332, 0.0817663, 0.00596822, 0.0817663, 0.0282332, 0.884032, 0.00596822,
3707 0.0817663, 0.884032, 0.0282332, 0.00596822, 0.0282332, 0.0817663, 0.884032,
3708 0.00596822, 0.0282332, 0.884032, 0.0817663, 0.00596822, 0.884032, 0.0817663,
3709 0.0282332, 0.00596822, 0.884032, 0.0282332, 0.0817663, 0.372722, 0.469137,
3710 0.0105201, 0.147621, 0.372722, 0.469137, 0.147621, 0.0105201, 0.372722,
3711 0.0105201, 0.469137, 0.147621, 0.372722, 0.0105201, 0.147621, 0.469137,
3712 0.372722, 0.147621, 0.469137, 0.0105201, 0.372722, 0.147621, 0.0105201,
3713 0.469137, 0.469137, 0.372722, 0.0105201, 0.147621, 0.469137, 0.372722,
3714 0.147621, 0.0105201, 0.469137, 0.0105201, 0.372722, 0.147621, 0.469137,
3715 0.0105201, 0.147621, 0.372722, 0.469137, 0.147621, 0.372722, 0.0105201,
3716 0.469137, 0.147621, 0.0105201, 0.372722, 0.0105201, 0.372722, 0.469137,
3717 0.147621, 0.0105201, 0.372722, 0.147621, 0.469137, 0.0105201, 0.469137,
3718 0.372722, 0.147621, 0.0105201, 0.469137, 0.147621, 0.372722, 0.0105201,
3719 0.147621, 0.372722, 0.469137, 0.0105201, 0.147621, 0.469137, 0.372722,
3720 0.147621, 0.372722, 0.469137, 0.0105201, 0.147621, 0.372722, 0.0105201,
3721 0.469137, 0.147621, 0.469137, 0.372722, 0.0105201, 0.147621, 0.469137,
3722 0.0105201, 0.372722, 0.147621, 0.0105201, 0.372722, 0.469137, 0.147621,
3723 0.0105201, 0.469137, 0.372722, 0.288108, 0.00624115, 0.0204079, 0.685243,
3724 0.288108, 0.00624115, 0.685243, 0.0204079, 0.288108, 0.0204079, 0.00624115,
3725 0.685243, 0.288108, 0.0204079, 0.685243, 0.00624115, 0.288108, 0.685243,
3726 0.00624115, 0.0204079, 0.288108, 0.685243, 0.0204079, 0.00624115, 0.00624115,
3727 0.288108, 0.0204079, 0.685243, 0.00624115, 0.288108, 0.685243, 0.0204079,
3728 0.00624115, 0.0204079, 0.288108, 0.685243, 0.00624115, 0.0204079, 0.685243,
3729 0.288108, 0.00624115, 0.685243, 0.288108, 0.0204079, 0.00624115, 0.685243,
3730 0.0204079, 0.288108, 0.0204079, 0.288108, 0.00624115, 0.685243, 0.0204079,
3731 0.288108, 0.685243, 0.00624115, 0.0204079, 0.00624115, 0.288108, 0.685243,
3732 0.0204079, 0.00624115, 0.685243, 0.288108, 0.0204079, 0.685243, 0.288108,
3733 0.00624115, 0.0204079, 0.685243, 0.00624115, 0.288108, 0.685243, 0.288108,
3734 0.00624115, 0.0204079, 0.685243, 0.288108, 0.0204079, 0.00624115, 0.685243,
3735 0.00624115, 0.288108, 0.0204079, 0.685243, 0.00624115, 0.0204079, 0.288108,
3736 0.685243, 0.0204079, 0.288108, 0.00624115, 0.685243, 0.0204079, 0.00624115,
3737 0.288108, 0.00848368, 0.254857, 0.0836989, 0.65296, 0.00848368, 0.254857,
3738 0.65296, 0.0836989, 0.00848368, 0.0836989, 0.254857, 0.65296, 0.00848368,
3739 0.0836989, 0.65296, 0.254857, 0.00848368, 0.65296, 0.254857, 0.0836989,
3740 0.00848368, 0.65296, 0.0836989, 0.254857, 0.254857, 0.00848368, 0.0836989,
3741 0.65296, 0.254857, 0.00848368, 0.65296, 0.0836989, 0.254857, 0.0836989,
3742 0.00848368, 0.65296, 0.254857, 0.0836989, 0.65296, 0.00848368, 0.254857,
3743 0.65296, 0.00848368, 0.0836989, 0.254857, 0.65296, 0.0836989, 0.00848368,
3744 0.0836989, 0.00848368, 0.254857, 0.65296, 0.0836989, 0.00848368, 0.65296,
3745 0.254857, 0.0836989, 0.254857, 0.00848368, 0.65296, 0.0836989, 0.254857,
3746 0.65296, 0.00848368, 0.0836989, 0.65296, 0.00848368, 0.254857, 0.0836989,
3747 0.65296, 0.254857, 0.00848368, 0.65296, 0.00848368, 0.254857, 0.0836989,
3748 0.65296, 0.00848368, 0.0836989, 0.254857, 0.65296, 0.254857, 0.00848368,
3749 0.0836989, 0.65296, 0.254857, 0.0836989, 0.00848368, 0.65296, 0.0836989,
3750 0.00848368, 0.254857, 0.65296, 0.0836989, 0.254857, 0.00848368, 0.119313,
3751 0.508123, 0.0501314, 0.322433, 0.119313, 0.508123, 0.322433, 0.0501314,
3752 0.119313, 0.0501314, 0.508123, 0.322433, 0.119313, 0.0501314, 0.322433,
3753 0.508123, 0.119313, 0.322433, 0.508123, 0.0501314, 0.119313, 0.322433,
3754 0.0501314, 0.508123, 0.508123, 0.119313, 0.0501314, 0.322433, 0.508123,
3755 0.119313, 0.322433, 0.0501314, 0.508123, 0.0501314, 0.119313, 0.322433,
3756 0.508123, 0.0501314, 0.322433, 0.119313, 0.508123, 0.322433, 0.119313,
3757 0.0501314, 0.508123, 0.322433, 0.0501314, 0.119313, 0.0501314, 0.119313,
3758 0.508123, 0.322433, 0.0501314, 0.119313, 0.322433, 0.508123, 0.0501314,
3759 0.508123, 0.119313, 0.322433, 0.0501314, 0.508123, 0.322433, 0.119313,
3760 0.0501314, 0.322433, 0.119313, 0.508123, 0.0501314, 0.322433, 0.508123,
3761 0.119313, 0.322433, 0.119313, 0.508123, 0.0501314, 0.322433, 0.119313,
3762 0.0501314, 0.508123, 0.322433, 0.508123, 0.119313, 0.0501314, 0.322433,
3763 0.508123, 0.0501314, 0.119313, 0.322433, 0.0501314, 0.119313, 0.508123,
3764 0.322433, 0.0501314, 0.508123, 0.119313, 0.419837, 0.01095, 0.315503,
3765 0.25371, 0.419837, 0.01095, 0.25371, 0.315503, 0.419837, 0.315503,
3766 0.01095, 0.25371, 0.419837, 0.315503, 0.25371, 0.01095, 0.419837,
3767 0.25371, 0.01095, 0.315503, 0.419837, 0.25371, 0.315503, 0.01095,
3768 0.01095, 0.419837, 0.315503, 0.25371, 0.01095, 0.419837, 0.25371,
3769 0.315503, 0.01095, 0.315503, 0.419837, 0.25371, 0.01095, 0.315503,
3770 0.25371, 0.419837, 0.01095, 0.25371, 0.419837, 0.315503, 0.01095,
3771 0.25371, 0.315503, 0.419837, 0.315503, 0.419837, 0.01095, 0.25371,
3772 0.315503, 0.419837, 0.25371, 0.01095, 0.315503, 0.01095, 0.419837,
3773 0.25371, 0.315503, 0.01095, 0.25371, 0.419837, 0.315503, 0.25371,
3774 0.419837, 0.01095, 0.315503, 0.25371, 0.01095, 0.419837, 0.25371,
3775 0.419837, 0.01095, 0.315503, 0.25371, 0.419837, 0.315503, 0.01095,
3776 0.25371, 0.01095, 0.419837, 0.315503, 0.25371, 0.01095, 0.315503,
3777 0.419837, 0.25371, 0.315503, 0.419837, 0.01095, 0.25371, 0.315503,
3778 0.01095, 0.419837};
3779 inline static std::array<TScalar, 487> constexpr weights = {
3780 0.00157957, 0.000384942, 0.000384942, 0.000384942, 0.000384942, 0.000681915, 0.000681915,
3781 0.000681915, 0.000681915, 0.000195609, 0.000195609, 0.000195609, 0.000195609, 0.000966293,
3782 0.000966293, 0.000966293, 0.000966293, 0.000966293, 0.000966293, 0.000338165, 0.000338165,
3783 0.000338165, 0.000338165, 0.000338165, 0.000338165, 0.000338165, 0.000338165, 0.000338165,
3784 0.000338165, 0.000338165, 0.000338165, 3.3431e-05, 3.3431e-05, 3.3431e-05, 3.3431e-05,
3785 3.3431e-05, 3.3431e-05, 3.3431e-05, 3.3431e-05, 3.3431e-05, 3.3431e-05, 3.3431e-05,
3786 3.3431e-05, 0.000484677, 0.000484677, 0.000484677, 0.000484677, 0.000484677, 0.000484677,
3787 0.000484677, 0.000484677, 0.000484677, 0.000484677, 0.000484677, 0.000484677, 0.000422013,
3788 0.000422013, 0.000422013, 0.000422013, 0.000422013, 0.000422013, 0.000422013, 0.000422013,
3789 0.000422013, 0.000422013, 0.000422013, 0.000422013, 0.000122395, 0.000122395, 0.000122395,
3790 0.000122395, 0.000122395, 0.000122395, 0.000122395, 0.000122395, 0.000122395, 0.000122395,
3791 0.000122395, 0.000122395, 0.000179364, 0.000179364, 0.000179364, 0.000179364, 0.000179364,
3792 0.000179364, 0.000179364, 0.000179364, 0.000179364, 0.000179364, 0.000179364, 0.000179364,
3793 0.000331069, 0.000331069, 0.000331069, 0.000331069, 0.000331069, 0.000331069, 0.000331069,
3794 0.000331069, 0.000331069, 0.000331069, 0.000331069, 0.000331069, 0.000841053, 0.000841053,
3795 0.000841053, 0.000841053, 0.000841053, 0.000841053, 0.000841053, 0.000841053, 0.000841053,
3796 0.000841053, 0.000841053, 0.000841053, 0.000448714, 0.000448714, 0.000448714, 0.000448714,
3797 0.000448714, 0.000448714, 0.000448714, 0.000448714, 0.000448714, 0.000448714, 0.000448714,
3798 0.000448714, 0.000221773, 0.000221773, 0.000221773, 0.000221773, 0.000221773, 0.000221773,
3799 0.000221773, 0.000221773, 0.000221773, 0.000221773, 0.000221773, 0.000221773, 0.000297155,
3800 0.000297155, 0.000297155, 0.000297155, 0.000297155, 0.000297155, 0.000297155, 0.000297155,
3801 0.000297155, 0.000297155, 0.000297155, 0.000297155, 2.10503e-05, 2.10503e-05, 2.10503e-05,
3802 2.10503e-05, 2.10503e-05, 2.10503e-05, 2.10503e-05, 2.10503e-05, 2.10503e-05, 2.10503e-05,
3803 2.10503e-05, 2.10503e-05, 0.00054071, 0.00054071, 0.00054071, 0.00054071, 0.00054071,
3804 0.00054071, 0.00054071, 0.00054071, 0.00054071, 0.00054071, 0.00054071, 0.00054071,
3805 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475,
3806 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475,
3807 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475, 0.00017475,
3808 0.00017475, 0.00017475, 0.00017475, 0.000600957, 0.000600957, 0.000600957, 0.000600957,
3809 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957,
3810 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957,
3811 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000600957, 0.000426926,
3812 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926,
3813 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926,
3814 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926, 0.000426926,
3815 0.000426926, 0.000426926, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982,
3816 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982,
3817 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982,
3818 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.00024982, 0.000302387, 0.000302387,
3819 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387,
3820 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387,
3821 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387, 0.000302387,
3822 0.000302387, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656,
3823 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656,
3824 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000480656,
3825 0.000480656, 0.000480656, 0.000480656, 0.000480656, 0.000531902, 0.000531902, 0.000531902,
3826 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902,
3827 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902,
3828 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902, 0.000531902,
3829 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05,
3830 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05,
3831 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05, 6.59214e-05,
3832 6.59214e-05, 6.59214e-05, 6.59214e-05, 0.000273702, 0.000273702, 0.000273702, 0.000273702,
3833 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702,
3834 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702,
3835 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 0.000273702, 7.73487e-05,
3836 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05,
3837 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05,
3838 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05, 7.73487e-05,
3839 7.73487e-05, 7.73487e-05, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811,
3840 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811,
3841 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811,
3842 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000201811, 0.000608881, 0.000608881,
3843 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881,
3844 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881,
3845 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881, 0.000608881,
3846 0.000608881, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799,
3847 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799,
3848 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799, 0.000290799,
3849 0.000290799, 0.000290799, 0.000290799, 0.000290799};
3850};
3851
3852template <common::CFloatingPoint TScalar>
3853struct SymmetricSimplexPolynomialQuadratureRule<3, 20, TScalar>
3854{
3855 inline static std::uint8_t constexpr kDims = 3;
3856 inline static std::uint16_t constexpr kPoints = 552;
3857 inline static std::uint8_t constexpr kOrder = 20;
3858 inline static std::array<TScalar, 2208> constexpr points = {
3859 0.109672, 0.296776, 0.296776, 0.296776, 0.296776, 0.109672, 0.296776,
3860 0.296776, 0.296776, 0.296776, 0.109672, 0.296776, 0.296776, 0.296776,
3861 0.296776, 0.109672, 0.637286, 0.120905, 0.120905, 0.120905, 0.120905,
3862 0.637286, 0.120905, 0.120905, 0.120905, 0.120905, 0.637286, 0.120905,
3863 0.120905, 0.120905, 0.120905, 0.637286, 0.0466123, 0.317796, 0.317796,
3864 0.317796, 0.317796, 0.0466123, 0.317796, 0.317796, 0.317796, 0.317796,
3865 0.0466123, 0.317796, 0.317796, 0.317796, 0.317796, 0.0466123, 0.396203,
3866 0.201266, 0.201266, 0.201266, 0.201266, 0.396203, 0.201266, 0.201266,
3867 0.201266, 0.201266, 0.396203, 0.201266, 0.201266, 0.201266, 0.201266,
3868 0.396203, 0.496348, 0.167884, 0.167884, 0.167884, 0.167884, 0.496348,
3869 0.167884, 0.167884, 0.167884, 0.167884, 0.496348, 0.167884, 0.167884,
3870 0.167884, 0.167884, 0.496348, 0.891355, 0.0362149, 0.0362149, 0.0362149,
3871 0.0362149, 0.891355, 0.0362149, 0.0362149, 0.0362149, 0.0362149, 0.891355,
3872 0.0362149, 0.0362149, 0.0362149, 0.0362149, 0.891355, 0.0526024, 0.0526024,
3873 0.447398, 0.447398, 0.0526024, 0.447398, 0.0526024, 0.447398, 0.0526024,
3874 0.447398, 0.447398, 0.0526024, 0.447398, 0.0526024, 0.447398, 0.0526024,
3875 0.447398, 0.0526024, 0.0526024, 0.447398, 0.447398, 0.447398, 0.0526024,
3876 0.0526024, 0.304579, 0.304579, 0.195421, 0.195421, 0.304579, 0.195421,
3877 0.304579, 0.195421, 0.304579, 0.195421, 0.195421, 0.304579, 0.195421,
3878 0.304579, 0.195421, 0.304579, 0.195421, 0.304579, 0.304579, 0.195421,
3879 0.195421, 0.195421, 0.304579, 0.304579, 0.0322823, 0.0322823, 0.818153,
3880 0.117282, 0.0322823, 0.0322823, 0.117282, 0.818153, 0.0322823, 0.818153,
3881 0.0322823, 0.117282, 0.0322823, 0.818153, 0.117282, 0.0322823, 0.0322823,
3882 0.117282, 0.0322823, 0.818153, 0.0322823, 0.117282, 0.818153, 0.0322823,
3883 0.818153, 0.0322823, 0.0322823, 0.117282, 0.818153, 0.0322823, 0.117282,
3884 0.0322823, 0.818153, 0.117282, 0.0322823, 0.0322823, 0.117282, 0.0322823,
3885 0.0322823, 0.818153, 0.117282, 0.0322823, 0.818153, 0.0322823, 0.117282,
3886 0.818153, 0.0322823, 0.0322823, 0.00812651, 0.00812651, 0.167196, 0.816551,
3887 0.00812651, 0.00812651, 0.816551, 0.167196, 0.00812651, 0.167196, 0.00812651,
3888 0.816551, 0.00812651, 0.167196, 0.816551, 0.00812651, 0.00812651, 0.816551,
3889 0.00812651, 0.167196, 0.00812651, 0.816551, 0.167196, 0.00812651, 0.167196,
3890 0.00812651, 0.00812651, 0.816551, 0.167196, 0.00812651, 0.816551, 0.00812651,
3891 0.167196, 0.816551, 0.00812651, 0.00812651, 0.816551, 0.00812651, 0.00812651,
3892 0.167196, 0.816551, 0.00812651, 0.167196, 0.00812651, 0.816551, 0.167196,
3893 0.00812651, 0.00812651, 0.185146, 0.185146, 0.0661101, 0.563598, 0.185146,
3894 0.185146, 0.563598, 0.0661101, 0.185146, 0.0661101, 0.185146, 0.563598,
3895 0.185146, 0.0661101, 0.563598, 0.185146, 0.185146, 0.563598, 0.185146,
3896 0.0661101, 0.185146, 0.563598, 0.0661101, 0.185146, 0.0661101, 0.185146,
3897 0.185146, 0.563598, 0.0661101, 0.185146, 0.563598, 0.185146, 0.0661101,
3898 0.563598, 0.185146, 0.185146, 0.563598, 0.185146, 0.185146, 0.0661101,
3899 0.563598, 0.185146, 0.0661101, 0.185146, 0.563598, 0.0661101, 0.185146,
3900 0.185146, 0.411078, 0.411078, 0.128183, 0.0496617, 0.411078, 0.411078,
3901 0.0496617, 0.128183, 0.411078, 0.128183, 0.411078, 0.0496617, 0.411078,
3902 0.128183, 0.0496617, 0.411078, 0.411078, 0.0496617, 0.411078, 0.128183,
3903 0.411078, 0.0496617, 0.128183, 0.411078, 0.128183, 0.411078, 0.411078,
3904 0.0496617, 0.128183, 0.411078, 0.0496617, 0.411078, 0.128183, 0.0496617,
3905 0.411078, 0.411078, 0.0496617, 0.411078, 0.411078, 0.128183, 0.0496617,
3906 0.411078, 0.128183, 0.411078, 0.0496617, 0.128183, 0.411078, 0.411078,
3907 0.0100598, 0.0100598, 0.556637, 0.423244, 0.0100598, 0.0100598, 0.423244,
3908 0.556637, 0.0100598, 0.556637, 0.0100598, 0.423244, 0.0100598, 0.556637,
3909 0.423244, 0.0100598, 0.0100598, 0.423244, 0.0100598, 0.556637, 0.0100598,
3910 0.423244, 0.556637, 0.0100598, 0.556637, 0.0100598, 0.0100598, 0.423244,
3911 0.556637, 0.0100598, 0.423244, 0.0100598, 0.556637, 0.423244, 0.0100598,
3912 0.0100598, 0.423244, 0.0100598, 0.0100598, 0.556637, 0.423244, 0.0100598,
3913 0.556637, 0.0100598, 0.423244, 0.556637, 0.0100598, 0.0100598, 0.0823016,
3914 0.0823016, 0.824252, 0.0111452, 0.0823016, 0.0823016, 0.0111452, 0.824252,
3915 0.0823016, 0.824252, 0.0823016, 0.0111452, 0.0823016, 0.824252, 0.0111452,
3916 0.0823016, 0.0823016, 0.0111452, 0.0823016, 0.824252, 0.0823016, 0.0111452,
3917 0.824252, 0.0823016, 0.824252, 0.0823016, 0.0823016, 0.0111452, 0.824252,
3918 0.0823016, 0.0111452, 0.0823016, 0.824252, 0.0111452, 0.0823016, 0.0823016,
3919 0.0111452, 0.0823016, 0.0823016, 0.824252, 0.0111452, 0.0823016, 0.824252,
3920 0.0823016, 0.0111452, 0.824252, 0.0823016, 0.0823016, 0.0380128, 0.0380128,
3921 0.607292, 0.316682, 0.0380128, 0.0380128, 0.316682, 0.607292, 0.0380128,
3922 0.607292, 0.0380128, 0.316682, 0.0380128, 0.607292, 0.316682, 0.0380128,
3923 0.0380128, 0.316682, 0.0380128, 0.607292, 0.0380128, 0.316682, 0.607292,
3924 0.0380128, 0.607292, 0.0380128, 0.0380128, 0.316682, 0.607292, 0.0380128,
3925 0.316682, 0.0380128, 0.607292, 0.316682, 0.0380128, 0.0380128, 0.316682,
3926 0.0380128, 0.0380128, 0.607292, 0.316682, 0.0380128, 0.607292, 0.0380128,
3927 0.316682, 0.607292, 0.0380128, 0.0380128, 0.0829782, 0.0829782, 0.192759,
3928 0.641285, 0.0829782, 0.0829782, 0.641285, 0.192759, 0.0829782, 0.192759,
3929 0.0829782, 0.641285, 0.0829782, 0.192759, 0.641285, 0.0829782, 0.0829782,
3930 0.641285, 0.0829782, 0.192759, 0.0829782, 0.641285, 0.192759, 0.0829782,
3931 0.192759, 0.0829782, 0.0829782, 0.641285, 0.192759, 0.0829782, 0.641285,
3932 0.0829782, 0.192759, 0.641285, 0.0829782, 0.0829782, 0.641285, 0.0829782,
3933 0.0829782, 0.192759, 0.641285, 0.0829782, 0.192759, 0.0829782, 0.641285,
3934 0.192759, 0.0829782, 0.0829782, 0.0323283, 0.0323283, 0.22909, 0.706253,
3935 0.0323283, 0.0323283, 0.706253, 0.22909, 0.0323283, 0.22909, 0.0323283,
3936 0.706253, 0.0323283, 0.22909, 0.706253, 0.0323283, 0.0323283, 0.706253,
3937 0.0323283, 0.22909, 0.0323283, 0.706253, 0.22909, 0.0323283, 0.22909,
3938 0.0323283, 0.0323283, 0.706253, 0.22909, 0.0323283, 0.706253, 0.0323283,
3939 0.22909, 0.706253, 0.0323283, 0.0323283, 0.706253, 0.0323283, 0.0323283,
3940 0.22909, 0.706253, 0.0323283, 0.22909, 0.0323283, 0.706253, 0.22909,
3941 0.0323283, 0.0323283, 0.140652, 0.140652, 0.00406246, 0.714633, 0.140652,
3942 0.140652, 0.714633, 0.00406246, 0.140652, 0.00406246, 0.140652, 0.714633,
3943 0.140652, 0.00406246, 0.714633, 0.140652, 0.140652, 0.714633, 0.140652,
3944 0.00406246, 0.140652, 0.714633, 0.00406246, 0.140652, 0.00406246, 0.140652,
3945 0.140652, 0.714633, 0.00406246, 0.140652, 0.714633, 0.140652, 0.00406246,
3946 0.714633, 0.140652, 0.140652, 0.714633, 0.140652, 0.140652, 0.00406246,
3947 0.714633, 0.140652, 0.00406246, 0.140652, 0.714633, 0.00406246, 0.140652,
3948 0.140652, 0.113972, 0.113972, 0.516866, 0.25519, 0.113972, 0.113972,
3949 0.25519, 0.516866, 0.113972, 0.516866, 0.113972, 0.25519, 0.113972,
3950 0.516866, 0.25519, 0.113972, 0.113972, 0.25519, 0.113972, 0.516866,
3951 0.113972, 0.25519, 0.516866, 0.113972, 0.516866, 0.113972, 0.113972,
3952 0.25519, 0.516866, 0.113972, 0.25519, 0.113972, 0.516866, 0.25519,
3953 0.113972, 0.113972, 0.25519, 0.113972, 0.113972, 0.516866, 0.25519,
3954 0.113972, 0.516866, 0.113972, 0.25519, 0.516866, 0.113972, 0.113972,
3955 0.00745357, 0.00745357, 0.0251786, 0.959914, 0.00745357, 0.00745357, 0.959914,
3956 0.0251786, 0.00745357, 0.0251786, 0.00745357, 0.959914, 0.00745357, 0.0251786,
3957 0.959914, 0.00745357, 0.00745357, 0.959914, 0.00745357, 0.0251786, 0.00745357,
3958 0.959914, 0.0251786, 0.00745357, 0.0251786, 0.00745357, 0.00745357, 0.959914,
3959 0.0251786, 0.00745357, 0.959914, 0.00745357, 0.0251786, 0.959914, 0.00745357,
3960 0.00745357, 0.959914, 0.00745357, 0.00745357, 0.0251786, 0.959914, 0.00745357,
3961 0.0251786, 0.00745357, 0.959914, 0.0251786, 0.00745357, 0.00745357, 0.111017,
3962 0.111017, 0.390707, 0.387259, 0.111017, 0.111017, 0.387259, 0.390707,
3963 0.111017, 0.390707, 0.111017, 0.387259, 0.111017, 0.390707, 0.387259,
3964 0.111017, 0.111017, 0.387259, 0.111017, 0.390707, 0.111017, 0.387259,
3965 0.390707, 0.111017, 0.390707, 0.111017, 0.111017, 0.387259, 0.390707,
3966 0.111017, 0.387259, 0.111017, 0.390707, 0.387259, 0.111017, 0.111017,
3967 0.387259, 0.111017, 0.111017, 0.390707, 0.387259, 0.111017, 0.390707,
3968 0.111017, 0.387259, 0.390707, 0.111017, 0.111017, 0.0531381, 0.533377,
3969 0.00976849, 0.403717, 0.0531381, 0.533377, 0.403717, 0.00976849, 0.0531381,
3970 0.00976849, 0.533377, 0.403717, 0.0531381, 0.00976849, 0.403717, 0.533377,
3971 0.0531381, 0.403717, 0.533377, 0.00976849, 0.0531381, 0.403717, 0.00976849,
3972 0.533377, 0.533377, 0.0531381, 0.00976849, 0.403717, 0.533377, 0.0531381,
3973 0.403717, 0.00976849, 0.533377, 0.00976849, 0.0531381, 0.403717, 0.533377,
3974 0.00976849, 0.403717, 0.0531381, 0.533377, 0.403717, 0.0531381, 0.00976849,
3975 0.533377, 0.403717, 0.00976849, 0.0531381, 0.00976849, 0.0531381, 0.533377,
3976 0.403717, 0.00976849, 0.0531381, 0.403717, 0.533377, 0.00976849, 0.533377,
3977 0.0531381, 0.403717, 0.00976849, 0.533377, 0.403717, 0.0531381, 0.00976849,
3978 0.403717, 0.0531381, 0.533377, 0.00976849, 0.403717, 0.533377, 0.0531381,
3979 0.403717, 0.0531381, 0.533377, 0.00976849, 0.403717, 0.0531381, 0.00976849,
3980 0.533377, 0.403717, 0.533377, 0.0531381, 0.00976849, 0.403717, 0.533377,
3981 0.00976849, 0.0531381, 0.403717, 0.00976849, 0.0531381, 0.533377, 0.403717,
3982 0.00976849, 0.533377, 0.0531381, 0.0943921, 0.0945052, 0.760948, 0.0501547,
3983 0.0943921, 0.0945052, 0.0501547, 0.760948, 0.0943921, 0.760948, 0.0945052,
3984 0.0501547, 0.0943921, 0.760948, 0.0501547, 0.0945052, 0.0943921, 0.0501547,
3985 0.0945052, 0.760948, 0.0943921, 0.0501547, 0.760948, 0.0945052, 0.0945052,
3986 0.0943921, 0.760948, 0.0501547, 0.0945052, 0.0943921, 0.0501547, 0.760948,
3987 0.0945052, 0.760948, 0.0943921, 0.0501547, 0.0945052, 0.760948, 0.0501547,
3988 0.0943921, 0.0945052, 0.0501547, 0.0943921, 0.760948, 0.0945052, 0.0501547,
3989 0.760948, 0.0943921, 0.760948, 0.0943921, 0.0945052, 0.0501547, 0.760948,
3990 0.0943921, 0.0501547, 0.0945052, 0.760948, 0.0945052, 0.0943921, 0.0501547,
3991 0.760948, 0.0945052, 0.0501547, 0.0943921, 0.760948, 0.0501547, 0.0943921,
3992 0.0945052, 0.760948, 0.0501547, 0.0945052, 0.0943921, 0.0501547, 0.0943921,
3993 0.0945052, 0.760948, 0.0501547, 0.0943921, 0.760948, 0.0945052, 0.0501547,
3994 0.0945052, 0.0943921, 0.760948, 0.0501547, 0.0945052, 0.760948, 0.0943921,
3995 0.0501547, 0.760948, 0.0943921, 0.0945052, 0.0501547, 0.760948, 0.0945052,
3996 0.0943921, 0.0550545, 0.765396, 0.00566075, 0.173889, 0.0550545, 0.765396,
3997 0.173889, 0.00566075, 0.0550545, 0.00566075, 0.765396, 0.173889, 0.0550545,
3998 0.00566075, 0.173889, 0.765396, 0.0550545, 0.173889, 0.765396, 0.00566075,
3999 0.0550545, 0.173889, 0.00566075, 0.765396, 0.765396, 0.0550545, 0.00566075,
4000 0.173889, 0.765396, 0.0550545, 0.173889, 0.00566075, 0.765396, 0.00566075,
4001 0.0550545, 0.173889, 0.765396, 0.00566075, 0.173889, 0.0550545, 0.765396,
4002 0.173889, 0.0550545, 0.00566075, 0.765396, 0.173889, 0.00566075, 0.0550545,
4003 0.00566075, 0.0550545, 0.765396, 0.173889, 0.00566075, 0.0550545, 0.173889,
4004 0.765396, 0.00566075, 0.765396, 0.0550545, 0.173889, 0.00566075, 0.765396,
4005 0.173889, 0.0550545, 0.00566075, 0.173889, 0.0550545, 0.765396, 0.00566075,
4006 0.173889, 0.765396, 0.0550545, 0.173889, 0.0550545, 0.765396, 0.00566075,
4007 0.173889, 0.0550545, 0.00566075, 0.765396, 0.173889, 0.765396, 0.0550545,
4008 0.00566075, 0.173889, 0.765396, 0.00566075, 0.0550545, 0.173889, 0.00566075,
4009 0.0550545, 0.765396, 0.173889, 0.00566075, 0.765396, 0.0550545, 0.179864,
4010 0.0975172, 0.0346619, 0.687957, 0.179864, 0.0975172, 0.687957, 0.0346619,
4011 0.179864, 0.0346619, 0.0975172, 0.687957, 0.179864, 0.0346619, 0.687957,
4012 0.0975172, 0.179864, 0.687957, 0.0975172, 0.0346619, 0.179864, 0.687957,
4013 0.0346619, 0.0975172, 0.0975172, 0.179864, 0.0346619, 0.687957, 0.0975172,
4014 0.179864, 0.687957, 0.0346619, 0.0975172, 0.0346619, 0.179864, 0.687957,
4015 0.0975172, 0.0346619, 0.687957, 0.179864, 0.0975172, 0.687957, 0.179864,
4016 0.0346619, 0.0975172, 0.687957, 0.0346619, 0.179864, 0.0346619, 0.179864,
4017 0.0975172, 0.687957, 0.0346619, 0.179864, 0.687957, 0.0975172, 0.0346619,
4018 0.0975172, 0.179864, 0.687957, 0.0346619, 0.0975172, 0.687957, 0.179864,
4019 0.0346619, 0.687957, 0.179864, 0.0975172, 0.0346619, 0.687957, 0.0975172,
4020 0.179864, 0.687957, 0.179864, 0.0975172, 0.0346619, 0.687957, 0.179864,
4021 0.0346619, 0.0975172, 0.687957, 0.0975172, 0.179864, 0.0346619, 0.687957,
4022 0.0975172, 0.0346619, 0.179864, 0.687957, 0.0346619, 0.179864, 0.0975172,
4023 0.687957, 0.0346619, 0.0975172, 0.179864, 0.212192, 0.409504, 0.0461308,
4024 0.332174, 0.212192, 0.409504, 0.332174, 0.0461308, 0.212192, 0.0461308,
4025 0.409504, 0.332174, 0.212192, 0.0461308, 0.332174, 0.409504, 0.212192,
4026 0.332174, 0.409504, 0.0461308, 0.212192, 0.332174, 0.0461308, 0.409504,
4027 0.409504, 0.212192, 0.0461308, 0.332174, 0.409504, 0.212192, 0.332174,
4028 0.0461308, 0.409504, 0.0461308, 0.212192, 0.332174, 0.409504, 0.0461308,
4029 0.332174, 0.212192, 0.409504, 0.332174, 0.212192, 0.0461308, 0.409504,
4030 0.332174, 0.0461308, 0.212192, 0.0461308, 0.212192, 0.409504, 0.332174,
4031 0.0461308, 0.212192, 0.332174, 0.409504, 0.0461308, 0.409504, 0.212192,
4032 0.332174, 0.0461308, 0.409504, 0.332174, 0.212192, 0.0461308, 0.332174,
4033 0.212192, 0.409504, 0.0461308, 0.332174, 0.409504, 0.212192, 0.332174,
4034 0.212192, 0.409504, 0.0461308, 0.332174, 0.212192, 0.0461308, 0.409504,
4035 0.332174, 0.409504, 0.212192, 0.0461308, 0.332174, 0.409504, 0.0461308,
4036 0.212192, 0.332174, 0.0461308, 0.212192, 0.409504, 0.332174, 0.0461308,
4037 0.409504, 0.212192, 0.129016, 0.476556, 0.00995603, 0.384472, 0.129016,
4038 0.476556, 0.384472, 0.00995603, 0.129016, 0.00995603, 0.476556, 0.384472,
4039 0.129016, 0.00995603, 0.384472, 0.476556, 0.129016, 0.384472, 0.476556,
4040 0.00995603, 0.129016, 0.384472, 0.00995603, 0.476556, 0.476556, 0.129016,
4041 0.00995603, 0.384472, 0.476556, 0.129016, 0.384472, 0.00995603, 0.476556,
4042 0.00995603, 0.129016, 0.384472, 0.476556, 0.00995603, 0.384472, 0.129016,
4043 0.476556, 0.384472, 0.129016, 0.00995603, 0.476556, 0.384472, 0.00995603,
4044 0.129016, 0.00995603, 0.129016, 0.476556, 0.384472, 0.00995603, 0.129016,
4045 0.384472, 0.476556, 0.00995603, 0.476556, 0.129016, 0.384472, 0.00995603,
4046 0.476556, 0.384472, 0.129016, 0.00995603, 0.384472, 0.129016, 0.476556,
4047 0.00995603, 0.384472, 0.476556, 0.129016, 0.384472, 0.129016, 0.476556,
4048 0.00995603, 0.384472, 0.129016, 0.00995603, 0.476556, 0.384472, 0.476556,
4049 0.129016, 0.00995603, 0.384472, 0.476556, 0.00995603, 0.129016, 0.384472,
4050 0.00995603, 0.129016, 0.476556, 0.384472, 0.00995603, 0.476556, 0.129016,
4051 0.161487, 0.0137608, 0.226481, 0.598271, 0.161487, 0.0137608, 0.598271,
4052 0.226481, 0.161487, 0.226481, 0.0137608, 0.598271, 0.161487, 0.226481,
4053 0.598271, 0.0137608, 0.161487, 0.598271, 0.0137608, 0.226481, 0.161487,
4054 0.598271, 0.226481, 0.0137608, 0.0137608, 0.161487, 0.226481, 0.598271,
4055 0.0137608, 0.161487, 0.598271, 0.226481, 0.0137608, 0.226481, 0.161487,
4056 0.598271, 0.0137608, 0.226481, 0.598271, 0.161487, 0.0137608, 0.598271,
4057 0.161487, 0.226481, 0.0137608, 0.598271, 0.226481, 0.161487, 0.226481,
4058 0.161487, 0.0137608, 0.598271, 0.226481, 0.161487, 0.598271, 0.0137608,
4059 0.226481, 0.0137608, 0.161487, 0.598271, 0.226481, 0.0137608, 0.598271,
4060 0.161487, 0.226481, 0.598271, 0.161487, 0.0137608, 0.226481, 0.598271,
4061 0.0137608, 0.161487, 0.598271, 0.161487, 0.0137608, 0.226481, 0.598271,
4062 0.161487, 0.226481, 0.0137608, 0.598271, 0.0137608, 0.161487, 0.226481,
4063 0.598271, 0.0137608, 0.226481, 0.161487, 0.598271, 0.226481, 0.161487,
4064 0.0137608, 0.598271, 0.226481, 0.0137608, 0.161487, 0.105928, 0.41435,
4065 0.19442, 0.285301, 0.105928, 0.41435, 0.285301, 0.19442, 0.105928,
4066 0.19442, 0.41435, 0.285301, 0.105928, 0.19442, 0.285301, 0.41435,
4067 0.105928, 0.285301, 0.41435, 0.19442, 0.105928, 0.285301, 0.19442,
4068 0.41435, 0.41435, 0.105928, 0.19442, 0.285301, 0.41435, 0.105928,
4069 0.285301, 0.19442, 0.41435, 0.19442, 0.105928, 0.285301, 0.41435,
4070 0.19442, 0.285301, 0.105928, 0.41435, 0.285301, 0.105928, 0.19442,
4071 0.41435, 0.285301, 0.19442, 0.105928, 0.19442, 0.105928, 0.41435,
4072 0.285301, 0.19442, 0.105928, 0.285301, 0.41435, 0.19442, 0.41435,
4073 0.105928, 0.285301, 0.19442, 0.41435, 0.285301, 0.105928, 0.19442,
4074 0.285301, 0.105928, 0.41435, 0.19442, 0.285301, 0.41435, 0.105928,
4075 0.285301, 0.105928, 0.41435, 0.19442, 0.285301, 0.105928, 0.19442,
4076 0.41435, 0.285301, 0.41435, 0.105928, 0.19442, 0.285301, 0.41435,
4077 0.19442, 0.105928, 0.285301, 0.19442, 0.105928, 0.41435, 0.285301,
4078 0.19442, 0.41435, 0.105928, 0.204623, 0.286408, 0.0360779, 0.472891,
4079 0.204623, 0.286408, 0.472891, 0.0360779, 0.204623, 0.0360779, 0.286408,
4080 0.472891, 0.204623, 0.0360779, 0.472891, 0.286408, 0.204623, 0.472891,
4081 0.286408, 0.0360779, 0.204623, 0.472891, 0.0360779, 0.286408, 0.286408,
4082 0.204623, 0.0360779, 0.472891, 0.286408, 0.204623, 0.472891, 0.0360779,
4083 0.286408, 0.0360779, 0.204623, 0.472891, 0.286408, 0.0360779, 0.472891,
4084 0.204623, 0.286408, 0.472891, 0.204623, 0.0360779, 0.286408, 0.472891,
4085 0.0360779, 0.204623, 0.0360779, 0.204623, 0.286408, 0.472891, 0.0360779,
4086 0.204623, 0.472891, 0.286408, 0.0360779, 0.286408, 0.204623, 0.472891,
4087 0.0360779, 0.286408, 0.472891, 0.204623, 0.0360779, 0.472891, 0.204623,
4088 0.286408, 0.0360779, 0.472891, 0.286408, 0.204623, 0.472891, 0.204623,
4089 0.286408, 0.0360779, 0.472891, 0.204623, 0.0360779, 0.286408, 0.472891,
4090 0.286408, 0.204623, 0.0360779, 0.472891, 0.286408, 0.0360779, 0.204623,
4091 0.472891, 0.0360779, 0.204623, 0.286408, 0.472891, 0.0360779, 0.286408,
4092 0.204623, 0.074418, 0.0236158, 0.899524, 0.00244217, 0.074418, 0.0236158,
4093 0.00244217, 0.899524, 0.074418, 0.899524, 0.0236158, 0.00244217, 0.074418,
4094 0.899524, 0.00244217, 0.0236158, 0.074418, 0.00244217, 0.0236158, 0.899524,
4095 0.074418, 0.00244217, 0.899524, 0.0236158, 0.0236158, 0.074418, 0.899524,
4096 0.00244217, 0.0236158, 0.074418, 0.00244217, 0.899524, 0.0236158, 0.899524,
4097 0.074418, 0.00244217, 0.0236158, 0.899524, 0.00244217, 0.074418, 0.0236158,
4098 0.00244217, 0.074418, 0.899524, 0.0236158, 0.00244217, 0.899524, 0.074418,
4099 0.899524, 0.074418, 0.0236158, 0.00244217, 0.899524, 0.074418, 0.00244217,
4100 0.0236158, 0.899524, 0.0236158, 0.074418, 0.00244217, 0.899524, 0.0236158,
4101 0.00244217, 0.074418, 0.899524, 0.00244217, 0.074418, 0.0236158, 0.899524,
4102 0.00244217, 0.0236158, 0.074418, 0.00244217, 0.074418, 0.0236158, 0.899524,
4103 0.00244217, 0.074418, 0.899524, 0.0236158, 0.00244217, 0.0236158, 0.074418,
4104 0.899524, 0.00244217, 0.0236158, 0.899524, 0.074418, 0.00244217, 0.899524,
4105 0.074418, 0.0236158, 0.00244217, 0.899524, 0.0236158, 0.074418, 0.293835,
4106 0.507875, 0.00437977, 0.19391, 0.293835, 0.507875, 0.19391, 0.00437977,
4107 0.293835, 0.00437977, 0.507875, 0.19391, 0.293835, 0.00437977, 0.19391,
4108 0.507875, 0.293835, 0.19391, 0.507875, 0.00437977, 0.293835, 0.19391,
4109 0.00437977, 0.507875, 0.507875, 0.293835, 0.00437977, 0.19391, 0.507875,
4110 0.293835, 0.19391, 0.00437977, 0.507875, 0.00437977, 0.293835, 0.19391,
4111 0.507875, 0.00437977, 0.19391, 0.293835, 0.507875, 0.19391, 0.293835,
4112 0.00437977, 0.507875, 0.19391, 0.00437977, 0.293835, 0.00437977, 0.293835,
4113 0.507875, 0.19391, 0.00437977, 0.293835, 0.19391, 0.507875, 0.00437977,
4114 0.507875, 0.293835, 0.19391, 0.00437977, 0.507875, 0.19391, 0.293835,
4115 0.00437977, 0.19391, 0.293835, 0.507875, 0.00437977, 0.19391, 0.507875,
4116 0.293835, 0.19391, 0.293835, 0.507875, 0.00437977, 0.19391, 0.293835,
4117 0.00437977, 0.507875, 0.19391, 0.507875, 0.293835, 0.00437977, 0.19391,
4118 0.507875, 0.00437977, 0.293835, 0.19391, 0.00437977, 0.293835, 0.507875,
4119 0.19391, 0.00437977, 0.507875, 0.293835, 0.2899, 0.00238861, 0.0209583,
4120 0.686753, 0.2899, 0.00238861, 0.686753, 0.0209583, 0.2899, 0.0209583,
4121 0.00238861, 0.686753, 0.2899, 0.0209583, 0.686753, 0.00238861, 0.2899,
4122 0.686753, 0.00238861, 0.0209583, 0.2899, 0.686753, 0.0209583, 0.00238861,
4123 0.00238861, 0.2899, 0.0209583, 0.686753, 0.00238861, 0.2899, 0.686753,
4124 0.0209583, 0.00238861, 0.0209583, 0.2899, 0.686753, 0.00238861, 0.0209583,
4125 0.686753, 0.2899, 0.00238861, 0.686753, 0.2899, 0.0209583, 0.00238861,
4126 0.686753, 0.0209583, 0.2899, 0.0209583, 0.2899, 0.00238861, 0.686753,
4127 0.0209583, 0.2899, 0.686753, 0.00238861, 0.0209583, 0.00238861, 0.2899,
4128 0.686753, 0.0209583, 0.00238861, 0.686753, 0.2899, 0.0209583, 0.686753,
4129 0.2899, 0.00238861, 0.0209583, 0.686753, 0.00238861, 0.2899, 0.686753,
4130 0.2899, 0.00238861, 0.0209583, 0.686753, 0.2899, 0.0209583, 0.00238861,
4131 0.686753, 0.00238861, 0.2899, 0.0209583, 0.686753, 0.00238861, 0.0209583,
4132 0.2899, 0.686753, 0.0209583, 0.2899, 0.00238861, 0.686753, 0.0209583,
4133 0.00238861, 0.2899, 0.0069204, 0.278009, 0.0866622, 0.628408, 0.0069204,
4134 0.278009, 0.628408, 0.0866622, 0.0069204, 0.0866622, 0.278009, 0.628408,
4135 0.0069204, 0.0866622, 0.628408, 0.278009, 0.0069204, 0.628408, 0.278009,
4136 0.0866622, 0.0069204, 0.628408, 0.0866622, 0.278009, 0.278009, 0.0069204,
4137 0.0866622, 0.628408, 0.278009, 0.0069204, 0.628408, 0.0866622, 0.278009,
4138 0.0866622, 0.0069204, 0.628408, 0.278009, 0.0866622, 0.628408, 0.0069204,
4139 0.278009, 0.628408, 0.0069204, 0.0866622, 0.278009, 0.628408, 0.0866622,
4140 0.0069204, 0.0866622, 0.0069204, 0.278009, 0.628408, 0.0866622, 0.0069204,
4141 0.628408, 0.278009, 0.0866622, 0.278009, 0.0069204, 0.628408, 0.0866622,
4142 0.278009, 0.628408, 0.0069204, 0.0866622, 0.628408, 0.0069204, 0.278009,
4143 0.0866622, 0.628408, 0.278009, 0.0069204, 0.628408, 0.0069204, 0.278009,
4144 0.0866622, 0.628408, 0.0069204, 0.0866622, 0.278009, 0.628408, 0.278009,
4145 0.0069204, 0.0866622, 0.628408, 0.278009, 0.0866622, 0.0069204, 0.628408,
4146 0.0866622, 0.0069204, 0.278009, 0.628408, 0.0866622, 0.278009, 0.0069204,
4147 0.105319, 0.543113, 0.0462501, 0.305318, 0.105319, 0.543113, 0.305318,
4148 0.0462501, 0.105319, 0.0462501, 0.543113, 0.305318, 0.105319, 0.0462501,
4149 0.305318, 0.543113, 0.105319, 0.305318, 0.543113, 0.0462501, 0.105319,
4150 0.305318, 0.0462501, 0.543113, 0.543113, 0.105319, 0.0462501, 0.305318,
4151 0.543113, 0.105319, 0.305318, 0.0462501, 0.543113, 0.0462501, 0.105319,
4152 0.305318, 0.543113, 0.0462501, 0.305318, 0.105319, 0.543113, 0.305318,
4153 0.105319, 0.0462501, 0.543113, 0.305318, 0.0462501, 0.105319, 0.0462501,
4154 0.105319, 0.543113, 0.305318, 0.0462501, 0.105319, 0.305318, 0.543113,
4155 0.0462501, 0.543113, 0.105319, 0.305318, 0.0462501, 0.543113, 0.305318,
4156 0.105319, 0.0462501, 0.305318, 0.105319, 0.543113, 0.0462501, 0.305318,
4157 0.543113, 0.105319, 0.305318, 0.105319, 0.543113, 0.0462501, 0.305318,
4158 0.105319, 0.0462501, 0.543113, 0.305318, 0.543113, 0.105319, 0.0462501,
4159 0.305318, 0.543113, 0.0462501, 0.105319, 0.305318, 0.0462501, 0.105319,
4160 0.543113, 0.305318, 0.0462501, 0.543113, 0.105319, 0.338762, 0.00879233,
4161 0.400251, 0.252196, 0.338762, 0.00879233, 0.252196, 0.400251, 0.338762,
4162 0.400251, 0.00879233, 0.252196, 0.338762, 0.400251, 0.252196, 0.00879233,
4163 0.338762, 0.252196, 0.00879233, 0.400251, 0.338762, 0.252196, 0.400251,
4164 0.00879233, 0.00879233, 0.338762, 0.400251, 0.252196, 0.00879233, 0.338762,
4165 0.252196, 0.400251, 0.00879233, 0.400251, 0.338762, 0.252196, 0.00879233,
4166 0.400251, 0.252196, 0.338762, 0.00879233, 0.252196, 0.338762, 0.400251,
4167 0.00879233, 0.252196, 0.400251, 0.338762, 0.400251, 0.338762, 0.00879233,
4168 0.252196, 0.400251, 0.338762, 0.252196, 0.00879233, 0.400251, 0.00879233,
4169 0.338762, 0.252196, 0.400251, 0.00879233, 0.252196, 0.338762, 0.400251,
4170 0.252196, 0.338762, 0.00879233, 0.400251, 0.252196, 0.00879233, 0.338762,
4171 0.252196, 0.338762, 0.00879233, 0.400251, 0.252196, 0.338762, 0.400251,
4172 0.00879233, 0.252196, 0.00879233, 0.338762, 0.400251, 0.252196, 0.00879233,
4173 0.400251, 0.338762, 0.252196, 0.400251, 0.338762, 0.00879233, 0.252196,
4174 0.400251, 0.00879233, 0.338762};
4175 inline static std::array<TScalar, 552> constexpr weights = {
4176 0.000903076, 0.000903076, 0.000903076, 0.000903076, 0.000636816, 0.000636816, 0.000636816,
4177 0.000636816, 0.000676243, 0.000676243, 0.000676243, 0.000676243, 0.000691278, 0.000691278,
4178 0.000691278, 0.000691278, 0.000881594, 0.000881594, 0.000881594, 0.000881594, 0.000162007,
4179 0.000162007, 0.000162007, 0.000162007, 0.000498029, 0.000498029, 0.000498029, 0.000498029,
4180 0.000498029, 0.000498029, 0.00117696, 0.00117696, 0.00117696, 0.00117696, 0.00117696,
4181 0.00117696, 0.000189669, 0.000189669, 0.000189669, 0.000189669, 0.000189669, 0.000189669,
4182 0.000189669, 0.000189669, 0.000189669, 0.000189669, 0.000189669, 0.000189669, 5.47388e-05,
4183 5.47388e-05, 5.47388e-05, 5.47388e-05, 5.47388e-05, 5.47388e-05, 5.47388e-05, 5.47388e-05,
4184 5.47388e-05, 5.47388e-05, 5.47388e-05, 5.47388e-05, 0.000752884, 0.000752884, 0.000752884,
4185 0.000752884, 0.000752884, 0.000752884, 0.000752884, 0.000752884, 0.000752884, 0.000752884,
4186 0.000752884, 0.000752884, 0.000457326, 0.000457326, 0.000457326, 0.000457326, 0.000457326,
4187 0.000457326, 0.000457326, 0.000457326, 0.000457326, 0.000457326, 0.000457326, 0.000457326,
4188 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05,
4189 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05, 8.90851e-05, 0.000142127, 0.000142127,
4190 0.000142127, 0.000142127, 0.000142127, 0.000142127, 0.000142127, 0.000142127, 0.000142127,
4191 0.000142127, 0.000142127, 0.000142127, 0.000268112, 0.000268112, 0.000268112, 0.000268112,
4192 0.000268112, 0.000268112, 0.000268112, 0.000268112, 0.000268112, 0.000268112, 0.000268112,
4193 0.000268112, 0.00036067, 0.00036067, 0.00036067, 0.00036067, 0.00036067, 0.00036067,
4194 0.00036067, 0.00036067, 0.00036067, 0.00036067, 0.00036067, 0.00036067, 0.000216494,
4195 0.000216494, 0.000216494, 0.000216494, 0.000216494, 0.000216494, 0.000216494, 0.000216494,
4196 0.000216494, 0.000216494, 0.000216494, 0.000216494, 0.00012567, 0.00012567, 0.00012567,
4197 0.00012567, 0.00012567, 0.00012567, 0.00012567, 0.00012567, 0.00012567, 0.00012567,
4198 0.00012567, 0.00012567, 0.000656065, 0.000656065, 0.000656065, 0.000656065, 0.000656065,
4199 0.000656065, 0.000656065, 0.000656065, 0.000656065, 0.000656065, 0.000656065, 0.000656065,
4200 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05,
4201 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05, 1.37674e-05, 0.000367099, 0.000367099,
4202 0.000367099, 0.000367099, 0.000367099, 0.000367099, 0.000367099, 0.000367099, 0.000367099,
4203 0.000367099, 0.000367099, 0.000367099, 0.000190485, 0.000190485, 0.000190485, 0.000190485,
4204 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485,
4205 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485,
4206 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000190485, 0.000133956,
4207 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956,
4208 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956,
4209 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956, 0.000133956,
4210 0.000133956, 0.000133956, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351,
4211 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351,
4212 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351,
4213 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000107351, 0.000380801, 0.000380801,
4214 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801,
4215 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801,
4216 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801, 0.000380801,
4217 0.000380801, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703,
4218 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703,
4219 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000294703,
4220 0.000294703, 0.000294703, 0.000294703, 0.000294703, 0.000227349, 0.000227349, 0.000227349,
4221 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349,
4222 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349,
4223 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349, 0.000227349,
4224 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919,
4225 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919,
4226 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919, 0.000234919,
4227 0.000234919, 0.000234919, 0.000234919, 0.000892033, 0.000892033, 0.000892033, 0.000892033,
4228 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033,
4229 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033,
4230 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000892033, 0.000392875,
4231 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875,
4232 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875,
4233 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875, 0.000392875,
4234 0.000392875, 0.000392875, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05,
4235 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05,
4236 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05,
4237 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 3.8925e-05, 0.00013832, 0.00013832,
4238 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832,
4239 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832,
4240 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832, 0.00013832,
4241 0.00013832, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05,
4242 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05,
4243 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05,
4244 5.80055e-05, 5.80055e-05, 5.80055e-05, 5.80055e-05, 0.000180218, 0.000180218, 0.000180218,
4245 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218,
4246 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218,
4247 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218, 0.000180218,
4248 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599,
4249 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599,
4250 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599, 0.000560599,
4251 0.000560599, 0.000560599, 0.000560599, 0.000189803, 0.000189803, 0.000189803, 0.000189803,
4252 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803,
4253 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803,
4254 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803, 0.000189803};
4255};
4256
4257#include "pbat/warning/Pop.h"
4258
4259} // namespace detail
4260} // namespace math
4261} // namespace pbat
4262
4263#endif // PBAT_MATH_SYMMETRIC_QUADRATURE_RULES_H
Concepts for common types.
Math related functionality.
Definition Concepts.h:19
typename detail::SymmetricSimplexPolynomialQuadratureRule< Dims, Order, TScalar > SymmetricSimplexPolynomialQuadratureRule
Symmetric quadrature rule for reference simplices in dimensions .
Definition SymmetricQuadratureRules.h:96
The main namespace of the library.
Definition Aliases.h:15
static std::uint8_t constexpr kOrder
Polynomial order.
Definition SymmetricQuadratureRules.h:34
static std::uint8_t constexpr kDims
Spatial dimensions.
Definition SymmetricQuadratureRules.h:32
decltype(Quad::weights) weights
Quadrature weights.
Definition SymmetricQuadratureRules.h:38
static std::uint16_t constexpr kPoints
Number of quadrature points.
Definition SymmetricQuadratureRules.h:33
decltype(Quad::points) points
Quadrature points.
Definition SymmetricQuadratureRules.h:37