1 /*$Id$*/
2 #include <stdlib.h>
3
4 #ifdef __cplusplus
5 extern "C" {
6 #endif
7
8 /* 1 point rule points */
9 static double _GL_pt1[1]={
10 0.000000000000000e+00};
11
12 /* 1 point rule weights */
13 static double _GL_wt1[1]={
14 2.000000000000000e+00};
15
16 /* 2 point rule points */
17 static double _GL_pt2[2]={
18 -5.773502691896257e-01, 5.773502691896257e-01};
19
20 /* 2 point rule weights */
21 static double _GL_wt2[2]={
22 1.000000000000000e+00, 1.000000000000000e+00};
23
24 /* 3 point rule points */
25 static double _GL_pt3[3]={
26 -7.745966692414834e-01, 0.000000000000000e+00, 7.745966692414834e-01};
27
28 /* 3 point rule weights */
29 static double _GL_wt3[3]={
30 5.555555555555552e-01, 8.888888888888888e-01, 5.555555555555552e-01};
31
32 /* 4 point rule points */
33 static double _GL_pt4[4]={
34 -8.611363115940526e-01,-3.399810435848563e-01, 3.399810435848563e-01, 8.611363115940526e-01};
35
36 /* 4 point rule weights */
37 static double _GL_wt4[4]={
38 3.478548451374537e-01, 6.521451548625464e-01, 6.521451548625464e-01, 3.478548451374537e-01};
39
40 /* 5 point rule points */
41 static double _GL_pt5[5]={
42 -9.061798459386640e-01,-5.384693101056831e-01, 0.000000000000000e+00, 5.384693101056831e-01, 9.061798459386640e-01};
43
44 /* 5 point rule weights */
45 static double _GL_wt5[5]={
46 2.369268850561890e-01, 4.786286704993665e-01, 5.688888888888889e-01, 4.786286704993665e-01, 2.369268850561890e-01};
47
48 /* 6 point rule points */
49 static double _GL_pt6[6]={
50 -9.324695142031521e-01,-6.612093864662646e-01,-2.386191860831969e-01, 2.386191860831969e-01, 6.612093864662646e-01, 9.324695142031521e-01};
51
52 /* 6 point rule weights */
53 static double _GL_wt6[6]={
54 1.713244923791705e-01, 3.607615730481386e-01, 4.679139345726913e-01, 4.679139345726913e-01, 3.607615730481386e-01, 1.713244923791705e-01};
55
56 /* 7 point rule points */
57 static double _GL_pt7[7]={
58 -9.491079123427585e-01,-7.415311855993945e-01,-4.058451513773972e-01, 0.000000000000000e+00, 4.058451513773972e-01, 7.415311855993945e-01, 9.491079123427585e-01};
59
60 /* 7 point rule weights */
61 static double _GL_wt7[7]={
62 1.294849661688697e-01, 2.797053914892767e-01, 3.818300505051190e-01, 4.179591836734694e-01, 3.818300505051190e-01, 2.797053914892767e-01, 1.294849661688697e-01};
63
64 /* 8 point rule points */
65 static double _GL_pt8[8]={
66 -9.602898564975363e-01,-7.966664774136268e-01,-5.255324099163290e-01,-1.834346424956498e-01, 1.834346424956498e-01, 5.255324099163290e-01, 7.966664774136268e-01, 9.602898564975363e-01};
67
68 /* 8 point rule weights */
69 static double _GL_wt8[8]={
70 1.012285362903768e-01, 2.223810344533745e-01, 3.137066458778874e-01, 3.626837833783620e-01, 3.626837833783620e-01, 3.137066458778874e-01, 2.223810344533745e-01, 1.012285362903768e-01};
71
72 /* 9 point rule points */
73 static double _GL_pt9[9]={
74 -9.681602395076261e-01,-8.360311073266359e-01,-6.133714327005905e-01,-3.242534234038089e-01, 0.000000000000000e+00, 3.242534234038089e-01, 6.133714327005905e-01, 8.360311073266359e-01, 9.681602395076261e-01};
75
76 /* 9 point rule weights */
77 static double _GL_wt9[9]={
78 8.127438836157463e-02, 1.806481606948576e-01, 2.606106964029355e-01, 3.123470770400029e-01, 3.302393550012598e-01, 3.123470770400029e-01, 2.606106964029355e-01, 1.806481606948576e-01, 8.127438836157463e-02};
79
80 /* 10 point rule points */
81 static double _GL_pt10[10]={
82 -9.739065285171716e-01,-8.650633666889845e-01,-6.794095682990244e-01,-4.333953941292472e-01,-1.488743389816312e-01, 1.488743389816312e-01, 4.333953941292472e-01, 6.794095682990244e-01, 8.650633666889845e-01, 9.739065285171716e-01};
83
84 /* 10 point rule weights */
85 static double _GL_wt10[10]={
86 6.667134430868774e-02, 1.494513491505805e-01, 2.190863625159822e-01, 2.692667193099962e-01, 2.955242247147529e-01, 2.955242247147529e-01, 2.692667193099962e-01, 2.190863625159822e-01, 1.494513491505805e-01, 6.667134430868774e-02};
87
88 /* 11 point rule points */
89 static double _GL_pt11[11]={
90 -9.782286581460570e-01,-8.870625997680953e-01,-7.301520055740494e-01,-5.190961292068118e-01,-2.695431559523450e-01, 0.000000000000000e+00, 2.695431559523450e-01, 5.190961292068118e-01, 7.301520055740494e-01, 8.870625997680953e-01, 9.782286581460570e-01};
91
92 /* 11 point rule weights */
93 static double _GL_wt11[11]={
94 5.566856711617354e-02, 1.255803694649047e-01, 1.862902109277343e-01, 2.331937645919903e-01, 2.628045445102466e-01, 2.729250867779006e-01, 2.628045445102466e-01, 2.331937645919903e-01, 1.862902109277343e-01, 1.255803694649047e-01, 5.566856711617354e-02};
95
96 /* 12 point rule points */
97 static double _GL_pt12[12]={
98 -9.815606342467192e-01,-9.041172563704748e-01,-7.699026741943047e-01,-5.873179542866175e-01,-3.678314989981802e-01,-1.252334085114689e-01, 1.252334085114689e-01, 3.678314989981802e-01, 5.873179542866175e-01, 7.699026741943047e-01, 9.041172563704748e-01, 9.815606342467192e-01};
99
100 /* 12 point rule weights */
101 static double _GL_wt12[12]={
102 4.717533638651183e-02, 1.069393259953182e-01, 1.600783285433463e-01, 2.031674267230658e-01, 2.334925365383548e-01, 2.491470458134029e-01, 2.491470458134029e-01, 2.334925365383548e-01, 2.031674267230658e-01, 1.600783285433463e-01, 1.069393259953182e-01, 4.717533638651183e-02};
103
104 /* 13 point rule points */
105 static double _GL_pt13[13]={
106 -9.841830547185881e-01,-9.175983992229780e-01,-8.015780907333099e-01,-6.423493394403402e-01,-4.484927510364468e-01,-2.304583159551348e-01, 1.232595164407831e-32, 2.304583159551348e-01, 4.484927510364468e-01, 6.423493394403402e-01, 8.015780907333099e-01, 9.175983992229780e-01, 9.841830547185881e-01};
107
108 /* 13 point rule weights */
109 static double _GL_wt13[13]={
110 4.048400476531581e-02, 9.212149983772838e-02, 1.388735102197872e-01, 1.781459807619457e-01, 2.078160475368884e-01, 2.262831802628971e-01, 2.325515532308739e-01, 2.262831802628971e-01, 2.078160475368884e-01, 1.781459807619457e-01, 1.388735102197872e-01, 9.212149983772838e-02, 4.048400476531581e-02};
111
112 /* 14 point rule points */
113 static double _GL_pt14[14]={
114 -9.862838086968123e-01,-9.284348836635736e-01,-8.272013150697650e-01,-6.872929048116855e-01,-5.152486363581541e-01,-3.191123689278897e-01,-1.080549487073437e-01, 1.080549487073437e-01, 3.191123689278897e-01, 5.152486363581541e-01, 6.872929048116855e-01, 8.272013150697650e-01, 9.284348836635736e-01, 9.862838086968123e-01};
115
116 /* 14 point rule weights */
117 static double _GL_wt14[14]={
118 3.511946033175199e-02, 8.015808715976037e-02, 1.215185706879031e-01, 1.572031671581936e-01, 1.855383974779378e-01, 2.051984637212955e-01, 2.152638534631578e-01, 2.152638534631578e-01, 2.051984637212955e-01, 1.855383974779378e-01, 1.572031671581936e-01, 1.215185706879031e-01, 8.015808715976037e-02, 3.511946033175199e-02};
119
120 /* 15 point rule points */
121 static double _GL_pt15[15]={
122 -9.879925180204854e-01,-9.372733924007060e-01,-8.482065834104272e-01,-7.244177313601701e-01,-5.709721726085388e-01,-3.941513470775634e-01,-2.011940939974345e-01, 1.232595164407831e-32, 2.011940939974345e-01, 3.941513470775634e-01, 5.709721726085388e-01, 7.244177313601701e-01, 8.482065834104272e-01, 9.372733924007060e-01, 9.879925180204854e-01};
123
124 /* 15 point rule weights */
125 static double _GL_wt15[15]={
126 3.075324199611663e-02, 7.036604748810814e-02, 1.071592204671720e-01, 1.395706779261543e-01, 1.662692058169940e-01, 1.861610000155622e-01, 1.984314853271116e-01, 2.025782419255613e-01, 1.984314853271116e-01, 1.861610000155622e-01, 1.662692058169940e-01, 1.395706779261543e-01, 1.071592204671720e-01, 7.036604748810814e-02, 3.075324199611663e-02};
127
128 /* 16 point rule points */
129 static double _GL_pt16[16]={
130 -9.894009349916499e-01,-9.445750230732326e-01,-8.656312023878318e-01,-7.554044083550030e-01,-6.178762444026438e-01,-4.580167776572274e-01,-2.816035507792589e-01,-9.501250983763744e-02, 9.501250983763744e-02, 2.816035507792589e-01, 4.580167776572274e-01, 6.178762444026438e-01, 7.554044083550030e-01, 8.656312023878318e-01, 9.445750230732326e-01, 9.894009349916499e-01};
131
132 /* 16 point rule weights */
133 static double _GL_wt16[16]={
134 2.715245941175406e-02, 6.225352393864778e-02, 9.515851168249290e-02, 1.246289712555339e-01, 1.495959888165768e-01, 1.691565193950026e-01, 1.826034150449236e-01, 1.894506104550685e-01, 1.894506104550685e-01, 1.826034150449236e-01, 1.691565193950026e-01, 1.495959888165768e-01, 1.246289712555339e-01, 9.515851168249290e-02, 6.225352393864778e-02, 2.715245941175406e-02};
135
136 /* 17 point rule points */
137 static double _GL_pt17[17]={
138 -9.905754753144174e-01,-9.506755217687678e-01,-8.802391537269859e-01,-7.815140038968014e-01,-6.576711592166907e-01,-5.126905370864769e-01,-3.512317634538763e-01,-1.784841814958479e-01, 1.232595164407831e-32, 1.784841814958479e-01, 3.512317634538763e-01, 5.126905370864769e-01, 6.576711592166907e-01, 7.815140038968014e-01, 8.802391537269859e-01, 9.506755217687678e-01, 9.905754753144174e-01};
139
140 /* 17 point rule weights */
141 static double _GL_wt17[17]={
142 2.414830286854792e-02, 5.545952937398713e-02, 8.503614831717915e-02, 1.118838471934039e-01, 1.351363684685256e-01, 1.540457610768104e-01, 1.680041021564499e-01, 1.765627053669926e-01, 1.794464703562065e-01, 1.765627053669926e-01, 1.680041021564499e-01, 1.540457610768104e-01, 1.351363684685256e-01, 1.118838471934039e-01, 8.503614831717915e-02, 5.545952937398713e-02, 2.414830286854792e-02};
143
144 /* 18 point rule points */
145 static double _GL_pt18[18]={
146 -9.915651684209310e-01,-9.558239495713977e-01,-8.926024664975557e-01,-8.037049589725231e-01,-6.916870430603532e-01,-5.597708310739475e-01,-4.117511614628426e-01,-2.518862256915055e-01,-8.477501304173531e-02, 8.477501304173531e-02, 2.518862256915055e-01, 4.117511614628426e-01, 5.597708310739475e-01, 6.916870430603532e-01, 8.037049589725231e-01, 8.926024664975557e-01, 9.558239495713977e-01, 9.915651684209310e-01};
147
148 /* 18 point rule weights */
149 static double _GL_wt18[18]={
150 2.161601352648315e-02, 4.971454889496984e-02, 7.642573025488918e-02, 1.009420441062872e-01, 1.225552067114784e-01, 1.406429146706506e-01, 1.546846751262652e-01, 1.642764837458327e-01, 1.691423829631435e-01, 1.691423829631435e-01, 1.642764837458327e-01, 1.546846751262652e-01, 1.406429146706506e-01, 1.225552067114784e-01, 1.009420441062872e-01, 7.642573025488918e-02, 4.971454889496984e-02, 2.161601352648315e-02};
151
152 /* 19 point rule points */
153 static double _GL_pt19[19]={
154 -9.924068438435844e-01,-9.602081521348300e-01,-9.031559036148179e-01,-8.227146565371428e-01,-7.209661773352294e-01,-6.005453046616810e-01,-4.645707413759609e-01,-3.165640999636298e-01,-1.603586456402254e-01, 1.232595164407831e-32, 1.603586456402254e-01, 3.165640999636298e-01, 4.645707413759609e-01, 6.005453046616810e-01, 7.209661773352294e-01, 8.227146565371428e-01, 9.031559036148179e-01, 9.602081521348300e-01, 9.924068438435844e-01};
155
156 /* 19 point rule weights */
157 static double _GL_wt19[19]={
158 1.946178822972643e-02, 4.481422676569959e-02, 6.904454273764125e-02, 9.149002162245014e-02, 1.115666455473341e-01, 1.287539625393363e-01, 1.426067021736066e-01, 1.527660420658597e-01, 1.589688433939544e-01, 1.610544498487837e-01, 1.589688433939544e-01, 1.527660420658597e-01, 1.426067021736066e-01, 1.287539625393363e-01, 1.115666455473341e-01, 9.149002162245014e-02, 6.904454273764125e-02, 4.481422676569959e-02, 1.946178822972643e-02};
159
160 /* 20 point rule points */
161 static double _GL_pt20[20]={
162 -9.931285991850949e-01,-9.639719272779138e-01,-9.122344282513259e-01,-8.391169718222189e-01,-7.463319064601508e-01,-6.360536807265150e-01,-5.108670019508271e-01,-3.737060887154195e-01,-2.277858511416451e-01,-7.652652113349734e-02, 7.652652113349734e-02, 2.277858511416451e-01, 3.737060887154195e-01, 5.108670019508271e-01, 6.360536807265150e-01, 7.463319064601508e-01, 8.391169718222189e-01, 9.122344282513259e-01, 9.639719272779138e-01, 9.931285991850949e-01};
163
164 /* 20 point rule weights */
165 static double _GL_wt20[20]={
166 1.761400713915226e-02, 4.060142980038705e-02, 6.267204833410904e-02, 8.327674157670474e-02, 1.019301198172405e-01, 1.181945319615183e-01, 1.316886384491766e-01, 1.420961093183819e-01, 1.491729864726038e-01, 1.527533871307260e-01, 1.527533871307260e-01, 1.491729864726038e-01, 1.420961093183819e-01, 1.316886384491766e-01, 1.181945319615183e-01, 1.019301198172405e-01, 8.327674157670474e-02, 6.267204833410904e-02, 4.060142980038705e-02, 1.761400713915226e-02};
167
GaussLegendre1D(int npt,double ** pt,double ** wt)168 int GaussLegendre1D(int npt, double **pt, double **wt) {
169 switch(npt) {
170 case 1: {
171 *pt = _GL_pt1;
172 *wt = _GL_wt1;
173 break;
174 }
175 case 2: {
176 *pt = _GL_pt2;
177 *wt = _GL_wt2;
178 break;
179 }
180 case 3: {
181 *pt = _GL_pt3;
182 *wt = _GL_wt3;
183 break;
184 }
185 case 4: {
186 *pt = _GL_pt4;
187 *wt = _GL_wt4;
188 break;
189 }
190 case 5: {
191 *pt = _GL_pt5;
192 *wt = _GL_wt5;
193 break;
194 }
195 case 6: {
196 *pt = _GL_pt6;
197 *wt = _GL_wt6;
198 break;
199 }
200 case 7: {
201 *pt = _GL_pt7;
202 *wt = _GL_wt7;
203 break;
204 }
205 case 8: {
206 *pt = _GL_pt8;
207 *wt = _GL_wt8;
208 break;
209 }
210 case 9: {
211 *pt = _GL_pt9;
212 *wt = _GL_wt9;
213 break;
214 }
215 case 10: {
216 *pt = _GL_pt10;
217 *wt = _GL_wt10;
218 break;
219 }
220 case 11: {
221 *pt = _GL_pt11;
222 *wt = _GL_wt11;
223 break;
224 }
225 case 12: {
226 *pt = _GL_pt12;
227 *wt = _GL_wt12;
228 break;
229 }
230 case 13: {
231 *pt = _GL_pt13;
232 *wt = _GL_wt13;
233 break;
234 }
235 case 14: {
236 *pt = _GL_pt14;
237 *wt = _GL_wt14;
238 break;
239 }
240 case 15: {
241 *pt = _GL_pt15;
242 *wt = _GL_wt15;
243 break;
244 }
245 case 16: {
246 *pt = _GL_pt16;
247 *wt = _GL_wt16;
248 break;
249 }
250 case 17: {
251 *pt = _GL_pt17;
252 *wt = _GL_wt17;
253 break;
254 }
255 case 18: {
256 *pt = _GL_pt18;
257 *wt = _GL_wt18;
258 break;
259 }
260 case 19: {
261 *pt = _GL_pt19;
262 *wt = _GL_wt19;
263 break;
264 }
265 case 20: {
266 *pt = _GL_pt20;
267 *wt = _GL_wt20;
268 break;
269 }
270 default:
271 return 0;
272 };
273 return 1;
274 }
275
276 #ifdef __cplusplus
277 }
278 #endif
279