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