Skip to content

Commit c52374e

Browse files
committed
feat: add C implementation for @stdlib/math/base/special/ellipe
This commit introduces a C implementation for the elliptic integral of the second kind (@stdlib/math/base/special/ellipe).
1 parent c417c1e commit c52374e

File tree

1 file changed

+148
-170
lines changed
  • lib/node_modules/@stdlib/math/base/special/ellipk/scripts

1 file changed

+148
-170
lines changed

Diff for: lib/node_modules/@stdlib/math/base/special/ellipk/scripts/evalpoly.js

+148-170
Original file line numberDiff line numberDiff line change
@@ -41,215 +41,179 @@ var compileC = require( '@stdlib/math/base/tools/evalpoly-compile-c' );
4141

4242
// Table 2 for expansion about x = 0.05:
4343
var P1 = [
44-
1.591003453790792180,
45-
0.416000743991786912,
46-
0.245791514264103415,
47-
0.179481482914906162,
48-
0.144556057087555150,
49-
0.123200993312427711,
50-
0.108938811574293531,
51-
0.098853409871592910,
52-
0.091439629201749751,
53-
0.085842591595413900,
54-
0.081541118718303215
44+
1.550973351780472328,
45+
-0.400301020103198524,
46+
-0.078498619442941939,
47+
-0.034318853117591992,
48+
-0.019718043317365499,
49+
-0.013059507731993309,
50+
-0.009442372874146547,
51+
-0.007246728512402157,
52+
-0.005807424012956090,
53+
-0.004809187786009338
5554
];
5655

5756
// Table 3 for expansion about 0.15:
5857
var P2 = [
59-
1.635256732264579992,
60-
0.471190626148732291,
61-
0.309728410831499587,
62-
0.252208311773135699,
63-
0.226725623219684650,
64-
0.215774446729585976,
65-
0.213108771877348910,
66-
0.216029124605188282,
67-
0.223255831633057896,
68-
0.234180501294209925,
69-
0.248557682972264071,
70-
0.266363809892617521
58+
1.510121832092819728,
59+
-0.417116333905867549,
60+
-0.090123820404774569,
61+
-0.043729944019084312,
62+
-0.027965493064761785,
63+
-0.020644781177568105,
64+
-0.016650786739707238,
65+
-0.014261960828842520,
66+
-0.012759847429264803,
67+
-0.011799303775587354,
68+
-0.011197445703074968
7169
];
7270

7371
// Table 4 for expansion about 0.25:
7472
var P3 = [
75-
1.685750354812596043,
76-
0.541731848613280329,
77-
0.401524438390690257,
78-
0.369642473420889090,
79-
0.376060715354583645,
80-
0.405235887085125919,
81-
0.453294381753999079,
82-
0.520518947651184205,
83-
0.609426039204995055,
84-
0.724263522282908870,
85-
0.871013847709812357,
86-
1.057652872753547036
73+
1.467462209339427155,
74+
-0.436576290946337775,
75+
-0.105155557666942554,
76+
-0.057371843593241730,
77+
-0.041391627727340220,
78+
-0.034527728505280841,
79+
-0.031495443512532783,
80+
-0.030527000890325277,
81+
-0.030916984019238900,
82+
-0.032371395314758122,
83+
-0.034789960386404158
8784
];
8885

8986
// Table 5 for expansion about 0.35:
9087
var P4 = [
91-
1.744350597225613243,
92-
0.634864275371935304,
93-
0.539842564164445538,
94-
0.571892705193787391,
95-
0.670295136265406100,
96-
0.832586590010977199,
97-
1.073857448247933265,
98-
1.422091460675497751,
99-
1.920387183402304829,
100-
2.632552548331654201,
101-
3.652109747319039160,
102-
5.115867135558865806,
103-
7.224080007363877411
88+
1.422691133490879171,
89+
-0.459513519621048674,
90+
-0.125250539822061878,
91+
-0.078138545094409477,
92+
-0.064714278472050002,
93+
-0.062084339131730311,
94+
-0.065197032815572477,
95+
-0.072793895362578779,
96+
-0.084959075171781003,
97+
-0.102539850131045997,
98+
-0.127053585157696036,
99+
-0.160791120691274606
104100
];
105101

106102
// Table 6 for expansion about 0.45:
107103
var P5 = [
108-
1.813883936816982644,
109-
0.763163245700557246,
110-
0.761928605321595831,
111-
0.951074653668427927,
112-
1.315180671703161215,
113-
1.928560693477410941,
114-
2.937509342531378755,
115-
4.594894405442878062,
116-
7.330071221881720772,
117-
11.87151259742530180,
118-
19.45851374822937738,
119-
32.20638657246426863,
120-
53.73749198700554656,
121-
90.27388602940998849
104+
1.375401971871116291,
105+
-0.487202183273184837,
106+
-0.153311701348540228,
107+
-0.111849444917027833,
108+
-0.108840952523135768,
109+
-0.122954223120269076,
110+
-0.152217163962035047,
111+
-0.200495323642697339,
112+
-0.276174333067751758,
113+
-0.393513114304375851,
114+
-0.575754406027879147,
115+
-0.860523235727239756,
116+
-1.308833205758540162
122117
];
123118

124119
// Table 7 for expansion about 0.55:
125120
var P6 = [
126-
1.898924910271553526,
127-
0.950521794618244435,
128-
1.151077589959015808,
129-
1.750239106986300540,
130-
2.952676812636875180,
131-
5.285800396121450889,
132-
9.832485716659979747,
133-
18.78714868327559562,
134-
36.61468615273698145,
135-
72.45292395127771801,
136-
145.1079577347069102,
137-
293.4786396308497026,
138-
598.3851815055010179,
139-
1228.420013075863451,
140-
2536.529755382764488
121+
1.325024497958230082,
122+
-0.521727647557566767,
123+
-0.194906430482126213,
124+
-0.171623726822011264,
125+
-0.202754652926419141,
126+
-0.278798953118534762,
127+
-0.420698457281005762,
128+
-0.675948400853106021,
129+
-1.136343121839229244,
130+
-1.976721143954398261,
131+
-3.531696773095722506,
132+
-6.446753640156048150,
133+
-11.97703130208884026
141134
];
142135

143136
// Table 8 for expansion about 0.65:
144137
var P7 = [
145-
2.007598398424376302,
146-
1.248457231212347337,
147-
1.926234657076479729,
148-
3.751289640087587680,
149-
8.119944554932045802,
150-
18.66572130873555361,
151-
44.60392484291437063,
152-
109.5092054309498377,
153-
274.2779548232413480,
154-
697.5598008606326163,
155-
1795.716014500247129,
156-
4668.381716790389910,
157-
12235.76246813664335,
158-
32290.17809718320818,
159-
85713.07608195964685,
160-
228672.1890493117096,
161-
612757.2711915852774
138+
1.270707479650149744,
139+
-0.566839168287866583,
140+
-0.262160793432492598,
141+
-0.292244173533077419,
142+
-0.440397840850423189,
143+
-0.774947641381397458,
144+
-1.498870837987561088,
145+
-3.089708310445186667,
146+
-6.667595903381001064,
147+
-14.89436036517319078,
148+
-34.18120574251449024,
149+
-80.15895841905397306,
150+
-191.3489480762984920,
151+
-463.5938853480342030,
152+
-1137.380822169360061
162153
];
163154

164155
// Table 9 for expansion about 0.75:
165156
var P8 = [
166-
2.156515647499643235,
167-
1.791805641849463243,
168-
3.826751287465713147,
169-
10.38672468363797208,
170-
31.40331405468070290,
171-
100.9237039498695416,
172-
337.3268282632272897,
173-
1158.707930567827917,
174-
4060.990742193632092,
175-
14454.00184034344795,
176-
52076.66107599404803,
177-
189493.6591462156887,
178-
695184.5762413896145,
179-
2567994.048255284686,
180-
9541921.966748386322,
181-
35634927.44218076174,
182-
133669298.4612040871,
183-
503352186.6866284541,
184-
1901975729.538660119,
185-
7208915015.330103756
157+
1.211056027568459525,
158+
-0.630306413287455807,
159+
-0.387166409520669145,
160+
-0.592278235311934603,
161+
-1.237555584513049844,
162+
-3.032056661745247199,
163+
-8.181688221573590762,
164+
-23.55507217389693250,
165+
-71.04099935893064956,
166+
-221.8796853192349888,
167+
-712.1364793277635425,
168+
-2336.125331440396407,
169+
-7801.945954775964673,
170+
-26448.19586059191933,
171+
-90799.48341621365251,
172+
-315126.0406449163424,
173+
-1104011.344311591159
186174
];
187175

188176
// Table 10 for expansion about 0.825:
189177
var P9 = [
190-
2.318122621712510589,
191-
2.616920150291232841,
192-
7.897935075731355823,
193-
30.50239715446672327,
194-
131.4869365523528456,
195-
602.9847637356491617,
196-
2877.024617809972641,
197-
14110.51991915180325,
198-
70621.44088156540229,
199-
358977.2665825309926,
200-
1847238.263723971684,
201-
9600515.416049214109,
202-
50307677.08502366879,
203-
265444188.6527127967,
204-
1408862325.028702687,
205-
7515687935.373774627
178+
1.161307152196282836,
179+
-0.701100284555289548,
180+
-0.580551474465437362,
181+
-1.243693061077786614,
182+
-3.679383613496634879,
183+
-12.81590924337895775,
184+
-49.25672530759985272,
185+
-202.1818735434090269,
186+
-869.8602699308701437,
187+
-3877.005847313289571,
188+
-17761.70710170939814,
189+
-83182.69029154232061,
190+
-396650.4505013548170,
191+
-1920033.413682634405
206192
];
207193

208194
// Table 11 for expansion about 0.875:
209195
var P10 = [
210-
2.473596173751343912,
211-
3.727624244118099310,
212-
15.60739303554930496,
213-
84.12850842805887747,
214-
506.9818197040613935,
215-
3252.277058145123644,
216-
21713.24241957434256,
217-
149037.0451890932766,
218-
1043999.331089990839,
219-
7427974.817042038995,
220-
53503839.67558661151,
221-
389249886.9948708474,
222-
2855288351.100810619,
223-
21090077038.76684053,
224-
156699833947.7902014,
225-
1170222242422.439893,
226-
8777948323668.937971,
227-
66101242752484.95041,
228-
499488053713388.7989,
229-
37859743397240299.20
196+
1.124617325119752213,
197+
-0.770845056360909542,
198+
-0.844794053644911362,
199+
-2.490097309450394453,
200+
-10.23971741154384360,
201+
-49.74900546551479866,
202+
-267.0986675195705196,
203+
-1532.665883825229947,
204+
-9222.313478526091951,
205+
-57502.51612140314030,
206+
-368596.1167416106063,
207+
-2415611.088701091428,
208+
-16120097.81581656797,
209+
-109209938.5203089915,
210+
-749380758.1942496220,
211+
-5198725846.725541393,
212+
-36409256888.12139973
230213
];
231214

232-
// Table 12 for Maclaurin expansion of Jacobi's nome, q, as a function of the elliptic parameter, m:
215+
// Table 2 for the expansion of K(m) around 0.05
233216
var P11 = [
234-
0.0,
235-
1.0 / 16.0,
236-
1.0 / 32.0,
237-
21.0 / 1024.0,
238-
31.0 / 2048.0,
239-
6257.0 / 524288.0,
240-
10293.0 / 1048576.0,
241-
279025.0 / 33554432.0,
242-
483127.0 / 67108864.0,
243-
435506703.0 / 68719476736.0,
244-
776957575.0 / 137438953472.0,
245-
22417045555.0 / 4398046511104.0,
246-
40784671953.0 / 8796093022208.0,
247-
9569130097211.0 / 2251799813685248.0,
248-
17652604545791.0 / 4503599627370496.0
249-
];
250-
251-
// Talyor expansion of K(m) - E(m) for 0 <= m <= 0.1:
252-
var P12 = [
253217
1.591003453790792180,
254218
0.416000743991786912,
255219
0.245791514264103415,
@@ -263,6 +227,20 @@ var P12 = [
263227
0.081541118718303215
264228
];
265229

230+
// Table 2 for the expansion of E(m) around 0.05
231+
var P12 = [
232+
1.550973351780472328,
233+
-0.400301020103198524,
234+
-0.078498619442941939,
235+
-0.034318853117591992,
236+
-0.019718043317365499,
237+
-0.013059507731993309,
238+
-0.009442372874146547,
239+
-0.007246728512402157,
240+
-0.005807424012956090,
241+
-0.004809187786009338
242+
];
243+
266244
// Header to add to output files:
267245
var header = licenseHeader( 'Apache-2.0', 'js', {
268246
'year': currentYear(),

0 commit comments

Comments
 (0)