1//<-- CLI SHELL MODE -->
2// =============================================================================
3// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
4// Copyright (C) ????-2008 - INRIA
5//
6//  This file is distributed under the same license as the Scilab package.
7// =============================================================================
8warning("off");
9
10function r=testresult(eps)
11  if argn(2)<=0 then eps=1d-10;end
12  if or(isnan(real(y))<>isnan(real(yref)))  then r=%t,return,end;
13  if or(isnan(imag(y))<>isnan(imag(yref)))  then r=%t,return,end;
14  if or(size(y)<>size(yref)) then r=%t,return,end;
15  if yref==[] then r=%f,return,end;
16  k=find(abs(yref)==0);
17  r=or(abs(y(k)-yref(k))>eps);
18  k=find(abs(yref)<>0);
19  r=r|or(max(abs(y(k)-yref(k))./abs(yref(k)))>eps);
20endfunction
21ieee(1)
22// ------------------------------ besseli(alpha,x)------------------------------
23
24//test of numerical precision reference computed by maple
25exec(SCI+'/modules/special_functions/tests/unit_tests/besseli_ref.sce',-1)
26besselI=besseli(alpha',x);
27if norm((besselI-besselI_ref)./abs(besselI_ref),1)>1d6*%eps then pause,end
28
29
30alpha=[];
31x=[];
32yref=[];
33y=besseli(alpha,x);
34if testresult() then pause,end
35yref=[];
36y=besseli(alpha,x,1);
37if testresult() then pause,end
38alpha=[];
39x=[0];
40yref=[];
41y=besseli(alpha,x);
42if testresult() then pause,end
43yref=[];
44y=besseli(alpha,x,1);
45if testresult() then pause,end
46alpha=[];
47x=[9.99999999999999955e-08];
48yref=[];
49y=besseli(alpha,x);
50if testresult() then pause,end
51yref=[];
52y=besseli(alpha,x,1);
53if testresult() then pause,end
54alpha=[];
55x=[1];
56yref=[];
57y=besseli(alpha,x);
58if testresult() then pause,end
59yref=[];
60y=besseli(alpha,x,1);
61if testresult() then pause,end
62alpha=[];
63x=[3 4 5];
64yref=[];
65y=besseli(alpha,x);
66if testresult() then pause,end
67yref=[];
68y=besseli(alpha,x,1);
69if testresult() then pause,end
70alpha=[];
71x=[-7.29999999999999982 8.40000000000000036];
72yref=[];
73y=besseli(alpha,x);
74if testresult() then pause,end
75yref=[];
76y=besseli(alpha,x,1);
77if testresult() then pause,end
78alpha=[];
79x=[3
804
815];
82yref=[];
83y=besseli(alpha,x);
84if testresult() then pause,end
85yref=[];
86y=besseli(alpha,x,1);
87if testresult() then pause,end
88alpha=[];
89x=[-7.29999999999999982
90 8.40000000000000036];
91yref=[];
92y=besseli(alpha,x);
93if testresult() then pause,end
94yref=[];
95y=besseli(alpha,x,1);
96if testresult() then pause,end
97alpha=[];
98x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
99yref=[];
100y=besseli(alpha,x);
101if testresult() then pause,end
102yref=[];
103y=besseli(alpha,x,1);
104if testresult() then pause,end
105alpha=[0];
106x=[];
107yref=[];
108y=besseli(alpha,x);
109if testresult() then pause,end
110yref=[];
111y=besseli(alpha,x,1);
112if testresult() then pause,end
113alpha=[0];
114x=[0];
115yref=[1];
116y=besseli(alpha,x);
117if testresult() then pause,end
118yref=[1];
119y=besseli(alpha,x,1);
120if testresult() then pause,end
121alpha=[0];
122x=[9.99999999999999955e-08];
123yref=[1.00000000000000244];
124y=besseli(alpha,x);
125if testresult() then pause,end
126yref=[0.999999900000007491];
127y=besseli(alpha,x,1);
128if testresult() then pause,end
129alpha=[0];
130x=[1];
131yref=[1.26606587775200818];
132y=besseli(alpha,x);
133if testresult() then pause,end
134yref=[0.465759607593640379];
135y=besseli(alpha,x,1);
136if testresult() then pause,end
137alpha=[0];
138x=[3 4 5];
139yref=[4.8807925858650254 11.3019219521363308 27.2398718236044566];
140y=besseli(alpha,x);
141if testresult() then pause,end
142yref=[0.243000354161825416 0.207001921223986723 0.183540812609328363];
143y=besseli(alpha,x,1);
144if testresult() then pause,end
145alpha=[0];
146x=[-7.29999999999999982 8.40000000000000036];
147yref=[222.658799873011844 621.944087256767148];
148y=besseli(alpha,x);
149if testresult() then pause,end
150yref=[0.15041465295234574 0.13985490269028536];
151y=besseli(alpha,x,1);
152if testresult() then pause,end
153alpha=[0];
154x=[3
1554
1565];
157yref=[ 4.8807925858650254
15811.3019219521363308
15927.2398718236044566];
160y=besseli(alpha,x);
161if testresult() then pause,end
162yref=[0.243000354161825416
1630.207001921223986723
1640.183540812609328363];
165y=besseli(alpha,x,1);
166if testresult() then pause,end
167alpha=[0];
168x=[-7.29999999999999982
169 8.40000000000000036];
170yref=[222.658799873011844
171621.944087256767148];
172y=besseli(alpha,x);
173if testresult() then pause,end
174yref=[0.15041465295234574
1750.13985490269028536];
176y=besseli(alpha,x,1);
177if testresult() then pause,end
178alpha=[0];
179x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
180yref=[222.619934807221995-4.13558800345596822*%i 621.83359839173761+11.6724388635437393*%i ];
181y=besseli(alpha,x);
182if testresult() then pause,end
183yref=[0.150388398093404263-0.00279375005456099917*%i 0.139830057354854626+0.00262475009388627757*%i ];
184y=besseli(alpha,x,1);
185if testresult() then pause,end
186alpha=[1];
187x=[];
188yref=[];
189y=besseli(alpha,x);
190if testresult() then pause,end
191yref=[];
192y=besseli(alpha,x,1);
193if testresult() then pause,end
194alpha=[1];
195x=[0];
196yref=[0];
197y=besseli(alpha,x);
198if testresult() then pause,end
199yref=[0];
200y=besseli(alpha,x,1);
201if testresult() then pause,end
202alpha=[1];
203x=[9.99999999999999955e-08];
204yref=[5.00000000000000904e-08];
205y=besseli(alpha,x);
206if testresult() then pause,end
207yref=[4.99999950000002575e-08];
208y=besseli(alpha,x,1);
209if testresult() then pause,end
210alpha=[1];
211x=[1];
212yref=[0.565159103992485035];
213y=besseli(alpha,x);
214if testresult() then pause,end
215yref=[0.207910415349708472];
216y=besseli(alpha,x,1);
217if testresult() then pause,end
218alpha=[1];
219x=[3 4 5];
220yref=[3.95337021740261063 9.75946515370444878 24.3356421424505349];
221y=besseli(alpha,x);
222if testresult() then pause,end
223yref=[0.196826713297300865 0.178750839502435338 0.163972266944542394];
224y=besseli(alpha,x,1);
225if testresult() then pause,end
226alpha=[1];
227x=[-7.29999999999999982 8.40000000000000036];
228yref=[-206.791670046225448 583.657019840486896];
229y=besseli(alpha,x);
230if testresult() then pause,end
231yref=[-0.139695791503316735 0.131245392289731255];
232y=besseli(alpha,x,1);
233if testresult() then pause,end
234alpha=[1];
235x=[3
2364
2375];
238yref=[3.95337021740261063
2399.75946515370444878
24024.3356421424505349];
241y=besseli(alpha,x);
242if testresult() then pause,end
243yref=[0.196826713297300865
2440.178750839502435338
2450.163972266944542394];
246y=besseli(alpha,x,1);
247if testresult() then pause,end
248alpha=[1];
249x=[-7.29999999999999982
250 8.40000000000000036];
251yref=[-206.791670046225448
252 583.657019840486896];
253y=besseli(alpha,x);
254if testresult() then pause,end
255yref=[-0.139695791503316735
256 0.131245392289731255];
257y=besseli(alpha,x,1);
258if testresult() then pause,end
259alpha=[1];
260x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
261yref=[-206.754860873488298+3.88638968263160223*%i 583.551791140428804+11.0485508359642992*%i ];
262y=besseli(alpha,x);
263if testresult() then pause,end
264yref=[-0.139670925479849994+0.00262540692613094304*%i 0.131221729793522368+0.00248445806253726892*%i ];
265y=besseli(alpha,x,1);
266if testresult() then pause,end
267alpha=[1 2 3];
268x=[];
269yref=[];
270y=besseli(alpha,x);
271if testresult() then pause,end
272yref=[];
273y=besseli(alpha,x,1);
274if testresult() then pause,end
275alpha=[1 2 3];
276x=[0];
277yref=[0 0 0];
278y=besseli(alpha,x);
279if testresult() then pause,end
280yref=[0 0 0];
281y=besseli(alpha,x,1);
282if testresult() then pause,end
283alpha=[1 2 3];
284x=[9.99999999999999955e-08];
285yref=[5.00000000000000904e-08 1.25000000000000237e-15 2.08333333333333559e-23];
286y=besseli(alpha,x);
287if testresult() then pause,end
288yref=[4.99999950000002575e-08 1.24999987500000653e-15 2.08333312500000894e-23];
289y=besseli(alpha,x,1);
290if testresult() then pause,end
291alpha=[1 2 3];
292x=[1];
293yref=[0.565159103992485035 0.135747669767038337 0.0221684249243319018];
294y=besseli(alpha,x);
295if testresult() then pause,end
296yref=[0.207910415349708472 0.0499387768942235674 0.00815530777281429572];
297y=besseli(alpha,x,1);
298if testresult() then pause,end
299alpha=[1 2 3];
300x=[3 4 5];
301yref=[3.95337021740261063 6.42218937528410549 10.3311501691511403];
302y=besseli(alpha,x);
303if testresult() then pause,end
304yref=[0.196826713297300865 0.117626501472769041 0.0696107422793332264];
305y=besseli(alpha,x,1);
306if testresult() then pause,end
307alpha=[1 2 3];
308x=[3
3094
3105];
311yref=[ 3.9533702174026093 2.2452124409299512 0.959753629496007843
3129.75946515370445056 6.42218937528410549 3.33727577842034417
31324.3356421424505349 17.5056149666242433 10.3311501691511403];
314y=besseli(alpha,x);
315if testresult() then pause,end
316yref=[0.196826713297300865 0.111782545296958177 0.0477833195680233067
3170.178750839502435338 0.117626501472769041 0.0611243380296663044
3180.163972266944542394 0.117951905831511425 0.0696107422793332264];
319y=besseli(alpha,x,1);
320if testresult() then pause,end
321alpha=[1 2 3];
322x=[-7.29999999999999982
323 8.40000000000000036];
324yref=[-206.791670046225448 166.003547805552813 -115.830821933593796
325 583.657019840486896 482.978130151889332 353.667434053872967];
326y=besseli(alpha,x);
327if testresult() then pause,end
328yref=[-0.139695791503316735 0.112141833362395943 -0.0782482115787162397
329 0.131245392289731255 0.10860599976415887 0.0795282495448936949];
330y=besseli(alpha,x,1);
331if testresult() then pause,end
332alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
333x=[];
334yref=[];
335y=besseli(alpha,x);
336if testresult() then pause,end
337yref=[];
338y=besseli(alpha,x,1);
339if testresult() then pause,end
340alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
341x=[0];
342yref=[0 0 0];
343y=besseli(alpha,x);
344if testresult() then pause,end
345yref=[0 0 0];
346y=besseli(alpha,x,1);
347if testresult() then pause,end
348alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
349x=[9.99999999999999955e-08];
350yref=[1.57275203335609045e-09 3.57443643944565263e-17 5.58505693663381842e-25];
351y=besseli(alpha,x);
352if testresult() then pause,end
353yref=[1.57275187608089216e-09 3.57443608200202085e-17 5.58505637812814222e-25];
354y=besseli(alpha,x,1);
355if testresult() then pause,end
356alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
357x=[1];
358yref=[0.441739185636620402 0.0970124431622260697 0.0148844357228258926];
359y=besseli(alpha,x);
360if testresult() then pause,end
361yref=[0.162506764755527944 0.0356888833771960221 0.00547567789586544083];
362y=besseli(alpha,x,1);
363if testresult() then pause,end
364alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
365x=[3 4 5];
366yref=[3.6230444698358566 5.7349531249690191 9.0956750146270835];
367y=besseli(alpha,x);
368if testresult() then pause,end
369yref=[0.180380762719529131 0.105039330480750176 0.0612861761694632121];
370y=besseli(alpha,x,1);
371if testresult() then pause,end
372alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
373x=[3
3744
3755];
376yref=[ 3.6230444698358566 1.93400965955616022 0.786496969153470338
377 9.163110826209099 5.7349531249690191 2.85466238874315748
37823.1703721117744479 15.9939739740310927 9.0956750146270835];
379y=besseli(alpha,x);
380if testresult() then pause,end
381yref=[0.180380762719529131 0.09628867114443182 0.0391573783743615969
3820.167828228990296452 0.105039330480750176 0.0522849654614709822
3830.156120739238224226 0.107766548941773857 0.0612861761694632121];
384y=besseli(alpha,x,1);
385if testresult() then pause,end
386alpha=[1.19999999999999996 2.20000000000000018 3.20000000000000018];
387x=[-7.29999999999999982
388 8.40000000000000036];
389yref=[-161.961985727353465-117.672270551119524*%i 126.353774591426728+91.8013908146748179*%i -85.8035462475893382-62.3399254025485305*%i
390 567.604978846113681+0*%i 458.189976541412591+0*%i 327.600705419659278+0*%i ];
391y=besseli(alpha,x);
392if testresult() then pause,end
393yref=[-0.109411601466219255-0.07949218152238198*%i 0.0853568741286115373+0.0620153991120368855*%i -0.0579636225393849042-0.0421130368521132753*%i
394 0.127635812783717384+0*%i 0.103031953990436756+0*%i 0.0736666940268219245+0*%i ];
395y=besseli(alpha,x,1);
396if testresult() then pause,end
397alpha=[0
3981
3992];
400x=[];
401yref=[];
402y=besseli(alpha,x);
403if testresult() then pause,end
404yref=[];
405y=besseli(alpha,x,1);
406if testresult() then pause,end
407alpha=[0
4081
4092];
410x=[0];
411yref=[1
4120
4130];
414y=besseli(alpha,x);
415if testresult() then pause,end
416yref=[1
4170
4180];
419y=besseli(alpha,x,1);
420if testresult() then pause,end
421alpha=[0
4221
4232];
424x=[9.99999999999999955e-08];
425yref=[ 1.00000000000000244
4265.00000000000000904e-08
4271.25000000000000237e-15];
428y=besseli(alpha,x);
429if testresult() then pause,end
430yref=[ 0.999999900000007491
4314.99999950000002575e-08
4321.24999987500000653e-15];
433y=besseli(alpha,x,1);
434if testresult() then pause,end
435alpha=[0
4361
4372];
438x=[1];
439yref=[ 1.26606587775200818
4400.565159103992485035
4410.135747669767038337];
442y=besseli(alpha,x);
443if testresult() then pause,end
444yref=[ 0.465759607593640379
445 0.207910415349708472
4460.0499387768942235674];
447y=besseli(alpha,x,1);
448if testresult() then pause,end
449alpha=[0
4501
4512];
452x=[3 4 5];
453yref=[4.88079258586502363 3.9533702174026093 2.2452124409299512
45411.3019219521363308 9.75946515370444878 6.42218937528410549
45527.2398718236044566 24.3356421424505349 17.5056149666242433];
456y=besseli(alpha,x);
457if testresult() then pause,end
458yref=[0.243000354161825444 0.196826713297300893 0.111782545296958191
4590.207001921223986723 0.178750839502435338 0.117626501472769041
4600.183540812609328363 0.163972266944542394 0.117951905831511425];
461y=besseli(alpha,x,1);
462if testresult() then pause,end
463alpha=[0
4641
4652];
466x=[-7.29999999999999982 8.40000000000000036];
467yref=[222.658799873011844 -206.791670046225448 166.003547805552813
468621.944087256767148 583.657019840486896 482.978130151889332];
469y=besseli(alpha,x);
470if testresult() then pause,end
471yref=[0.15041465295234574 -0.139695791503316735 0.112141833362395943
4720.13985490269028536 0.131245392289731255 0.10860599976415887];
473y=besseli(alpha,x,1);
474if testresult() then pause,end
475alpha=[0
4761
4772];
478x=[3
4794
4805];
481yref=[ 4.8807925858650254
4829.75946515370444878
48317.5056149666242433];
484y=besseli(alpha,x);
485if testresult() then pause,end
486yref=[0.243000354161825416
4870.178750839502435338
4880.117951905831511425];
489y=besseli(alpha,x,1);
490if testresult() then pause,end
491alpha=[0
4921
4932];
494x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
495yref=[222.619934807221995-4.13558800345596822*%i -206.754860873488298+3.88638968263160223*%i 165.972275485088261-3.22602277348055821*%i
496 621.83359839173761+11.6724388635437393*%i 583.551791140428804+11.0485508359642992*%i 482.887220066322243+9.37265623194608821*%i ];
497y=besseli(alpha,x);
498if testresult() then pause,end
499yref=[0.150388398093404263-0.00279375005456099917*%i -0.139670925479849994+0.00262540692613094304*%i 0.112120707697331859-0.0021793034731445015*%i
5000.139830057354854626+0.00262475009388627757*%i 0.131221729793522368+0.00248445806253726892*%i 0.108585557056476545+0.00210760412732592488*%i ];
501y=besseli(alpha,x,1);
502if testresult() then pause,end
503alpha=[0.0200000000000000004
504 1.02000000000000002
505 2.02000000000000002];
506x=[];
507yref=[];
508y=besseli(alpha,x);
509if testresult() then pause,end
510yref=[];
511y=besseli(alpha,x,1);
512if testresult() then pause,end
513alpha=[0.0200000000000000004
514 1.02000000000000002
515 2.02000000000000002];
516x=[0];
517yref=[0
5180
5190];
520y=besseli(alpha,x);
521if testresult() then pause,end
522yref=[0
5230
5240];
525y=besseli(alpha,x,1);
526if testresult() then pause,end
527alpha=[0.0200000000000000004
528 1.02000000000000002
529 2.02000000000000002];
530x=[9.99999999999999955e-08];
531yref=[ 0.722522753107872062
5323.54177820150917083e-08
5338.76677772650785916e-16];
534y=besseli(alpha,x);
535if testresult() then pause,end
536yref=[ 0.722522680855600341
5373.54177784733136219e-08
5388.76677684983011487e-16];
539y=besseli(alpha,x,1);
540if testresult() then pause,end
541alpha=[0.0200000000000000004
542 1.02000000000000002
543 2.02000000000000002];
544x=[1];
545yref=[ 1.25736065030765642
5460.551966122309252905
5470.131349760796780485];
548y=besseli(alpha,x);
549if testresult() then pause,end
550yref=[ 0.462557133386141961
551 0.203056988620695933
5520.0483208765999222356];
553y=besseli(alpha,x,1);
554if testresult() then pause,end
555alpha=[0.0200000000000000004
556 1.02000000000000002
557 2.02000000000000002];
558x=[3 4 5];
559yref=[ 4.8796780239824038 3.92148431590033741 2.21306868917017452
56011.3010265107873309 9.70283844788389693 6.35257890236654443
56127.2385606429501266 24.2259535380059781 17.354371599443688];
562y=besseli(alpha,x);
563if testresult() then pause,end
564yref=[0.242944863393175281 0.195239207739236365 0.110182202130494566
5650.206985520643592436 0.177713685207167515 0.116351541187937002
5660.183531977943573288 0.163233190941391326 0.116932836039485649];
567y=besseli(alpha,x,1);
568if testresult() then pause,end
569alpha=[0.0200000000000000004
570 1.02000000000000002
571 2.02000000000000002];
572x=[-7.29999999999999982 8.40000000000000036];
573yref=[222.212839976181669+13.9804468865899914*%i -205.769686737402196-12.9459313719714064*%i 164.710078202989877+10.3626797634637366*%i
574621.928251907138815+0*%i 582.163410999272628+0*%i 480.545709235886818+0*%i ];
575y=besseli(alpha,x);
576if testresult() then pause,end
577yref=[0.150113389749855497+0.00944433396642959701*%i -0.139005402150605722-0.00874547862276512863*%i 0.111268044491330098+0.00700039199513633002*%i
5780.139851341837586962+0*%i 0.13090952846623749+0*%i 0.108059027781500699+0*%i ];
579y=besseli(alpha,x,1);
580if testresult() then pause,end
581alpha=[0.0200000000000000004
582 1.02000000000000002
583 2.02000000000000002];
584x=[3
5854
5865];
587yref=[4.87967802398240469
5889.70283844788389693
589 17.354371599443688];
590y=besseli(alpha,x);
591if testresult() then pause,end
592yref=[0.242944863393175253
5930.177713685207167543
5940.116932836039485649];
595y=besseli(alpha,x,1);
596if testresult() then pause,end
597alpha=[0.0200000000000000004
598 1.02000000000000002
599 2.02000000000000002];
600x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
601yref=[ 222.43372171741305+9.85068170978665592*%i -205.976447380591082-9.07462886841791594*%i 164.880559993464033+7.1570781308754885*%i
602621.817765198579878+11.6721823301041212*%i 582.058389438462655+11.0240694655973073*%i 480.455154676931897+9.33148596112965834*%i ];
603y=besseli(alpha,x);
604if testresult() then pause,end
605yref=[0.150262603930789579+0.00665451745705368178*%i -0.139145076982263832-0.00613026367110974021*%i 0.111383211551259853+0.00483488379449827435*%i
6060.139826496987075832+0.00262469240789814894*%i 0.130885912548876937+0.00247895300229060943*%i 0.108038665020136204+0.002098346278691713*%i ];
607y=besseli(alpha,x,1);
608if testresult() then pause,end
609alpha=[-1];
610x=[];
611yref=[];
612y=besseli(alpha,x);
613if testresult() then pause,end
614yref=[];
615y=besseli(alpha,x,1);
616if testresult() then pause,end
617alpha=[-1];
618x=[0];
619yref=[0];
620y=besseli(alpha,x);
621if testresult() then pause,end
622yref=[0];
623y=besseli(alpha,x,1);
624if testresult() then pause,end
625alpha=[-1];
626x=[9.99999999999999955e-08];
627yref=[5.00000000000000904e-08];
628y=besseli(alpha,x);
629if testresult() then pause,end
630yref=[4.99999950000002575e-08];
631y=besseli(alpha,x,1);
632if testresult() then pause,end
633alpha=[-1];
634x=[1];
635yref=[0.565159103992485035];
636y=besseli(alpha,x);
637if testresult() then pause,end
638yref=[0.207910415349708472];
639y=besseli(alpha,x,1);
640if testresult() then pause,end
641alpha=[-1];
642x=[3 4 5];
643yref=[3.95337021740261063 9.75946515370444878 24.3356421424505349];
644y=besseli(alpha,x);
645if testresult() then pause,end
646yref=[0.196826713297300865 0.178750839502435338 0.163972266944542394];
647y=besseli(alpha,x,1);
648if testresult() then pause,end
649alpha=[-1];
650x=[-7.29999999999999982 8.40000000000000036];
651yref=[-206.791670046225448 583.657019840486896];
652y=besseli(alpha,x);
653if testresult() then pause,end
654yref=[-0.139695791503316735 0.131245392289731255];
655y=besseli(alpha,x,1);
656if testresult() then pause,end
657alpha=[-1];
658x=[3
6594
6605];
661yref=[3.95337021740261063
6629.75946515370444878
66324.3356421424505349];
664y=besseli(alpha,x);
665if testresult() then pause,end
666yref=[0.196826713297300865
6670.178750839502435338
6680.163972266944542394];
669y=besseli(alpha,x,1);
670if testresult() then pause,end
671alpha=[-1];
672x=[-7.29999999999999982
673 8.40000000000000036];
674yref=[-206.791670046225448
675 583.657019840486896];
676y=besseli(alpha,x);
677if testresult() then pause,end
678yref=[-0.139695791503316735
679 0.131245392289731255];
680y=besseli(alpha,x,1);
681if testresult() then pause,end
682alpha=[-1];
683x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
684yref=[-206.754860873488298+3.88638968263160223*%i 583.551791140428804+11.0485508359642992*%i ];
685y=besseli(alpha,x);
686if testresult() then pause,end
687yref=[-0.139670925479849994+0.00262540692613094304*%i 0.131221729793522368+0.00248445806253726892*%i ];
688y=besseli(alpha,x,1);
689if testresult() then pause,end
690alpha=[ -1
691-1.5];
692x=[];
693yref=[];
694y=besseli(alpha,x);
695if testresult() then pause,end
696yref=[];
697y=besseli(alpha,x,1);
698if testresult() then pause,end
699alpha=[ -1
700-1.5];
701x=[0];
702yref=[ 0
703-%inf];
704y=besseli(alpha,x);
705if testresult() then pause,end
706yref=[ 0
707-%inf];
708y=besseli(alpha,x,1);
709if testresult() then pause,end
710alpha=[ -1
711-1.5];
712x=[9.99999999999999955e-08];
713yref=[5.00000000000000904e-08
714 -25231325220.2014771];
715y=besseli(alpha,x);
716if testresult() then pause,end
717yref=[4.99999950000002575e-08
718 -25231322697.0690804];
719y=besseli(alpha,x,1);
720if testresult() then pause,end
721alpha=[ -1
722-1.5];
723x=[1];
724yref=[ 0.565159103992485035
725-0.293525326347479576];
726y=besseli(alpha,x);
727if testresult() then pause,end
728yref=[ 0.207910415349708472
729-0.107981933026376001];
730y=besseli(alpha,x,1);
731if testresult() then pause,end
732alpha=[ -1
733-1.5];
734x=[3 4 5];
735yref=[3.95337021740261063 3.06890365078710392
7369.75946515370444878 8.16349962825509046
73724.3356421424505349 21.1815571446980186];
738y=besseli(alpha,x);
739if testresult() then pause,end
740yref=[0.196826713297300865 0.152791715876124834
7410.178750839502435338 0.149519711259435889
7420.163972266944542394 0.142720209399075454];
743y=besseli(alpha,x,1);
744if testresult() then pause,end
745alpha=[ -1
746-1.5];
747x=[-7.29999999999999982 8.40000000000000036];
748yref=[-206.791670046225448+0*%i -1.15500082553547188e-14+188.632179137459985*%i
749 583.657019840486896+0*%i 539.257850852657953+0*%i ];
750y=besseli(alpha,x);
751if testresult() then pause,end
752yref=[-0.139695791503316735+0*%i -7.80247843030111646e-18+0.127428351256665628*%i
753 0.131245392289731255+0*%i 0.121261469963673568+0*%i ];
754y=besseli(alpha,x,1);
755if testresult() then pause,end
756alpha=[ -1
757-1.5];
758x=[-7.29999999999999982
759 8.40000000000000036];
760yref=[-206.791670046225448
761 539.257850852657953];
762y=besseli(alpha,x);
763if testresult() then pause,end
764yref=[-0.139695791503316735
765 0.121261469963673568];
766y=besseli(alpha,x,1);
767if testresult() then pause,end
768alpha=[ -1
769-1.5];
770x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
771yref=[-206.754860873488298+3.88638968263160223*%i 3.59605973322256212+188.597787293277349*%i
772 583.551791140428804+11.0485508359642992*%i 539.15884497998502+10.3160557682760921*%i ];
773y=besseli(alpha,x);
774if testresult() then pause,end
775yref=[-0.139670925479849994+0.00262540692613094304*%i 0.00242927778770507096+0.127405118232369857*%i
776 0.131221729793522368+0.00248445806253726892*%i 0.121239206778007647+0.00231974385669201809*%i ];
777y=besseli(alpha,x,1);
778if testresult() then pause,end
779alpha=[-3
780-2
781-1
782 0
783 1];
784x=[];
785yref=[];
786y=besseli(alpha,x);
787if testresult() then pause,end
788yref=[];
789y=besseli(alpha,x,1);
790if testresult() then pause,end
791alpha=[-3
792-2
793-1
794 0
795 1];
796x=[0];
797yref=[0
7980
7990
8001
8010];
802y=besseli(alpha,x);
803if testresult() then pause,end
804yref=[0
8050
8060
8071
8080];
809y=besseli(alpha,x,1);
810if testresult() then pause,end
811alpha=[-3
812-2
813-1
814 0
815 1];
816x=[9.99999999999999955e-08];
817yref=[2.08333333333333559e-23
8181.25000000000000237e-15
8195.00000000000000904e-08
820 1.00000000000000244
8215.00000000000000904e-08];
822y=besseli(alpha,x);
823if testresult() then pause,end
824yref=[2.08333312500000894e-23
8251.24999987500000653e-15
8264.99999950000002575e-08
827 0.999999900000007491
8284.99999950000002575e-08];
829y=besseli(alpha,x,1);
830if testresult() then pause,end
831alpha=[-3
832-2
833-1
834 0
835 1];
836x=[1];
837yref=[0.0221684249243319018
838 0.135747669767038337
839 0.565159103992485035
840 1.26606587775200818
841 0.565159103992485035];
842y=besseli(alpha,x);
843if testresult() then pause,end
844yref=[0.00815530777281429572
845 0.0499387768942235674
846 0.207910415349708472
847 0.465759607593640379
848 0.207910415349708472];
849y=besseli(alpha,x,1);
850if testresult() then pause,end
851alpha=[-3
852-2
853-1
854 0
855 1];
856x=[3 4 5];
857yref=[0.959753629496007843 2.2452124409299512 3.95337021740261063 4.8807925858650254 3.95337021740261063
858 3.33727577842034417 6.42218937528410549 9.75946515370444878 11.3019219521363308 9.75946515370444878
859 10.3311501691511403 17.5056149666242433 24.3356421424505349 27.2398718236044566 24.3356421424505349];
860y=besseli(alpha,x);
861if testresult() then pause,end
862yref=[0.0477833195680233067 0.111782545296958191 0.196826713297300865 0.243000354161825416 0.196826713297300865
8630.0611243380296663044 0.117626501472769041 0.178750839502435338 0.207001921223986723 0.178750839502435338
8640.0696107422793332264 0.117951905831511425 0.163972266944542394 0.183540812609328363 0.163972266944542394];
865y=besseli(alpha,x,1);
866if testresult() then pause,end
867alpha=[-3
868-2
869-1
870 0
871 1];
872x=[-7.29999999999999982 8.40000000000000036];
873yref=[-115.830821933593796 166.003547805552813 -206.791670046225448 222.658799873011844 -206.791670046225448
874 353.667434053872967 482.978130151889332 583.657019840486896 621.944087256767148 583.657019840486896];
875y=besseli(alpha,x);
876if testresult() then pause,end
877yref=[-0.0782482115787162397 0.112141833362395943 -0.139695791503316735 0.15041465295234574 -0.139695791503316735
878 0.0795282495448936949 0.10860599976415887 0.131245392289731255 0.13985490269028536 0.131245392289731255];
879y=besseli(alpha,x,1);
880if testresult() then pause,end
881alpha=[-3
882-2
883-1
884 0
885 1];
886x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
887yref=[-115.806987973557767+2.36787822565576178*%i 165.972275485088261-3.22602277348055821*%i -206.754860873488298+3.88638968263160223*%i 222.619934807221995-4.13558800345596822*%i -206.754860873488298+3.88638968263160223*%i
888 353.59617287966239+7.13289457851560726*%i 482.887220066322243+9.37265623194608821*%i 583.551791140428804+11.0485508359642992*%i 621.83359839173761+11.6724388635437393*%i 583.551791140428804+11.0485508359642992*%i ];
889y=besseli(alpha,x);
890if testresult() then pause,end
891yref=[-0.0782321108145454941+0.00159959355636766533*%i 0.112120707697331859-0.0021793034731445015*%i -0.139670925479849994+0.00262540692613094304*%i 0.150388398093404263-0.00279375005456099917*%i -0.139670925479849994+0.00262540692613094304*%i
892 0.0795122252353311354+0.00160395491752061796*%i 0.108585557056476545+0.00210760412732592488*%i 0.131221729793522368+0.00248445806253726892*%i 0.139830057354854626+0.00262475009388627757*%i 0.131221729793522368+0.00248445806253726892*%i ];
893y=besseli(alpha,x,1);
894if testresult() then pause,end
895alpha=[ -1.30000000000000004
896-0.300000000000000044
897 0.699999999999999956
898 1.69999999999999996];
899x=[];
900yref=[];
901y=besseli(alpha,x);
902if testresult() then pause,end
903yref=[];
904y=besseli(alpha,x,1);
905if testresult() then pause,end
906alpha=[ -1.30000000000000004
907-0.300000000000000044
908 0.699999999999999956
909 1.69999999999999996];
910x=[0];
911yref=[-%inf
912-%inf
913 0
914 0];
915y=besseli(alpha,x);
916if testresult() then pause,end
917yref=[-%inf
918-%inf
919 0
920 0];
921y=besseli(alpha,x,1);
922if testresult() then pause,end
923alpha=[ -1.30000000000000004
924-0.300000000000000044
925 0.699999999999999956
926 1.69999999999999996];
927x=[9.99999999999999955e-08];
928yref=[ -716418914.617634058
929 119.4031524362738
9308.52879660259097461e-06
9312.50846958899735057e-13];
932y=besseli(alpha,x);
933if testresult() then pause,end
934yref=[ -716418842.975746155
935 119.40314049595915
936 8.5287957497113638e-06
9372.50846933815040007e-13];
938y=besseli(alpha,x,1);
939if testresult() then pause,end
940alpha=[ -1.30000000000000004
941-0.300000000000000044
942 0.699999999999999956
943 1.69999999999999996];
944x=[1];
945yref=[-0.00591345243084812067
946 1.31287485767574874
947 0.781811462174600069
948 0.218338810631307279];
949y=besseli(alpha,x);
950if testresult() then pause,end
951yref=[-0.00217543757565433205
952 0.482979668969791387
953 0.287612363806220073
954 0.0803223596410826829];
955y=besseli(alpha,x,1);
956if testresult() then pause,end
957alpha=[ -1.30000000000000004
958-0.300000000000000044
959 0.699999999999999956
960 1.69999999999999996];
961x=[3 4 5];
962yref=[3.42784262863483091 4.79637514536136766 4.38711765770707274 2.74905357176475196
9638.83635341206673885 11.1547232979699871 10.5095619067623254 7.47637663060326574
96422.5339420651292528 26.9640105739216374 25.769623334000169 19.748516040401924];
965y=besseli(alpha,x);
966if testresult() then pause,end
967yref=[0.170662235306120791 0.238797457280029851 0.218421726762125123 0.136867318124372278
9680.161843458188648509 0.204305883829368262 0.192489340763055378 0.136934614562300605
9690.151832507315303511 0.181682074129864174 0.173634356210889323 0.133064454390817377];
970y=besseli(alpha,x,1);
971if testresult() then pause,end
972alpha=[ -1.30000000000000004
973-0.300000000000000044
974 0.699999999999999956
975 1.69999999999999996];
976x=[-7.29999999999999982 8.40000000000000036];
977yref=[-115.528257289707909+159.011004637095994*%i 130.005765210304077-178.93758479248288*%i -126.213662649461014+173.718203387166*%i 105.800405250135611-145.621764964810097*%i
978 558.692156624643758+0*%i 618.392276361135487+0*%i 602.863033507589421+0*%i 517.915104109878143+0*%i ];
979y=besseli(alpha,x);
980if testresult() then pause,end
981yref=[-0.0780438174297686527+0.107418099314886509*%i 0.0878239353983073789-0.120879276866858537*%i -0.0852622230789458618+0.117353382345041141*%i 0.0714722761776889204-0.0983731487458936044*%i
982 0.125631610299893642+0*%i 0.139056216478195355+0*%i 0.135564197191194807+0*%i 0.116462183612997774+0*%i ];
983y=besseli(alpha,x,1);
984if testresult() then pause,end
985alpha=[ -1.30000000000000004
986-0.300000000000000044
987 0.699999999999999956
988 1.69999999999999996];
989x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
990yref=[-112.495189456596478+161.170833250149371*%i 126.65593794917838-181.323571297084129*%i -122.946019082064936+176.045508070116654*%i 102.984927987823909-147.626271146547765*%i
991 558.590410007747664+10.6379090184516407*%i 618.282271535315886+11.6148531401744517*%i 602.755154351263172+11.3623872324082811*%i 517.819139778511499+9.96031986752753085*%i ];
992y=besseli(alpha,x);
993if testresult() then pause,end
994yref=[-0.0759948625007086653+0.108877147290777257*%i 0.0855609971932155405-0.122491103267805976*%i -0.083054803145657094+0.118925566900064547*%i 0.0695703121163207677-0.099727270396773135*%i
995 0.125608730810407965+0.00239211813583725934*%i 0.139031479987366591+0.00261180094636132183*%i 0.135539938693977013+0.00255502961323555641*%i 0.116440604370586717+0.00223975047657633264*%i ];
996y=besseli(alpha,x,1);
997if testresult() then pause,end
998alpha=[ -2.29999999999999982
999 -1.30000000000000004
1000-0.300000000000000044
1001 0.699999999999999956
1002 1.69999999999999996];
1003x=[];
1004yref=[];
1005y=besseli(alpha,x);
1006if testresult() then pause,end
1007yref=[];
1008y=besseli(alpha,x,1);
1009if testresult() then pause,end
1010alpha=[ -2.29999999999999982
1011 -1.30000000000000004
1012-0.300000000000000044
1013 0.699999999999999956
1014 1.69999999999999996];
1015x=[0];
1016yref=[-%inf
1017-%inf
1018-%inf
1019 0
1020 0];
1021y=besseli(alpha,x);
1022if testresult() then pause,end
1023yref=[-%inf
1024-%inf
1025-%inf
1026 0
1027 0];
1028y=besseli(alpha,x,1);
1029if testresult() then pause,end
1030alpha=[ -2.29999999999999982
1031 -1.30000000000000004
1032-0.300000000000000044
1033 0.699999999999999956
1034 1.69999999999999996];
1035x=[9.99999999999999955e-08];
1036yref=[ 18626891780058524
1037 -716418914.617634058
1038 119.4031524362738
10398.52879660259097461e-06
10402.50846958899735057e-13];
1041y=besseli(alpha,x);
1042if testresult() then pause,end
1043yref=[ 18626889917369436
1044 -716418842.975746155
1045 119.40314049595915
1046 8.5287957497113638e-06
10472.50846933815040007e-13];
1048y=besseli(alpha,x,1);
1049if testresult() then pause,end
1050alpha=[ -2.29999999999999982
1051 -1.30000000000000004
1052-0.300000000000000044
1053 0.699999999999999956
1054 1.69999999999999996];
1055x=[1];
1056yref=[ 1.32824983399595298
1057-0.00591345243084812067
1058 1.31287485767574874
1059 0.781811462174600069
1060 0.218338810631307279];
1061y=besseli(alpha,x);
1062if testresult() then pause,end
1063yref=[ 0.488635806666492145
1064-0.00217543757565433205
1065 0.482979668969791387
1066 0.287612363806220073
1067 0.0803223596410826829];
1068y=besseli(alpha,x,1);
1069if testresult() then pause,end
1070alpha=[ -2.29999999999999982
1071 -1.30000000000000004
1072-0.300000000000000044
1073 0.699999999999999956
1074 1.69999999999999996];
1075x=[3 4 5];
1076yref=[1.82557820054454689 3.42784262863483091 4.79637514536136766 4.38711765770707274 2.74905357176475196
10775.41109358012660024 8.83635341206673885 11.1547232979699871 10.5095619067623254 7.47637663060326574
107815.2463607000543995 22.5339420651292528 26.9640105739216374 25.769623334000169 19.748516040401924];
1079y=besseli(alpha,x);
1080if testresult() then pause,end
1081yref=[0.0908901866813934256 0.170662235306120791 0.238797457280029851 0.218421726762125123 0.136867318124372278
10820.0991076360067466022 0.161843458188648509 0.204305883829368262 0.192489340763055378 0.136934614562300605
1083 0.102729170325906158 0.151832507315303511 0.181682074129864174 0.173634356210889323 0.133064454390817377];
1084y=besseli(alpha,x,1);
1085if testresult() then pause,end
1086alpha=[ -2.29999999999999982
1087 -1.30000000000000004
1088-0.300000000000000044
1089 0.699999999999999956
1090 1.69999999999999996];
1091x=[-7.29999999999999982 8.40000000000000036];
1092yref=[88.8587146687642502-122.303528346393549*%i -115.528257289707909+159.011004637095994*%i 130.005765210304077-178.93758479248288*%i -126.213662649461014+173.718203387166*%i 105.800405250135611-145.621764964810097*%i
1093445.463751691602113+0*%i 558.692156624643758+0*%i 618.392276361135487+0*%i 602.863033507589421+0*%i 517.915104109878143+0*%i ];
1094y=besseli(alpha,x);
1095if testresult() then pause,end
1096yref=[0.0600275072726362963-0.0826207757410083593*%i -0.0780438174297686527+0.107418099314886509*%i 0.0878239353983073789-0.120879276866858537*%i -0.0852622230789458618+0.117353382345041141*%i 0.0714722761776889204-0.0983731487458936044*%i
1097 0.100170241861561399+0*%i 0.125631610299893642+0*%i 0.139056216478195355+0*%i 0.135564197191194807+0*%i 0.116462183612997774+0*%i ];
1098y=besseli(alpha,x,1);
1099if testresult() then pause,end
1100alpha=[ -2.29999999999999982
1101 -1.30000000000000004
1102-0.300000000000000044
1103 0.699999999999999956
1104 1.69999999999999996];
1105x=[-7.29999999999999982+0.0200000000000000004*%i 8.40000000000000036+0.0200000000000000004*%i ];
1106yref=[86.4321907223755943-124.030462871624579*%i -112.495189456596478+161.170833250149371*%i 126.65593794917838-181.323571297084129*%i -122.946019082064936+176.045508070116654*%i 102.984927987823909-147.626271146547765*%i
1107445.378380318171139+8.73384294688499807*%i 558.590410007747664+10.6379090184516407*%i 618.282271535315886+11.6148531401744517*%i 602.755154351263172+11.3623872324082811*%i 517.819139778511499+9.96031986752753085*%i ];
1108y=besseli(alpha,x);
1109if testresult() then pause,end
1110yref=[0.0583882962579143558-0.0837873869750229289*%i -0.0759948625007086653+0.108877147290777257*%i 0.0855609971932155405-0.122491103267805976*%i -0.083054803145657094+0.118925566900064547*%i 0.0695703121163207677-0.099727270396773135*%i
1111 0.100151044629256544+0.0019639558932643352*%i 0.125608730810407965+0.00239211813583725934*%i 0.139031479987366591+0.00261180094636132183*%i 0.135539938693977013+0.00255502961323555641*%i 0.116440604370586717+0.00223975047657633264*%i ];
1112y=besseli(alpha,x,1);
1113if testresult() then pause,end
1114