Source PostScript (FresnelS.pps)

Retour Texte non formaté
%% table des integrales de FresnelS {dup mul 2 div 180 mul sin} %% 0.00 -- 0.99 /t@bleFresnelS [ 0 5.2359877470e-07 4.1887900870e-06 1.4137164920e-05 3.3510306520e-05 6.5449774860e-05 .0001130971 .0001795936 .0002680806 .0003816991 .0005235895 .0006968920 .0009047456 .0011502886 .0014366578 .0017669882 .0021444129 .0025720621 .0030530631 .0035905392 .0041876092 .0048473865 .0055729784 .006367485 .0072339982 .0081756002 .0091953629 .0102963459 .0114815950 .0127541411 .0141169980 .0155731607 .0171256034 .0187772773 .0205311082 .0223899947 .0243568049 .0264343739 .0286255013 .0309329480 .0333594327 .0359076291 .0385801621 .0413796043 .0443084722 .0473692222 .0505642463 .0538958682 .0573663383 .0609778297 .0647324329 .0686321510 .0726788947 .0768744770 .0812206076 .0857188873 .0903708027 .0951777197 .1001408779 .1052613844 .1105402074 .1159781697 .1215759428 .1273340392 .1332528068 .1393324215 .1455728804 .1519739951 .1585353844 .1652564678 .1721364579 .1791743538 .186368934 .1937187496 .2012221169 .2088771112 .2166815597 .224633035 .2327288484 .2409660443 .2493413931 .2578513861 .2664922295 .2752598392 .2841498356 .293157539 .3022779651 .3115058212 .3208355025 .3302610894 .3397763444 .3493747106 .3590493099 .3687929425 .3785980862 .3884568976 .3983612125 .4083025486 .4182721077 .4282607799 .4382591474 .4482574902 .4582457924 .4682137496 .4781507768 .4880460182 .4978883572 .5076664281 .5173686286 .5269831338 .5364979111 .545900736 .5551792099 .5643207786 .5733127521 .5821423254 .5907966017 .5992626149 .6075273555 .615577796 .6234009185 .6309837436 .6383133594 .6453769533 .6521618432 .6586555116 .664845639 .6707201393 .6762671963 .6814753001 .6863332855 .69083037 .694956193 .6987008558 .7020549612 .7050096544 .707556663 .7096883382 .7113976952 .7126784536 .7135250774 .7139328146 .7138977365 .713416775 .7124877606 .7111094575 .7092815985 .7070049182 .7042811839 .701113225 .6975049601 .6934614219 .6889887795 .6840943577 .6787866537 .6730753502 .6669713256 .6604866604 .6536346397 .646429752 .6388876835 .6310253087 .6228606756 .6144129873 .6057025781 .5967508845 .5875804123 .5782146971 .5686782607 .5589965615 .5491959403 .53930356 .5293473402 .5193558869 .5093584165 .4993846746 .4894648498 .4796294827 .4699093702 .4603354647 .4509387693 .4417502292 .4328006189 .4241204261 .4157397323 .4076880911 .399994404 .3926867944 .3857924806 .3793376473 .3733473178 .367845226 .3628536894 .3583934844 .3544837229 .3511417325 .3483829406 .3462207622 .3446664936 .3437292113 .3434156784 .3437302573 .3446748315 .3462487358 .348448696 .351268779 .3547003542 .3587320657 .3633498177 .3685367721 .3742733594 .3805373037 .3873036622 .3945448784 .4022308513 .4103290188 .4188044571 .4276199949 .4367363433 .4461122406 .4557046121 .4654687448 .4753584758 .4853263952 .4953240608 .5053022268 .5152110822 .5250005008 .5346203002 .5440205092 .5531516416 .561964976 .5704128399 .5784488951 .586028425 .5931086202 .5996488621 .6056110002 .610959625 .61566233 .6196899649 .6230168752 .6256211271 .6274847164 .6285937583 .6289386567 .6285142509 .6273199388 .6253597732 .6226425315 .6191817558 .6149957634 .6101076251 .6045451125 .5983406105 .591530998 .5841574931 .5762654655 .5679042144 .5591267136 .5499893232 .5405514701 .5308752987 .5210252916 .5110678644 .5010709352 .491103472 .4812350201 .4715352133 .4620732715 .4529174876 .4441347095 .4357898179 .4279452075 .4206602721 .4139909015 .4079889917 .4027019745 .3981723706 .3944373696 .3915284435 .3894709957 .3882840501 .3879799859 .3885643192 .3900355363 .3923849822 .395596805 .3996479604 .4045082776 .4101405871 .416500912 .4235387233 .4311972578 .4394138985 .4481206161 .4572444688 .4667081577 .4764306349 .4863277599 .496312999 .5062981641 .5161941833 .5259118975 .5353628771 .5444602502 .5531195351 .56125947 .5688028303 .5756772254 .5818158681 .5871583055 .5916511056 .5952484887 .5979128991 .5996155053 .6003366255 .6000660695 .5988033915 .5965580492 .5933494646 .5892069827 .5841697264 .5782863455 .5716146603 .5642211996 .5561806365 .5475751248 .5384935395 .529030629 .519286085 .5093635373 .4993694853 .4894121733 .479600424 .4700424393 .4608445847 .4521101671 .4439382235 .4364223325 .4296494644 .4236988848 .4186411241 .41453703 .4114369136 .4093798042 .4083928226 .4084906856 .4096753499 .4119358035 .415248012 .4195750229 .4248672326 .4310628147 .4380883102 .4458593756 .4542816828 .4632519639 .4726591907 .4823858769 .4923094891 .5023039516 .5122412257 .5219929466 .5314320959 .5404346884 .548881452 .5566594758 .5636638053 .5697989598 .5749803499 .5791355738 .58220557 .5841456076 .5849260967 .5845332022 .5829692476 .5802528999 .576419124 .571518906 .5656187398 .5587998825 .551157381 .5427988808 .5338432278 .5244188803 .51466215 .5047152933 .4947244803 .4848376669 .4752024024 .465963603 .4572613254 .4492285748 .4419891815 .435655782 .4303279374 .4260904226 .423011717 .4211427253 .4205157542 .4211437675 .4230199364 .4261175016 .4303899539 .435771539 .4421780853 .449508147 .4576444528 .4664556406 .475798257 .4855189931 .495457124 .5054471151 .5153213553 .5249129709 .5340586754 .5426016062 .5503940978 .5573003424 .5631988884 .5679849299 .571572341 .5738954139 .5749102635 .5745958657 .5729547034 .5700129989 .5658205217 .5604499639 .5539958877 .5465732536 .5383155491 .5293725435 .5199077032 .5100953094 .5001173262 .4901600724 .480410758 .4710539473 .4622680164 .4542216722 .4470706021 .440954323 .4359932942 .4322863569 .4299085578 .4289094069 .4293116141 .4311103381 .434272975 .4387394996 .4444233652 .4512129541 .4589735608 .4675498764 .476768935 .4864434688 .496375611 .5063608756 .5161923369 .5256649238 .5345797404 .5427483233 .5499967406 .5561694448 .5611327898 .5647781309 .5670244309 .5678203082 .567145469 .5650114821 .5614618651 .5565714681 .5504451541 .5432157929 .5350416 .5261028677 .5165981509 .5067399843 .496750219 .4868550781 .4772800405 .4682446663 .4599574835 .4526110562 .446377352 .4414035236 .4378082114 .4356784642 .4350673618 .4359924109 .438434765 .4423393033 .447615583 .4541396558 .4617567235 .4702845804 .4795177736 .4892323931 .4991913819 .5091502477 .5188630378 .528088435 .5365958226 .5441711658 .5506225571 .555785279 .5595262471 .561747707 .5623900797 .561433864 .5589005318 .5548523749 .5493912884 .5426565038 .5348213131 .5260888528 .5166870422 .5068627965 .4968756559 .4869909913 .4774729625 .4685774129 .4605448943 .4535940121 .4479152783 .4436656501 .4409639157 .4398870686 .4404677886 .4426931184 .4465043926 .4517984429 .458430067 .4662157135 .4749382985 .4843530358 .4941941328 .5041821736 .5140319887 .5234607936 .5321963636 .5399850092 .5465991153 .5518440159 .5555639932 .557647207 .5580293929 .556696198 .5536840628 .5490795978 .5430174502 .5356766989 .5272758637 .5180666565 .5083266453 .498351037 .4884438158 .4789085019 .4700388065 .4621094742 .4553675987 .4500246913 .4462497628 .4441636521 .4438348007 .4452766307 .4484466334 .4532472271 .4595283826 .4670919624 .4756976586 .4850703657 .4949087689 .5048948895 .5147042907 .5240166181 .5325261357 .5399519074 .5460472838 .5506083657 .5534811485 .5545670862 .5538268648 .5512822299 .5470157766 .5411686769 .5339363917 .52556248 .5163306915 .5065555848 .4965719744 .4867235522 .4773510676 .4687804688 .4613114216 .455206612 .4506822224 .4478999337 .4469607612 .4479009698 .4506902458 .4552322251 .4613673932 .4688782887 .4774968576 .4869137223 .4967890578 .5067647035 .5164770828 .5255704716 .5337101294 .5405948072 .5459681594 .5496286181 .5514373401 .5513238993 .5492894794 .5454074088 .5398209788 .5327385888 .5244263634 .5151984872 .5054055933 .4954216237 .4856296456 .4764071563 .4681114394 .4610655421 .4555454305 .4517688408 .4498862902 .4499746316 .4520334423 .4559844322 .4616739356 .4688784335 .4773129262 .4866418627 .4964922215 .5064682466 .5161672633 .5251959483 .5331863968 .5398113265 .5447977834 .5479387647 .5491022505 .5482372334 .5453764552 .5406356903 .5342095571 .5263639861 .5174256143 .5077685098 .4977987523 .4879374917 .4786031876 .470193772 .4630695011 .4575372396 .4538368733 .4521304671 .452494674 .4549167703 .4592945374 .4654400486 .4730872484 .4819030407 .4915014463 .5014602437 .5113393893 .5207004222 .5291259997 .5362386931 .5417181882 .5453160978 .5468676834 .5462999153 .5436354568 .5389923366 .5325792663 .5246867616 .5156744179 .5059548768 .4959751799 .4861963398 .4770720544 .4690275448 .4624395078 .4576181366 .4547920835 .4540971098 .4555690088 .459141193 .4646471205 .4718275073 .480342044 .4897851107 .4997047895 .5096242964 .5190648304 .527568747 .5347219354 .5401742961 .5436572939 .5449976868 .544126708 .5410841887 .5360173545 .5291742869 .5208923069 .5115817974 .5017062142 .4917592407 .482240201 .4736289463 .4663614821 .4608075787 .4572515306 .4558770846 .4567573601 .4598503401 .4650002362 .4719447272 .4803277737 .489717411 .4996276576 .5095434486 .5189473279 .5273465206 .5342989696 .5394369488 .5424869771 .5432849319 .5417854994 .5380653906 .5323200727 .5248541139 .5160655804 .5064252551 .4964517354 .4866837104 .4776508855 .4698451241 .463693381 .4595339322 .4575972442 .4579925921 .4607012329 .465576591 .4723515292 .4806523868 .4900190824 .49993023 .5098319217 .5191686024 .5274143229 .5341026096 .5388532434 .5413943906 .5415787703 .5393928655 .5349585688 .528527078 .5204653026 .5112354772 .501369079 .4914364977 .4820141681 .473651053 .4668364258 .4619708565 .4593421401 .4591076451 .461284196 .4657461774 .4722320677 .4803591099 .4896453404 .4995377427 .5094449092 .5187723005 .5269580085 .5335068675 .5380208304 .5402237233 .5399788061 .5372979877 .5323420347 .5254116608 .5169299374 .507417015 .4974586251 .4876702474 .4786591152 .4709864 .4651319389 .461463737 .4602142144 .4614647644 .4651396909 .4710100131 .4787070064 .4877447302 .4975502074 .5074994163 .5169568576 .525316199 .5320393956 .5366917511 .5389706063 .5387257295 .5359699922 .530879528 .5237832482 .5151422826 .5055205824 .495548519 .4858817999 .4771583624 .4699560774 .4647540768 .4619003168 .4615876081 .4638398067 .4685092006 .4752853908 .4837151923 .4932323333 .5031950487 .5129291049 .5217733919 .5291250025 .5344807166 .5374720122 .53789113 .5357063049 .5310649968 .5242847698 .5158323182 .5062919703 .4963257477 .4866276779 .4778754919 .4706830648 .4655569491 .4628601027 .46278545 .465341249 .4703494281 .4774571467 .4861608962 .4958415519 .5058079835 .5153461836 .5237704419 .5304728958 .534967863 .5369276903 .5362074286 .5328564224 .5271158329 .5194021294 .5102776105 .5004099879 .4905238894 .4813477778 .4735601585 .4677390575 .4643185519 .4635556635 .4655101905 .4700391188 .4768061817 .4853060052 .4949011704 .5048695303 .514458306 .5229409328 .5296723657 .534138618 .5359966942 .5351017651 .5315193743 .5255215839 .5175671957 .5082674122 .4983394449 .4885515466 .479663648 .4723681799 .4672356972 .4646696085 .464873648 .4678347758 .4733230042 .4809083359 .4899936437 .4998610456 .5097282275 .518810327 .5263824994 .5318381678 .5347382489 .5348473106 .5321536233 .5268713272 .519424364 .5104132952 .5005675318 .4906867185 .4815759456 .4739800218 .4685221828 .4656523081 .4656089991 .4683987807 .4737943103 .4813519293 .4904472891 .5003262646 .5101670633 .5191484503 .5265184411 .5316577044 .5341322964 .5337311806 .5304852207 .52466586 .516763404 .5074465554 .4975064638 .4877899164 .4791272761 .4722612899 .4677828893 .466079571 .4673009311 .4713444922 .477863245 .4862944568 .4959074449 .5058663307 .51530244 .5233901038 .5294192464 .5328583525 .5334021778 .5309998492 .5258606852 .5184370114 .5093852792 .4995087445 .4896866427 .4807960624 .4736334431 .468842736 .4668567504 .4678570908 .4717564757 .4782052469 .4866217025 .4962437225 .5061971828 .5155750767 .523520208 .5293039194 .5323935907 .5325025986 .5296179711 .5240029777 .5161741849 .506854869 .4969088976 .4872610547 .4788111185 .4723496652 .4684834996 .4675778019 .4697205802 .4747129851 .4820866351 .4911465591 .5010359197 .5108165651 .5195578859 .5264255787 .5307618308 .5321491702 .5304517078 .5258296003 .5187251011 .5098212882 .4999772157 .4901455616 .4812806128 .4742454518 .4697273899 .4681699786 ] def %% syntaxe : x fresnelS --> int_ 0^x sin (90t^2) dt %% on note i = Ent (100 * x) et xi = i / 100. Ainsi, si x=4.112 23, on %% aura i = 411 et xi = 4.11 %% Comme fresnelS (xi) = tablefresnelS (i), on aura %% fresnelS (x) = tablefresnelS (i) + int_xi^x sin (90t^2) dt /fresnelS { dup 0 lt { %% si x < 0 neg fresnelS neg %% on renvoie - fresnelS (-x) } { %% sinon 2 dict begin %% on ouvre un dictionnaire local /x exch def %% on nomme x le nombre sur la pile /i x 100 mul truncate cvi def x 10 le { %% si x <= 10 %% on renvoie %% tablefresnelS (i) + int_xi^x sin (90t^2) dt i 100 div x {dup mul 90 mul sin} 30 simpson i t@bleFresnelS exch get add } { %% si x > 10 %% on renvoie %% tablefresnelS (10) + int_10^x sin (90t^2) dt %% avec un pas de 0.01 pour simpson 10 x {dup mul 90 mul sin} x 10 sub 100 mul simpson t@bleFresnelS 1000 get add } ifelse end %% on ferme le dictionnaire local } ifelse } def %% %% syntaxe : x fresnelS --> int_ 0^x sin (90t^2) dt %% %% on note X = Ent (100 * x). Ainsi, si x=4.112 23, on aura %% %% X = 411 et %% %% fresnelS (x) = tablefresnelS (X) + int_X^x sin (90t^2) dt %% /fresnelS { %% dup 0 lt { %% si x < 0 %% neg fresnelS neg %% on renvoie - fresnelS (-x) %% } { %% sinon %% 1 dict begin %% on ouvre un dictionnaire local %% /@x exch def %% on nomme @x le nombre sur la pile %% @x 10 le { %% si x <= 10 %% %% on renvoie %% %% tablefresnelS (X) + int_X^x sin (90t^2) dt %% @x 100 mul truncate cvi 100 div @x {dup mul 90 mul sin} 30 simpson %% @x 100 mul truncate cvi t@bleFresnelS exch get add %% } { %% si x > 10 %% %% on renvoie %% %% tablefresnelS (10) + int_10^x sin (90t^2) dt %% 10 @x {dup mul 90 mul sin} @x 10 sub 100 mul simpson %% t@bleFresnelS 1000 get add %% } ifelse %% end %% on ferme le dictionnaire local %% } ifelse %% } def