diff options
-rw-r--r-- | src/elementaryFunctions/asin/testDoubleAsin.c | 7 | ||||
-rw-r--r-- | src/elementaryFunctions/exp10/testDoubleExp10.c | 486 | ||||
-rw-r--r-- | src/elementaryFunctions/exp10/testExp10.h | 1 | ||||
-rw-r--r-- | src/elementaryFunctions/exp10/testFloatExp10.c | 488 | ||||
-rw-r--r-- | src/elementaryFunctions/log/testDoubleLog.c | 1167 | ||||
-rw-r--r-- | src/elementaryFunctions/log/testFloatLog.c | 480 | ||||
-rw-r--r-- | src/elementaryFunctions/log/testLog.h | 1 | ||||
-rw-r--r-- | src/elementaryFunctions/log10/testDoubleLog10.c | 479 | ||||
-rw-r--r-- | src/elementaryFunctions/log10/testFloatLog10.c | 479 | ||||
-rw-r--r-- | src/elementaryFunctions/log10/testLog10.h | 1 |
10 files changed, 2812 insertions, 777 deletions
diff --git a/src/elementaryFunctions/asin/testDoubleAsin.c b/src/elementaryFunctions/asin/testDoubleAsin.c index e35633f1..f8353442 100644 --- a/src/elementaryFunctions/asin/testDoubleAsin.c +++ b/src/elementaryFunctions/asin/testDoubleAsin.c @@ -467,14 +467,13 @@ void zasinaTest(void) { double inI[]= ISOURCE; double resR[]= RRESULT; double resI[]= IRESULT; - doubleComplex out[200],in[200]; + doubleComplex out[200],*in; int i=0; - for (i=0;i<200;i++){ - in[i] = DoubleComplex(inR[i],inI[i]); - } + in= DoubleComplexMatrix(inR,inI,200); zasina(in,200,out); + for (i=0;i<200;i++){ assert( ( (fabs(zreals(out[i])-resR[i])) / (fabs(zreals(out[i]))) ) <1e-15); assert( ( (fabs(zimags(out[i])-resI[i])) / (fabs(zimags(out[i]))) ) <1e-1); diff --git a/src/elementaryFunctions/exp10/testDoubleExp10.c b/src/elementaryFunctions/exp10/testDoubleExp10.c index 4f59dbbb..6c0286d2 100644 --- a/src/elementaryFunctions/exp10/testDoubleExp10.c +++ b/src/elementaryFunctions/exp10/testDoubleExp10.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -12,39 +12,481 @@ #include "testExp10.h" +#define SOURCE {0.3796988371759653091431,0.3062356826849281787872,0.3880051793530583381653,\ +0.1047293278388679027557,0.7603831812739372253418,0.0340930395759642124176,\ +0.1423966242000460624695,0.5554559468291699886322,0.8031897451728582382202,\ +0.5183992316015064716339,0.1518561029806733131409,0.5884730662219226360321,\ +0.2545093484222888946533,0.9992679939605295658112,0.6398976957425475120544,\ +0.5506716123782098293304,0.4607007671147584915161,0.5933007937856018543243,\ +0.6538193570449948310852,0.4168340521864593029022,0.9910155385732650756836,\ +0.3720780410803854465485,0.7061824081465601921082,0.5780865414999425411224,\ +0.602319641038775444031,0.5715096746571362018585,0.0549629041925072669983,\ +0.1205854485742747784,0.0143620483577251434326,0.0257951230742037296295,\ +0.8411248764023184776306,0.4381882525049149990082,0.4643401596695184707642,\ +0.4197426405735313892365,0.8023654492571949958801,0.5228588166646659374237,\ +0.5095121040940284729004,0.4531980180181562900543,0.7817818326875567436218,\ +0.776557037141174077988,0.0466059204190969467163,0.5113326688297092914581,\ +0.7502101892605423927307,0.6883628661744296550751,0.0167756117880344390869,\ +0.9345410899259150028229,0.5609863763675093650818,0.2205847105942666530609,\ +0.7648540753871202468872,0.4816976976580917835236,0.1558785634115338325500,\ +0.2476022052578628063202,0.5216529071331024169922,0.0805230387486517429352,\ +0.4409417239949107170105,0.8911933614872395992279,0.9780590813606977462769,\ +0.4588093762286007404327,0.5510440031066536903381,0.0960960905067622661591,\ +0.4196785055100917816162,0.7502556503750383853912,0.7218149593099951744080,\ +0.2895541018806397914886,0.3907764498144388198853,0.6686618146486580371857,\ +0.4877656819298863410950,0.4685971769504249095917,0.3562648519873619079590,\ +0.3442325466312468051910,0.4253307832404971122742,0.5588058172725141048431,\ +0.3304864969104528427124,0.4157403339631855487823,0.1595822656527161598206,\ +0.3883102680556476116180,0.9415460713207721710205,0.4722979352809488773346,\ +0.8533652639016509056091,0.1207739165984094142914,0.8999380934983491897583,\ +0.4384902161546051502228,0.8976056622341275215149,0.4911110657267272472382,\ +0.3402217179536819458008,0.9966153600253164768219,0.0215395865961909294128,\ +0.6876890822313725948334,0.0044924151152372360229,0.6397854541428387165070,\ +0.5416147718206048011780,0.2247649203054606914520,0.7364005260169506072998,\ +0.4496364505030214786530,0.9678138038143515586853,0.6489060199819505214691,\ +0.2544666919857263565063,0.1923975017853081226349,0.6861492367461323738098,\ +0.4231455805711448192596,0.6734441593289375305176,0.8270696722902357578278,\ +0.9360805852338671684265,0.8326222090981900691986,0.7424779590219259262085,\ +0.0194640238769352436066,0.8016031915321946144104,0.2554539437405765056610,\ +0.2688109613955020904541,0.7558490769006311893463,0.4347589677199721336365,\ +0.6425966522656381130219,0.6957868058234453201294,0.6499576461501419544220,\ +0.2303190128877758979797,0.5504368054680526256561,0.3038997054100036621094,\ +0.0371030517853796482086,0.1703881053254008293152,0.5698686256073415279388,\ +0.0036411266773939132690,0.4491547052748501300812,0.0576810697093605995178,\ +0.4956056098453700542450,0.1888933442533016204834,0.5641230703331530094147,\ +0.8562210192903876304626,0.0794764286838471889496,0.6196198705583810806274,\ +0.2241039988584816455841,0.8582094730809330940247,0.7114551994018256664276,\ +0.8026027604937553405762,0.6153324418701231479645,0.8958183480426669120789,\ +0.8721761344932019710541,0.8389767911285161972046,0.2040955354459583759308,\ +0.3166538262739777565002,0.7006825651042163372040,0.2073105163872241973877,\ +0.5222550616599619388580,0.9416420971974730491638,0.52116033947095274925,\ +0.4509841967374086380005,0.3961292845197021961212,0.7240869747474789619446,\ +0.6724055963568389415741,0.2386146038770675659180,0.7124841609038412570953,\ +0.3286493895575404167175,0.4837769134901463985443,0.7662767004221677780151,\ +0.3153839264996349811554,0.3489987561479210853577,0.7413818310014903545380,\ +0.9702721945941448211670,0.1276510567404329776764,0.3828862151131033897400,\ +0.4882477498613297939301,0.5191949699074029922485,0.0906856027431786060333,\ +0.6833897503092885017395,0.5022272053174674510956,0.0540433898568153381348,\ +0.0163939022459089756012,0.6050811810418963432312,0.2953875153325498104095,\ +0.6451294776052236557007,0.9449766655452549457550,0.5638650292530655860901,\ +0.9786348040215671062469,0.9345349706709384918213,0.1023264364339411258698,\ +0.7292392617091536521912,0.8353224000893533229828,0.9328642506152391433716,\ +0.0507844281382858753204,0.1677279071882367134094,0.9475936102680861949921,\ +0.9390441477298736572266,0.1270067342557013034821,0.6562355486676096916199,\ +0.7192088677547872066498,0.5519206207245588302612,0.7606899146921932697296,\ +0.8840736905112862586975,0.6386072556488215923309,0.2424023114144802093506,\ +0.7679059565998613834381,0.2624090006574988365173,0.1259524053893983364105,\ +0.4549009744077920913696,0.2127966103143990039825,0.0598834278061985969543,\ +0.8079127701930701732635,0.7068187817931175231934,0.9313771002925932407379,\ +0.0831561936065554618835,0.0639262734912335872650} + +#define RESULT {2.3971700177038997026102,2.0241173275316319823958,2.4434596929789558217294,\ +1.2727096230040590985055,5.7594787634974791146192,1.0816656533775219628524,\ +1.3880228773309635226241,3.5929894899598955326780,6.3560857138200033134012,\ +3.2991285007258008832309,1.4185874159639277891642,3.8767970491010381728358,\ +1.7968397576993500042164,9.9831591347336789965539,4.3641301682226361080552,\ +3.5536251298653307451048,2.8886888633814562510338,3.9201329280029257873252,\ +4.506292282304419138939,2.6111634148093250118450,9.7952503109731186015097,\ +2.3554725153952857930051,5.0837291957799548569596,3.7851800417010572630261,\ +4.0023921772430028909184,3.7282899025795783742865,1.1349138714412994044523,\ +1.3200350064956956064322,1.033622723333016191205,1.0611948240957502775927,\ +6.9362522133054556050524,2.7427628125876060138921,2.9129978203666571090480,\ +2.6287097779191044288893,6.3440332316119087963102,3.3331803790647938079417,\ +3.232303288716906752853,2.8392132821292248578970,6.0503685885843978553567,\ +5.97801550527315583849,1.1132838793654469267125,3.245881561190152808649,\ +5.6261355226100322468596,4.879360051235307693673,1.0393830059871540516525,\ +8.600844382521195541358,3.6390362044693791432337,1.6618227902609816748480,\ +5.8190766171103653903174,3.0317800975513509165182,1.4317874896288145247780,\ +1.7684883582783652578030,3.3239379437878064926792,1.2037132434952326764943,\ +2.7602074516612016275019,7.7838303437469935630588,9.5073412259646765676280,\ +2.876135722709581621359,3.5566735327883938211357,1.2476595365735951848052,\ +2.6283216080771176770270,5.626724486525223944966,5.2700527142503661437445,\ +1.947843685866482488223,2.4591014722412456450229,4.6629613384726322777851,\ +3.0744375934314547293980,2.941691847776138235560,2.2712495380631962937912,\ +2.2091873443061853521385,2.6627523904580243652163,3.620810677149941980701,\ +2.1403583776871992760960,2.60459578833533411668,1.44405011565138674534,\ +2.4451768086326421958177,8.7406971172900771449576,2.9668660249388048022468,\ +7.1345282822869320327186,1.3206079780376647203610,7.9421501528532889579992,\ +2.7446705104699793409395,7.899610206034289205945,3.0982115292188217026137,\ +2.188878814912672332582,9.9223686842029490406958,1.050847236808647444661,\ +4.8717958623764170411619,1.0103978539346472054206,4.3630024226971446665857,\ +3.4802846963616036468636,1.6778955425132806578148,5.4500504945081766905446,\ +2.8160246398239912046790,9.2856819400663770380788,4.4555982016116564281560,\ +1.7966632806306144232167,1.5573904303972738727424,4.8545528865355054293218,\ +2.6493880955344351058045,4.7145924820058668913703,6.715365764647851953839,\ +8.6313869205483300106607,6.8017741785747647398352,5.5268535777229557126589,\ +1.0458370517364794505255,6.3329081834648581761371,1.8007521573290650174215,\ +1.8569959706339840277423,5.6996616704912836937069,2.7211906353565828986518,\ +4.39133583975054442305,4.9634860523035060353436,4.4664003219774368602657,\ +1.6994915629457518768675,3.5517043359266669000363,2.0132592604656482926373,\ +1.089188511318553986840,1.4804307775633922528158,3.7142285642082217833604,\ +1.0084192481976341770888,2.8129026699324310989425,1.142039354028792752516,\ +3.1304416262076188992580,1.5448749964710146720392,3.6654143041103313116480,\ +7.181596810407055997416,1.200815897009761545888,4.1650466551411478022260,\ +1.6753440162955879344509,7.21455374553604489307,5.1458272136838258958846,\ +6.3475007446385660614396,4.1241309049764449667919,7.8671666160643907161898,\ +7.450340721306332625318,6.9020291813359317956156,1.5999099356849897368704,\ +2.0732602743658210542321,5.0197555099972408498843,1.6117976431404783532741,\ +3.3285498202301311287954,8.7426299668587681424015,3.3201701404059416056214,\ +2.824777184045289768477,2.4895983330428896884712,5.297695284941288385028,\ +4.7033315715610184426509,1.7322660897889763376156,5.1580335293393115847493,\ +2.1313235787699511547544,3.0463297621649392254994,5.8381695091926415486228,\ +2.0672068075526839336931,2.2335658257207593457849,5.5129217858217156589262,\ +9.3383940240121710019139,1.3416865210022335119788,2.414828068089148516151,\ +3.0778521213560718905455,3.3051788871815572790069,1.2322124790790967008292,\ +4.8238050773970124751600,3.1785365175695079464901,1.1325135056912927211670,\ +1.038469874168215900667,4.0279231974946911876145,1.97418348876764548905,\ +4.4170211379151878006155,8.8100153590470213771368,3.663237102755284801958,\ +9.5199529943728755654320,8.6007231965720354338600,1.2656873409568392130353,\ +5.3609192017188229684166,6.8441954007674699056452,8.5676999890922083125133,\ +1.1240468894427289026083,1.471390362736320067683,8.8632624680127776173322,\ +8.690487669968261386089,1.3396974608773437598330,4.5314328497492990521778,\ +5.2385231533328031616747,3.5638598811998751791918,5.7635480038278910086547,\ +7.6572652334911666116568,4.351182064426246220989,1.7474401555184173595592,\ +5.8601125417902917291713,1.8298226565740485227707,1.336449046213224356450,\ +2.8503682671020214023372,1.6322873327021125700043,1.1478454784492588824918,\ +6.4255864384701686375934,5.0911838672535516536755,8.538411872415464287656,\ +1.211033602346728965671,1.1585806569998515769271} + +#define ZSOURCER {0.0521394181996583938599,0.4229906541295349597931,0.9028727160766720771790,\ +0.270216043572872877121,0.4369520992040634155273,0.0152578153647482395172,\ +0.6548111913725733757019,0.0449309810064733028412,0.2133925389498472213745,\ +0.5342523609288036823273,0.7069207737222313880920,0.2409008811227977275848,\ +0.2901745550334453582764,0.7550916881300508975983,0.2289740880951285362244,\ +0.4858699417673051357269,0.6168978903442621231079,0.8581895199604332447052,\ +0.9484143527224659919739,0.2478762450627982616425,0.3616605177521705627441,\ +0.4686846160329878330231,0.0340223712846636772156,0.5221414058469235897064,\ +0.3054678197950124740601,0.2017288585193455219269,0.4932554000988602638245,\ +0.3831945951096713542938,0.9221886433660984039307,0.8073847130872309207916,\ +0.3020078903064131736755,0.2459809384308755397797,0.1128082294017076492310,\ +0.5088820648379623889923,0.9855441050603985786438,0.1797042894177138805389,\ +0.0627280175685882568359,0.6279844292439520359039,0.8693526117131114006042,\ +0.1181543781422078609467,0.1908623259514570236206,0.0912145380862057209015,\ +0.7186726490035653114319,0.310268334578722715378,0.6592819057404994964600,\ +0.9106893003918230533600,0.9854423692449927330017,0.8546765870414674282074,\ +0.4121543709188699722290,0.2333141383714973926544,0.3814189555123448371887,\ +0.6619831356219947338104,0.212731502950191497803,0.0520866983570158481598,\ +0.9962206138297915458679,0.6885302006267011165619,0.6471334304660558700562,\ +0.1732599367387592792511,0.6790404403582215309143,0.7853972460143268108368,\ +0.5636796839535236358643,0.5331145809032022953033,0.9027821635827422142029,\ +0.0063843778334558010101,0.9165171254426240921021,0.4580909651704132556915,\ +0.8293677615001797676086,0.7187301176600158214569,0.4822947531938552856445,\ +0.9620302417315542697906,0.7949669538065791130066,0.3603135510347783565521,\ +0.4186353813856840133667,0.6742749665863811969757,0.9338985690847039222717,\ +0.18709085090085864067,0.1331541948020458221436,0.4923790604807436466217,\ +0.1599537869915366172791,0.8545161760412156581879,0.4317741785198450088501,\ +0.5531771448440849781036,0.2238912554457783699036,0.1766969445161521434784,\ +0.4150884225964546203613,0.6159632527269423007965,0.0658540828153491020203,\ +0.9070334821008145809174,0.0915193017572164535522,0.4515289147384464740753,\ +0.1814587051048874855042,0.8840930457226932048798,0.1760245300829410552979,\ +0.3308106199838221073151,0.2203056281432509422302,0.3864682218991219997406,\ +0.0431000906974077224731,0.2068966520018875598907,0.5356620447710156440735,\ +0.0403697001747786998749,0.3028300404548645019531,0.6841432997025549411774,\ +0.9040663270279765129089,0.1237034215591847896576,0.9687331896275281906128,\ +0.3681504433043301105499,0.1336043933406472206116,0.6103821019642055034637,\ +0.6861566565930843353271,0.6903465152718126773834,0.779607950709760189056,\ +0.7986211306415498256683,0.9899662975221872329712,0.8009328362531960010529,\ +0.6865246118977665901184,0.8669688436202704906464,0.0602840110659599304199,\ +0.6239373260177671909332,0.5747098876163363456726,0.2018211721442639827728,\ +0.9450219180434942245483,0.6681275893934071063995,0.3908910537138581275940,\ +0.8401706661097705364227,0.7179634161293506622314,0.6875333772040903568268,\ +0.6410528933629393577576,0.8713398925028741359711,0.5411411095410585403442,\ +0.7853284222073853015900,0.4244953142479062080383,0.1414492088370025157928,\ +0.1002616137266159057617,0.0548216500319540500641,0.3878128407523036003113,\ +0.1043689115904271602631,0.3819272350519895553589,0.3513077651150524616241,\ +0.3175459811463952064514,0.1629057596437633037567,0.2614045254886150360107,\ +0.2885272116400301456451,0.5902544697746634483337,0.3439738727174699306488,\ +0.8696897123008966445923,0.0534855094738304615021,0.1987623842433094978333,\ +0.6515000048093497753143,0.2086210027337074279785,0.1333819651044905185699,\ +0.5733251376077532768250,0.9408131926320493221283,0.9827877636998891830444,\ +0.5483977575786411762238,0.9164683455601334571838,0.6582687790505588054657,\ +0.1169865764677524566650,0.6840933994390070438385,0.2702485686168074607849,\ +0.2898568115197122097015,0.9279741663485765457153,0.3171655726619064807892,\ +0.0346859293058514595032,0.8625448155216872692,0.4192672073841094970703,\ +0.9283133395947515964508,0.1561186043545603752136,0.3421049430035054683685,\ +0.6677390020340681076050,0.8959637288935482501984,0.7042291918769478797913,\ +0.2711754958145320415497,0.7707630358636379241943,0.6646066964603960514069,\ +0.0564929535612463951111,0.4913068241439759731293,0.3226534072309732437134,\ +0.4814894613809883594513,0.4087979318574070930481,0.2927415999583899974823,\ +0.8891521319746971130371,0.7954202168621122837067,0.8309869421645998954773,\ +0.8356794654391705989838,0.4487133231014013290405,0.9114312161691486835480,\ +0.5860714400187134742737,0.186776056420058012009,0.2693342454731464385986,\ +0.9950512335635721683502,0.9318672632798552513123,0.8146264008246362209320,\ +0.1896832454949617385864,0.0199374002404510974884,0.1238022493198513984680,\ +0.8879826921038329601288,0.7732745558023452758789,0.7526164152659475803375,\ +0.8376457272097468376160,0.2204564376734197139740} + +#define ZSOURCEI {0.3044399749487638473511,0.3680851315148174762726,0.7309098849073052406311,\ +0.2054549823515117168427,0.0948474220931529998779,0.7900205166079103946686,\ +0.3616730114445090293884,0.5851024067960679531097,0.0693163666874170303345,\ +0.3493489888496696949005,0.1835746141150593757629,0.3968948009423911571503,\ +0.0996801331639289855957,0.8549251281656324863434,0.8357324106618762016296,\ +0.9418399124406278133392,0.0554450806230306625366,0.6700697620399296283722,\ +0.4463311964645981788635,0.1178311700932681560516,0.0399966575205326080322,\ +0.8887174264527857303619,0.1686335867270827293396,0.9620060822926461696625,\ +0.781102331355214118958,0.2049232018180191516876,0.6681626336649060249329,\ +0.7458390104584395885468,0.6444613933563232421875,0.5694789239205420017242,\ +0.7798063186928629875183,0.4667183174751698970795,0.2390516381710767745972,\ +0.2273887698538601398468,0.0535939196124672889709,0.0797578911297023296356,\ +0.0830229185521602630615,0.2299542189575731754303,0.4078942527994513511658,\ +0.3135930425487458705902,0.2988875750452280044556,0.0152183887548744678497,\ +0.6087857903912663459778,0.4139107796363532543182,0.8067577406764030456543,\ +0.1505197458900511264801,0.7943486524745821952820,0.6584644555114209651947,\ +0.9843795206397771835327,0.8309051920659840106964,0.7626284742727875709534,\ +0.9873227919451892375946,0.2627140469849109649658,0.2271525249816477298737,\ +0.242022148333489894867,0.5921032777987420558929,0.6258154083043336868286,\ +0.2771522742696106433868,0.8628354417160153388977,0.8079399424605071544647,\ +0.4837554544210433959961,0.0143989124335348606110,0.0487624881789088249207,\ +0.1519355042837560176849,0.8873454760760068893433,0.0273414407856762409210,\ +0.5470371553674340248108,0.8518478940241038799286,0.5534047596156597137451,\ +0.1433433503843843936920,0.8160062870010733604431,0.7087611532770097255707,\ +0.6693260166794061660767,0.9310019579716026782990,0.9888748200610280036926,\ +0.6374907079152762889862,0.9456876888871192932129,0.1145771169103682041168,\ +0.6323727769777178764343,0.7284730165265500545502,0.8856631275266408920288,\ +0.4942793031223118305206,0.0190941328182816505432,0.1748895938508212566376,\ +0.7399766482412815093994,0.4661670760251581668854,0.1322575574740767478943,\ +0.9087754092179238796234,0.11615646071732044220,0.7354039144702255725861,\ +0.1216390328481793403625,0.2898616599850356578827,0.7108344733715057373047,\ +0.3166244276799261569977,0.4294263450428843498230,0.6909029199741780757904,\ +0.1338429730385541915894,0.4151599411852657794952,0.3047454515472054481506,\ +0.323238662909716367722,0.2928581796586513519287,0.2828734577633440494537,\ +0.9256087234243750572205,0.1463391608558595180511,0.3073406759649515151978,\ +0.6423539933748543262482,0.8470350624993443489075,0.2050857576541602611542,\ +0.4205227121710777282715,0.7732202881015837192535,0.9940918935462832450867,\ +0.2385355173610150814056,0.87819238565862178802,0.8542838920839130878448,\ +0.9186090314760804176331,0.9039202476851642131805,0.2430246956646442413330,\ +0.6553216264583170413971,0.5383144235238432884216,0.4596298984251916408539,\ +0.1132094729691743850708,0.1722074192948639392853,0.0771417664363980293274,\ +0.2509303349070250988007,0.7141261845827102661133,0.2991535165347158908844,\ +0.4254599986597895622253,0.8421654864214360714,0.3318156134337186813354,\ +0.1318110679276287555695,0.6389746675267815589905,0.1391938696615397930145,\ +0.0569984130561351776123,0.9949800879694521427155,0.7950511714443564414978,\ +0.3458094871602952480316,0.8083905372768640518188,0.7886787918396294116974,\ +0.9252098770812153816223,0.0978971007280051708221,0.1040655449032783508301,\ +0.7463223063386976718903,0.2425431115552783012390,0.6190718798898160457611,\ +0.5496137794107198715210,0.1987607558257877826691,0.3828040296211838722229,\ +0.2415534253232181072235,0.5118484236299991607666,0.4379267231561243534088,\ +0.8779173558577895164490,0.1360241672955453395844,0.9468084294348955154419,\ +0.2738420856185257434845,0.5806620018556714057922,0.5942221391014754772186,\ +0.8508083224296569824219,0.378734225872904062271,0.2592755584046244621277,\ +0.7080181255005300045013,0.3032848816365003585815,0.0120116178877651691437,\ +0.0807306626811623573303,0.7887271861545741558075,0.5701906941831111907959,\ +0.2198487878777086734772,0.2014332404360175132751,0.3704045540653169155121,\ +0.2366845849901437759399,0.103130650240927934647,0.1840926231816411018372,\ +0.1408759090118110179901,0.8378689214587211608887,0.2475062184967100620270,\ +0.4595135403797030448914,0.6442520259879529476166,0.9563237931579351425171,\ +0.9093016912229359149933,0.552059986628592014313,0.0986777986399829387665,\ +0.2551880665123462677002,0.0510429129935801029205,0.287540963850915431976,\ +0.1730656377039849758148,0.4155373144894838333130,0.8203372103162109851837,\ +0.7022680984809994697571,0.0665632444433867931366,0.4468086212873458862305,\ +0.5658646025694906711578,0.8720351336523890495300,0.7345057590864598751068,\ +0.3390222620218992233276,0.9842283879406750202179,0.3797692963853478431702,\ +0.6046022842638194561005,0.5255502574145793914795,0.4914151043631136417389,\ +0.6406045397743582725525,0.6271067834459245204926} + +#define ZRESULTR {0.8616789149319691309969,1.7528026973616770423092,-0.8951576871785223987743,\ +1.65839939772781952421,2.670002318435218402470,-0.2545370391954314692740,\ +3.0388538062879217882539,0.2458549627872582132859,1.613753544958956620547,\ +2.373140931257777808128,4.6441801233654604885714,1.0634345748771927286924,\ +1.8994737292284431529055,-2.2038440203063891509316,-0.5865941523645769040129,\ +-1.7230123422001577537799,4.1053385752577806755426,0.2012772387479372093733,\ +4.5889850773872540301568,1.7048706561180972940406,2.2898980543543361321213,\ +-1.3470616397449584056289,1.000979918376255772827,-1.998745505240199671348,\ +-0.4562266859878671976247,1.4173389563254865652908,0.1005345377926576272420,\ +-0.3529055360142766550879,0.7252834368660135977436,1.6469252220572825340383,\ +-0.4467771279955162211373,0.8387209999987794706300,1.1050928340202259558822,\ +2.7952258554924300781863,9.5990623048041356923932,1.4870960004060611581167,\ +1.1343408485170072275139,3.664612325782657276108,4.3703600670610898148993,\ +0.9850722877732481785884,1.1986551091809227731488,1.2329567566066641504108,\ +0.8800935914266996284994,1.1832797973754654030643,-1.2910350436339537161246,\ +7.6571266019263468649569,-2.4697863053099986530015,0.3907140975028082774401,\ +-1.655858606271026545187,-0.5746050598208488624508,-0.4432229757632685229751,\ +-2.9672355970693655713433,1.3424314109887605095395,0.9766924789772336579219,\ +8.4134496859782270661299,1.0052614992336186272581,0.5743785834192948192012,\ +1.1969550027714319639927,-1.929705102086765711178,-1.7419725915375741109870,\ +1.6154412531361730387403,3.4109538321538344085582,7.9439933441705683492273,\ +0.9533381558732610949747,-3.7544424962625675412653,2.8656935239804841586420,\ +2.0671417342103679537502,-1.992605711686495695290,0.8871291147322790671126,\ +8.6682584526683399417379,-1.8914875129526329544660,-0.1401839917101320720505,\ +0.0776428549278006530088,-2.560598020200964608506,-5.5730608716054170770349,\ +0.1580601872370170912774,-0.7747638844786981504598,2.9997587850927698305270,\ +0.1654170760372596638010,-0.7609360918468449641594,-1.2203777718239325889016,\ +1.4986628046871217634362,1.6729053694884241654250,1.381936351079181113377,\ +-0.3450348611667466425246,1.9706824980594530583033,1.1101876800122791877357,\ +-4.0234586128898426338196,1.1906849924222373537930,-0.3456983902450189716227,\ +1.459474884821820195313,6.0143936939361175575414,-0.0988538832443286719087,\ +1.597480633260187854461,0.9129179205342567993142,-0.0488550375477847867445,\ +1.0523032581716083022627,0.9288642069528815214952,2.6218635570145862878633,\ +0.8072263924219229558332,1.5687383989731884526009,3.842899231404802939949,\ +-4.2624261266025849081984,1.2547786671163203564561,7.0708952400269708959968,\ +0.2138025786160810681746,-0.5039897261739162415140,3.6311482225254705369366,\ +2.7511697563589119219785,-1.0199337285771719052718,-3.9613785741953506658319,\ +5.3644844232216355450760,-4.261894060044243204288,-2.440577323716713653567,\ +-2.5162841502447741426352,-3.5973154891472156613474,0.9736685483701841281601,\ +0.2600685777468328963025,1.2216142738714919069309,0.7803738463829824612006,\ +8.5132680918277277015704,4.2958732896863782713126,2.4210488328114880829389,\ +5.79755622526757630197,-0.3837915438103189358365,3.75964173341358565139,\ +2.4386368546342671592697,-2.6776116153796971630641,2.5102046010802867570533,\ +5.821177306248865868099,0.2640059162189042352153,1.31446884371506267364,\ +1.2488505950260830879017,-0.7482976046844636019983,-0.6275966789165404735584,\ +0.8893791469828959961319,-0.6903683581860716733658,-0.5450973252013330272447,\ +-1.1028092549899868313190,1.4183297900536229185775,1.773434980128008042755,\ +-0.2859252183654940604463,3.3012839410905678860786,0.3197431184385559066463,\ +2.2263782918939738487,1.0146592610810074575056,1.0051892636742449926857,\ +3.8066700246852320788093,0.6179593115281443171938,0.7249522760637888696422,\ +-1.6307732738859830323719,8.3014440376437921287334,-5.5006403965152692592255,\ +2.8552972304138433123910,1.9111692714948702587208,0.9158531650125845136046,\ +-0.4956155140563224259509,3.1079184772588979157604,1.5408715933614589577161,\ +-0.1158617194706384467828,6.4886221326459514457952,2.0749108619541400955200,\ +1.0644832532013759340828,-1.769719547358157507588,0.6696790607045245424800,\ +7.4150575771959807980238,1.2812290258043323998294,1.4461251309266722753222,\ +3.9789946052408695642555,7.6489498856535602655526,4.6130068144799594165306,\ +1.7697609579312818528507,-2.069533011859056692572,3.8895055335340873448047,\ +0.5587033140125831076617,0.2704103697575463982616,-1.2405136002402707973147,\ +-1.5134557095053997599621,0.7566012248243810800474,1.9117596963451992664318,\ +6.447932326957059423478,6.2003146906774571078813,5.344469754581457898723,\ +6.3131049040564706231748,1.6189521464425622454542,-2.550619599252561098268,\ +-0.1781945407584817342439,1.5193399835582135359857,0.9590574537903557850171,\ +2.6165522176992435099407,-3.6188103766399173366608,-0.7842216609502735691350,\ +1.0995885822264845899099,-0.6708497380942372023682,0.8529889923514888394607,\ +1.3729938244229744626068,2.0937757207972880202362,2.4059764571152468803916,\ +0.6578397026948303860650,0.2101416292188336421010} + +#define ZRESULTI {0.7272548245748866602156,1.9854303798419310478351,7.9457339679995211412233,\ +0.8488412125630352411676,0.5925642663233093854203,1.0039936024574043216262,\ +3.3414071705695578273776,1.081403318108233868600,0.2597757190370896807075,\ +2.4651157060741901716483,2.0890001084665330566281,1.3789900497554921088295,\ +0.4437915251064282751159,5.2455794258294652365748,1.5894481231762551676212,\ +2.5300661616939024156636,0.5269825145414556155643,7.2114139192406465639351,\ +7.6023759189514121814568,0.474253708603649237752,0.2114880398457448518190,\ +2.615809838094426353905,0.40946194724304191270,2.660538085383924222782,\ +1.96836124960102032411,0.7232671662286862535041,3.111923291962274351619,\ +2.3906358097335185242116,8.3281383621146503060118,6.2028635418634419096406,\ +1.9540840065283944237962,1.5494625392422922693925,0.678202414336372183534,\ +1.6137618479690827300033,1.1906180579664376040228,0.2762165158082148241903,\ +0.2195296884715036700442,2.1446447456633843664520,5.9741482912408789829328,\ +0.867597682821533044972,0.9856997170507159067299,0.0432225133986508733286,\ +5.157507023966152459593,1.6654420749486735786604,4.3768952511866894283799,\ +2.7654687058579336955688,9.3496470896606780343063,7.1454288620924977237792,\ +1.9826603369952136013410,1.6118978629668390123442,2.3655185893491501580854,\ +3.5043054723514432957643,0.9281385166491339377970,0.5631636514321668451899,\ +5.2429430139302253266465,4.7766052326802679317552,4.4001190809809767046090,\ +0.8877792684794596489439,4.368513033448009785786,5.8469722698220429890625,\ +3.2860624631665138473124,0.1131306785331901154645,0.8957170057781025374055,\ +0.3478275260751592101727,7.3475483360254925102595,0.1806513152317329173879,\ +6.4267295981620362610442,4.8385133662587431757629,2.9034462647978491744993,\ +2.9696777404396668131881,5.9431363200854443462617,2.288232180725223052775,\ +2.6208664370161969259243,3.9693733894002809492463,6.5342907486237020719955,\ +1.5303355006050158859665,1.1162736854609731640409,0.8102944693911555695820,\ +1.4357885386399356075771,7.1128736564949752718690,2.4113210957685655699834,\ +3.2448135685253003401840,0.0735981604163226527104,0.5886735706121437594618,\ +2.5776994154551164939448,3.629648394334391792171,0.3489446690644626425382,\ +6.9989048057282028381110,0.3262782224609265258053,2.8071160078618211386470,\ +0.4198114062820728631387,4.7398318369933782889802,1.4965081339145251959621,\ +1.4268961804460684739126,1.3873315379595159146930,2.4343374430326063517782,\ +0.3349767990169579268134,1.3153540511429153703205,2.2160059373349834110911,\ +0.7434370339011254769090,1.253936082334201174149,2.929523877257661279572,\ +6.7911802335851190193239,0.4395719515095502516466,6.0491461603781946365643,\ +2.324454495134102849363,1.263389181071626898856,1.8546860110985297076525,\ +3.9998192433092101261,4.7944107664763828680066,4.5331878790851858340716,\ +3.2834478309428574149820,8.7932187934310537258398,5.8331542843869588210737,\ +4.1564133542481211947006,6.4227435117275550879867,0.6098783468239901139896,\ +4.1986123528738117371972,3.5516439676096513977654,1.3871043178012487651074,\ +2.2708618645232787613963,1.7986812579372670750644,0.4346204841779990335482,\ +3.7800771946382365484851,5.2094034804655127146589,3.0955575196143279015359,\ +3.6332179827516117853747,6.9371912371180162182327,2.4051741186173338782339,\ +1.8230887730163647386661,2.6444893659134645069742,0.4363389413001144689908,\ +0.1648513733929060642858,0.8527852017899220093966,2.3603668450398678224644,\ +0.9089049761135811200674,2.308482167770112614136,2.1783058145209865941183,\ +1.760657933306752465086,0.3252423522775149677955,0.4332745364849133751228,\ +1.922093093505325978043,2.0627370874500741138036,2.184596685297794049774,\ +7.065327858525169979487,0.4997624596555385045882,1.2195103000378291202566,\ +2.3664724579469695875389,1.4939021538810592915070,1.1500903795661745476764,\ +3.3700776947908237524132,2.6885676432811540514933,7.8817788746511769915060,\ +2.0842223123540501994455,8.0258609977666459656120,4.459626216287859712395,\ +1.211699888667206126414,3.6993867326108555992903,1.0474037470444790276503,\ +1.9457553430070655409168,5.4468957190088280739815,0.0574020495019843535189,\ +0.200187099983916316770,7.068768975957844702407,2.5390022146337085651169,\ +4.1109611351982495719426,0.6408861046921948689814,1.6557914176531909333789,\ +2.4121782951381569581883,1.8513041911556680219064,2.0815970551782250197448,\ +0.5950929849744456268112,5.5238367721873160576251,2.4925246722707656843454,\ +0.9924655082402137340480,3.0877905115051524909120,1.6970418763867407552226,\ +2.6253251426459978112860,2.4490847102298514137431,0.4420113886405674930025,\ +4.2948005817238108505762,0.7321010758042626465070,4.1657752085548631626466,\ +2.6579704039050806585465,2.2968127063505034968216,7.7460044759776618406022,\ +3.851297516891551087070,0.2347062006554227753252,1.5927846479405329827017,\ +9.5341720234343370066199,7.7442521101341821321284,6.478396320140080710814,\ +1.0891470158039435744968,0.8038176255057727370712,1.0202487324661473344634,\ +7.6035293179001266494765,5.5512724543076572558675,5.1202912658114749788751,\ +6.849389505178533177343,1.6479880468591965314573} + + + + void dexp10sTest(void) { - printf(">> Double scalar\n"); - printf("dexp10s(0) = %e\n", dexp10s(0.0)); - printf("dexp10s(PI) = %e\n", dexp10s(DPI)); - printf("dexp10s(PI/2) = %e\n", dexp10s(DPI/2)); - printf("dexp10s(PI/3) = %e\n", dexp10s(DPI/3)); - printf("dexp10s(PI/4) = %e\n", dexp10s(DPI/4)); - printf("dexp10s(PI/6) = %e\n", dexp10s(DPI/6)); - printf("dexp10s(-PI) = %e\n", dexp10s(-DPI)); - printf("dexp10s(-PI/2) = %e\n", dexp10s(-DPI/2)); - printf("dexp10s(-PI/3) = %e\n", dexp10s(-DPI/3)); - printf("dexp10s(-PI/4) = %e\n", dexp10s(-DPI/4)); - printf("dexp10s(-PI/6) = %e\n", dexp10s(-DPI/6)); + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dexp10s(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } } void zexp10sTest(void) { - doubleComplex result; + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zexp10s(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } +} + +void dexp10aTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dexp10a(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } +} + +void zexp10aTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex *in,out[200]; + int i; + - printf(">> Double complex scalar\n"); - result = zexp10s(DoubleComplex(1.0, 1.0)); - printf("dexp10s(0) = %e + %e i\n", zreals(result), zimags(result)); + in=DoubleComplexMatrix(inR,inI,200); + zexp10a(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-15); + assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15); + } } int testExp10(void) { printf("\n>>>> Double 10-Base Exponential Tests\n"); dexp10sTest(); zexp10sTest(); - /* FIXME : Implement some test here ... */ - /* - dexp10aTest(); - zexp10aTest(); - */ + dexp10aTest(); + zexp10aTest(); return 0; } diff --git a/src/elementaryFunctions/exp10/testExp10.h b/src/elementaryFunctions/exp10/testExp10.h index 34a04725..8e3bbdbd 100644 --- a/src/elementaryFunctions/exp10/testExp10.h +++ b/src/elementaryFunctions/exp10/testExp10.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "exp10.h" #include "constant.h" diff --git a/src/elementaryFunctions/exp10/testFloatExp10.c b/src/elementaryFunctions/exp10/testFloatExp10.c index 96d64595..1b52f7c4 100644 --- a/src/elementaryFunctions/exp10/testFloatExp10.c +++ b/src/elementaryFunctions/exp10/testFloatExp10.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -12,30 +12,480 @@ #include "testExp10.h" +#define SOURCE {0.3796988371759653091431f,0.3062356826849281787872f,0.3880051793530583381653f,\ +0.1047293278388679027557f,0.7603831812739372253418f,0.0340930395759642124176f,\ +0.1423966242000460624695f,0.5554559468291699886322f,0.8031897451728582382202f,\ +0.5183992316015064716339f,0.1518561029806733131409f,0.5884730662219226360321f,\ +0.2545093484222888946533f,0.9992679939605295658112f,0.6398976957425475120544f,\ +0.5506716123782098293304f,0.4607007671147584915161f,0.5933007937856018543243f,\ +0.6538193570449948310852f,0.4168340521864593029022f,0.9910155385732650756836f,\ +0.3720780410803854465485f,0.7061824081465601921082f,0.5780865414999425411224f,\ +0.602319641038775444031f,0.5715096746571362018585f,0.0549629041925072669983f,\ +0.1205854485742747784f,0.0143620483577251434326f,0.0257951230742037296295f,\ +0.8411248764023184776306f,0.4381882525049149990082f,0.4643401596695184707642f,\ +0.4197426405735313892365f,0.8023654492571949958801f,0.5228588166646659374237f,\ +0.5095121040940284729004f,0.4531980180181562900543f,0.7817818326875567436218f,\ +0.776557037141174077988f,0.0466059204190969467163f,0.5113326688297092914581f,\ +0.7502101892605423927307f,0.6883628661744296550751f,0.0167756117880344390869f,\ +0.9345410899259150028229f,0.5609863763675093650818f,0.2205847105942666530609f,\ +0.7648540753871202468872f,0.4816976976580917835236f,0.1558785634115338325500f,\ +0.2476022052578628063202f,0.5216529071331024169922f,0.0805230387486517429352f,\ +0.4409417239949107170105f,0.8911933614872395992279f,0.9780590813606977462769f,\ +0.4588093762286007404327f,0.5510440031066536903381f,0.0960960905067622661591f,\ +0.4196785055100917816162f,0.7502556503750383853912f,0.7218149593099951744080f,\ +0.2895541018806397914886f,0.3907764498144388198853f,0.6686618146486580371857f,\ +0.4877656819298863410950f,0.4685971769504249095917f,0.3562648519873619079590f,\ +0.3442325466312468051910f,0.4253307832404971122742f,0.5588058172725141048431f,\ +0.3304864969104528427124f,0.4157403339631855487823f,0.1595822656527161598206f,\ +0.3883102680556476116180f,0.9415460713207721710205f,0.4722979352809488773346f,\ +0.8533652639016509056091f,0.1207739165984094142914f,0.8999380934983491897583f,\ +0.4384902161546051502228f,0.8976056622341275215149f,0.4911110657267272472382f,\ +0.3402217179536819458008f,0.9966153600253164768219f,0.0215395865961909294128f,\ +0.6876890822313725948334f,0.0044924151152372360229f,0.6397854541428387165070f,\ +0.5416147718206048011780f,0.2247649203054606914520f,0.7364005260169506072998f,\ +0.4496364505030214786530f,0.9678138038143515586853f,0.6489060199819505214691f,\ +0.2544666919857263565063f,0.1923975017853081226349f,0.6861492367461323738098f,\ +0.4231455805711448192596f,0.6734441593289375305176f,0.8270696722902357578278f,\ +0.9360805852338671684265f,0.8326222090981900691986f,0.7424779590219259262085f,\ +0.0194640238769352436066f,0.8016031915321946144104f,0.2554539437405765056610f,\ +0.2688109613955020904541f,0.7558490769006311893463f,0.4347589677199721336365f,\ +0.6425966522656381130219f,0.6957868058234453201294f,0.6499576461501419544220f,\ +0.2303190128877758979797f,0.5504368054680526256561f,0.3038997054100036621094f,\ +0.0371030517853796482086f,0.1703881053254008293152f,0.5698686256073415279388f,\ +0.0036411266773939132690f,0.4491547052748501300812f,0.0576810697093605995178f,\ +0.4956056098453700542450f,0.1888933442533016204834f,0.5641230703331530094147f,\ +0.8562210192903876304626f,0.0794764286838471889496f,0.6196198705583810806274f,\ +0.2241039988584816455841f,0.8582094730809330940247f,0.7114551994018256664276f,\ +0.8026027604937553405762f,0.6153324418701231479645f,0.8958183480426669120789f,\ +0.8721761344932019710541f,0.8389767911285161972046f,0.2040955354459583759308f,\ +0.3166538262739777565002f,0.7006825651042163372040f,0.2073105163872241973877f,\ +0.5222550616599619388580f,0.9416420971974730491638f,0.52116033947095274925f,\ +0.4509841967374086380005f,0.3961292845197021961212f,0.7240869747474789619446f,\ +0.6724055963568389415741f,0.2386146038770675659180f,0.7124841609038412570953f,\ +0.3286493895575404167175f,0.4837769134901463985443f,0.7662767004221677780151f,\ +0.3153839264996349811554f,0.3489987561479210853577f,0.7413818310014903545380f,\ +0.9702721945941448211670f,0.1276510567404329776764f,0.3828862151131033897400f,\ +0.4882477498613297939301f,0.5191949699074029922485f,0.0906856027431786060333f,\ +0.6833897503092885017395f,0.5022272053174674510956f,0.0540433898568153381348f,\ +0.0163939022459089756012f,0.6050811810418963432312f,0.2953875153325498104095f,\ +0.6451294776052236557007f,0.9449766655452549457550f,0.5638650292530655860901f,\ +0.9786348040215671062469f,0.9345349706709384918213f,0.1023264364339411258698f,\ +0.7292392617091536521912f,0.8353224000893533229828f,0.9328642506152391433716f,\ +0.0507844281382858753204f,0.1677279071882367134094f,0.9475936102680861949921f,\ +0.9390441477298736572266f,0.1270067342557013034821f,0.6562355486676096916199f,\ +0.7192088677547872066498f,0.5519206207245588302612f,0.7606899146921932697296f,\ +0.8840736905112862586975f,0.6386072556488215923309f,0.2424023114144802093506f,\ +0.7679059565998613834381f,0.2624090006574988365173f,0.1259524053893983364105f,\ +0.4549009744077920913696f,0.2127966103143990039825f,0.0598834278061985969543f,\ +0.8079127701930701732635f,0.7068187817931175231934f,0.9313771002925932407379f,\ +0.0831561936065554618835f,0.0639262734912335872650f} + +#define RESULT {2.3971700177038997026102f,2.0241173275316319823958f,2.4434596929789558217294f,\ +1.2727096230040590985055f,5.7594787634974791146192f,1.0816656533775219628524f,\ +1.3880228773309635226241f,3.5929894899598955326780f,6.3560857138200033134012f,\ +3.2991285007258008832309f,1.4185874159639277891642f,3.8767970491010381728358f,\ +1.7968397576993500042164f,9.9831591347336789965539f,4.3641301682226361080552f,\ +3.5536251298653307451048f,2.8886888633814562510338f,3.9201329280029257873252f,\ +4.506292282304419138939f,2.6111634148093250118450f,9.7952503109731186015097f,\ +2.3554725153952857930051f,5.0837291957799548569596f,3.7851800417010572630261f,\ +4.0023921772430028909184f,3.7282899025795783742865f,1.1349138714412994044523f,\ +1.3200350064956956064322f,1.033622723333016191205f,1.0611948240957502775927f,\ +6.9362522133054556050524f,2.7427628125876060138921f,2.9129978203666571090480f,\ +2.6287097779191044288893f,6.3440332316119087963102f,3.3331803790647938079417f,\ +3.232303288716906752853f,2.8392132821292248578970f,6.0503685885843978553567f,\ +5.97801550527315583849f,1.1132838793654469267125f,3.245881561190152808649f,\ +5.6261355226100322468596f,4.879360051235307693673f,1.0393830059871540516525f,\ +8.600844382521195541358f,3.6390362044693791432337f,1.6618227902609816748480f,\ +5.8190766171103653903174f,3.0317800975513509165182f,1.4317874896288145247780f,\ +1.7684883582783652578030f,3.3239379437878064926792f,1.2037132434952326764943f,\ +2.7602074516612016275019f,7.7838303437469935630588f,9.5073412259646765676280f,\ +2.876135722709581621359f,3.5566735327883938211357f,1.2476595365735951848052f,\ +2.6283216080771176770270f,5.626724486525223944966f,5.2700527142503661437445f,\ +1.947843685866482488223f,2.4591014722412456450229f,4.6629613384726322777851f,\ +3.0744375934314547293980f,2.941691847776138235560f,2.2712495380631962937912f,\ +2.2091873443061853521385f,2.6627523904580243652163f,3.620810677149941980701f,\ +2.1403583776871992760960f,2.60459578833533411668f,1.44405011565138674534f,\ +2.4451768086326421958177f,8.7406971172900771449576f,2.9668660249388048022468f,\ +7.1345282822869320327186f,1.3206079780376647203610f,7.9421501528532889579992f,\ +2.7446705104699793409395f,7.899610206034289205945f,3.0982115292188217026137f,\ +2.188878814912672332582f,9.9223686842029490406958f,1.050847236808647444661f,\ +4.8717958623764170411619f,1.0103978539346472054206f,4.3630024226971446665857f,\ +3.4802846963616036468636f,1.6778955425132806578148f,5.4500504945081766905446f,\ +2.8160246398239912046790f,9.2856819400663770380788f,4.4555982016116564281560f,\ +1.7966632806306144232167f,1.5573904303972738727424f,4.8545528865355054293218f,\ +2.6493880955344351058045f,4.7145924820058668913703f,6.715365764647851953839f,\ +8.6313869205483300106607f,6.8017741785747647398352f,5.5268535777229557126589f,\ +1.0458370517364794505255f,6.3329081834648581761371f,1.8007521573290650174215f,\ +1.8569959706339840277423f,5.6996616704912836937069f,2.7211906353565828986518f,\ +4.39133583975054442305f,4.9634860523035060353436f,4.4664003219774368602657f,\ +1.6994915629457518768675f,3.5517043359266669000363f,2.0132592604656482926373f,\ +1.089188511318553986840f,1.4804307775633922528158f,3.7142285642082217833604f,\ +1.0084192481976341770888f,2.8129026699324310989425f,1.142039354028792752516f,\ +3.1304416262076188992580f,1.5448749964710146720392f,3.6654143041103313116480f,\ +7.181596810407055997416f,1.200815897009761545888f,4.1650466551411478022260f,\ +1.6753440162955879344509f,7.21455374553604489307f,5.1458272136838258958846f,\ +6.3475007446385660614396f,4.1241309049764449667919f,7.8671666160643907161898f,\ +7.450340721306332625318f,6.9020291813359317956156f,1.5999099356849897368704f,\ +2.0732602743658210542321f,5.0197555099972408498843f,1.6117976431404783532741f,\ +3.3285498202301311287954f,8.7426299668587681424015f,3.3201701404059416056214f,\ +2.824777184045289768477f,2.4895983330428896884712f,5.297695284941288385028f,\ +4.7033315715610184426509f,1.7322660897889763376156f,5.1580335293393115847493f,\ +2.1313235787699511547544f,3.0463297621649392254994f,5.8381695091926415486228f,\ +2.0672068075526839336931f,2.2335658257207593457849f,5.5129217858217156589262f,\ +9.3383940240121710019139f,1.3416865210022335119788f,2.414828068089148516151f,\ +3.0778521213560718905455f,3.3051788871815572790069f,1.2322124790790967008292f,\ +4.8238050773970124751600f,3.1785365175695079464901f,1.1325135056912927211670f,\ +1.038469874168215900667f,4.0279231974946911876145f,1.97418348876764548905f,\ +4.4170211379151878006155f,8.8100153590470213771368f,3.663237102755284801958f,\ +9.5199529943728755654320f,8.6007231965720354338600f,1.2656873409568392130353f,\ +5.3609192017188229684166f,6.8441954007674699056452f,8.5676999890922083125133f,\ +1.1240468894427289026083f,1.471390362736320067683f,8.8632624680127776173322f,\ +8.690487669968261386089f,1.3396974608773437598330f,4.5314328497492990521778f,\ +5.2385231533328031616747f,3.5638598811998751791918f,5.7635480038278910086547f,\ +7.6572652334911666116568f,4.351182064426246220989f,1.7474401555184173595592f,\ +5.8601125417902917291713f,1.8298226565740485227707f,1.336449046213224356450f,\ +2.8503682671020214023372f,1.6322873327021125700043f,1.1478454784492588824918f,\ +6.4255864384701686375934f,5.0911838672535516536755f,8.538411872415464287656f,\ +1.211033602346728965671f,1.1585806569998515769271f} + +#define CSOURCER {0.0521394181996583938599f,0.4229906541295349597931f,0.9028727160766720771790f,\ +0.270216043572872877121f,0.4369520992040634155273f,0.0152578153647482395172f,\ +0.6548111913725733757019f,0.0449309810064733028412f,0.2133925389498472213745f,\ +0.5342523609288036823273f,0.7069207737222313880920f,0.2409008811227977275848f,\ +0.2901745550334453582764f,0.7550916881300508975983f,0.2289740880951285362244f,\ +0.4858699417673051357269f,0.6168978903442621231079f,0.8581895199604332447052f,\ +0.9484143527224659919739f,0.2478762450627982616425f,0.3616605177521705627441f,\ +0.4686846160329878330231f,0.0340223712846636772156f,0.5221414058469235897064f,\ +0.3054678197950124740601f,0.2017288585193455219269f,0.4932554000988602638245f,\ +0.3831945951096713542938f,0.9221886433660984039307f,0.8073847130872309207916f,\ +0.3020078903064131736755f,0.2459809384308755397797f,0.1128082294017076492310f,\ +0.5088820648379623889923f,0.9855441050603985786438f,0.1797042894177138805389f,\ +0.0627280175685882568359f,0.6279844292439520359039f,0.8693526117131114006042f,\ +0.1181543781422078609467f,0.1908623259514570236206f,0.0912145380862057209015f,\ +0.7186726490035653114319f,0.310268334578722715378f,0.6592819057404994964600f,\ +0.9106893003918230533600f,0.9854423692449927330017f,0.8546765870414674282074f,\ +0.4121543709188699722290f,0.2333141383714973926544f,0.3814189555123448371887f,\ +0.6619831356219947338104f,0.212731502950191497803f,0.0520866983570158481598f,\ +0.9962206138297915458679f,0.6885302006267011165619f,0.6471334304660558700562f,\ +0.1732599367387592792511f,0.6790404403582215309143f,0.7853972460143268108368f,\ +0.5636796839535236358643f,0.5331145809032022953033f,0.9027821635827422142029f,\ +0.0063843778334558010101f,0.9165171254426240921021f,0.4580909651704132556915f,\ +0.8293677615001797676086f,0.7187301176600158214569f,0.4822947531938552856445f,\ +0.9620302417315542697906f,0.7949669538065791130066f,0.3603135510347783565521f,\ +0.4186353813856840133667f,0.6742749665863811969757f,0.9338985690847039222717f,\ +0.18709085090085864067f,0.1331541948020458221436f,0.4923790604807436466217f,\ +0.1599537869915366172791f,0.8545161760412156581879f,0.4317741785198450088501f,\ +0.5531771448440849781036f,0.2238912554457783699036f,0.1766969445161521434784f,\ +0.4150884225964546203613f,0.6159632527269423007965f,0.0658540828153491020203f,\ +0.9070334821008145809174f,0.0915193017572164535522f,0.4515289147384464740753f,\ +0.1814587051048874855042f,0.8840930457226932048798f,0.1760245300829410552979f,\ +0.3308106199838221073151f,0.2203056281432509422302f,0.3864682218991219997406f,\ +0.0431000906974077224731f,0.2068966520018875598907f,0.5356620447710156440735f,\ +0.0403697001747786998749f,0.3028300404548645019531f,0.6841432997025549411774f,\ +0.9040663270279765129089f,0.1237034215591847896576f,0.9687331896275281906128f,\ +0.3681504433043301105499f,0.1336043933406472206116f,0.6103821019642055034637f,\ +0.6861566565930843353271f,0.6903465152718126773834f,0.779607950709760189056f,\ +0.7986211306415498256683f,0.9899662975221872329712f,0.8009328362531960010529f,\ +0.6865246118977665901184f,0.8669688436202704906464f,0.0602840110659599304199f,\ +0.6239373260177671909332f,0.5747098876163363456726f,0.2018211721442639827728f,\ +0.9450219180434942245483f,0.6681275893934071063995f,0.3908910537138581275940f,\ +0.8401706661097705364227f,0.7179634161293506622314f,0.6875333772040903568268f,\ +0.6410528933629393577576f,0.8713398925028741359711f,0.5411411095410585403442f,\ +0.7853284222073853015900f,0.4244953142479062080383f,0.1414492088370025157928f,\ +0.1002616137266159057617f,0.0548216500319540500641f,0.3878128407523036003113f,\ +0.1043689115904271602631f,0.3819272350519895553589f,0.3513077651150524616241f,\ +0.3175459811463952064514f,0.1629057596437633037567f,0.2614045254886150360107f,\ +0.2885272116400301456451f,0.5902544697746634483337f,0.3439738727174699306488f,\ +0.8696897123008966445923f,0.0534855094738304615021f,0.1987623842433094978333f,\ +0.6515000048093497753143f,0.2086210027337074279785f,0.1333819651044905185699f,\ +0.5733251376077532768250f,0.9408131926320493221283f,0.9827877636998891830444f,\ +0.5483977575786411762238f,0.9164683455601334571838f,0.6582687790505588054657f,\ +0.1169865764677524566650f,0.6840933994390070438385f,0.2702485686168074607849f,\ +0.2898568115197122097015f,0.9279741663485765457153f,0.3171655726619064807892f,\ +0.0346859293058514595032f,0.8625448155216872692f,0.4192672073841094970703f,\ +0.9283133395947515964508f,0.1561186043545603752136f,0.3421049430035054683685f,\ +0.6677390020340681076050f,0.8959637288935482501984f,0.7042291918769478797913f,\ +0.2711754958145320415497f,0.7707630358636379241943f,0.6646066964603960514069f,\ +0.0564929535612463951111f,0.4913068241439759731293f,0.3226534072309732437134f,\ +0.4814894613809883594513f,0.4087979318574070930481f,0.2927415999583899974823f,\ +0.8891521319746971130371f,0.7954202168621122837067f,0.8309869421645998954773f,\ +0.8356794654391705989838f,0.4487133231014013290405f,0.9114312161691486835480f,\ +0.5860714400187134742737f,0.186776056420058012009f,0.2693342454731464385986f,\ +0.9950512335635721683502f,0.9318672632798552513123f,0.8146264008246362209320f,\ +0.1896832454949617385864f,0.0199374002404510974884f,0.1238022493198513984680f,\ +0.8879826921038329601288f,0.7732745558023452758789f,0.7526164152659475803375f,\ +0.8376457272097468376160f,0.2204564376734197139740f} + +#define CSOURCEI {0.3044399749487638473511f,0.3680851315148174762726f,0.7309098849073052406311f,\ +0.2054549823515117168427f,0.0948474220931529998779f,0.7900205166079103946686f,\ +0.3616730114445090293884f,0.5851024067960679531097f,0.0693163666874170303345f,\ +0.3493489888496696949005f,0.1835746141150593757629f,0.3968948009423911571503f,\ +0.0996801331639289855957f,0.8549251281656324863434f,0.8357324106618762016296f,\ +0.9418399124406278133392f,0.0554450806230306625366f,0.6700697620399296283722f,\ +0.4463311964645981788635f,0.1178311700932681560516f,0.0399966575205326080322f,\ +0.8887174264527857303619f,0.1686335867270827293396f,0.9620060822926461696625f,\ +0.781102331355214118958f,0.2049232018180191516876f,0.6681626336649060249329f,\ +0.7458390104584395885468f,0.6444613933563232421875f,0.5694789239205420017242f,\ +0.7798063186928629875183f,0.4667183174751698970795f,0.2390516381710767745972f,\ +0.2273887698538601398468f,0.0535939196124672889709f,0.0797578911297023296356f,\ +0.0830229185521602630615f,0.2299542189575731754303f,0.4078942527994513511658f,\ +0.3135930425487458705902f,0.2988875750452280044556f,0.0152183887548744678497f,\ +0.6087857903912663459778f,0.4139107796363532543182f,0.8067577406764030456543f,\ +0.1505197458900511264801f,0.7943486524745821952820f,0.6584644555114209651947f,\ +0.9843795206397771835327f,0.8309051920659840106964f,0.7626284742727875709534f,\ +0.9873227919451892375946f,0.2627140469849109649658f,0.2271525249816477298737f,\ +0.242022148333489894867f,0.5921032777987420558929f,0.6258154083043336868286f,\ +0.2771522742696106433868f,0.8628354417160153388977f,0.8079399424605071544647f,\ +0.4837554544210433959961f,0.0143989124335348606110f,0.0487624881789088249207f,\ +0.1519355042837560176849f,0.8873454760760068893433f,0.0273414407856762409210f,\ +0.5470371553674340248108f,0.8518478940241038799286f,0.5534047596156597137451f,\ +0.1433433503843843936920f,0.8160062870010733604431f,0.7087611532770097255707f,\ +0.6693260166794061660767f,0.9310019579716026782990f,0.9888748200610280036926f,\ +0.6374907079152762889862f,0.9456876888871192932129f,0.1145771169103682041168f,\ +0.6323727769777178764343f,0.7284730165265500545502f,0.8856631275266408920288f,\ +0.4942793031223118305206f,0.0190941328182816505432f,0.1748895938508212566376f,\ +0.7399766482412815093994f,0.4661670760251581668854f,0.1322575574740767478943f,\ +0.9087754092179238796234f,0.11615646071732044220f,0.7354039144702255725861f,\ +0.1216390328481793403625f,0.2898616599850356578827f,0.7108344733715057373047f,\ +0.3166244276799261569977f,0.4294263450428843498230f,0.6909029199741780757904f,\ +0.1338429730385541915894f,0.4151599411852657794952f,0.3047454515472054481506f,\ +0.323238662909716367722f,0.2928581796586513519287f,0.2828734577633440494537f,\ +0.9256087234243750572205f,0.1463391608558595180511f,0.3073406759649515151978f,\ +0.6423539933748543262482f,0.8470350624993443489075f,0.2050857576541602611542f,\ +0.4205227121710777282715f,0.7732202881015837192535f,0.9940918935462832450867f,\ +0.2385355173610150814056f,0.87819238565862178802f,0.8542838920839130878448f,\ +0.9186090314760804176331f,0.9039202476851642131805f,0.2430246956646442413330f,\ +0.6553216264583170413971f,0.5383144235238432884216f,0.4596298984251916408539f,\ +0.1132094729691743850708f,0.1722074192948639392853f,0.0771417664363980293274f,\ +0.2509303349070250988007f,0.7141261845827102661133f,0.2991535165347158908844f,\ +0.4254599986597895622253f,0.8421654864214360714f,0.3318156134337186813354f,\ +0.1318110679276287555695f,0.6389746675267815589905f,0.1391938696615397930145f,\ +0.0569984130561351776123f,0.9949800879694521427155f,0.7950511714443564414978f,\ +0.3458094871602952480316f,0.8083905372768640518188f,0.7886787918396294116974f,\ +0.9252098770812153816223f,0.0978971007280051708221f,0.1040655449032783508301f,\ +0.7463223063386976718903f,0.2425431115552783012390f,0.6190718798898160457611f,\ +0.5496137794107198715210f,0.1987607558257877826691f,0.3828040296211838722229f,\ +0.2415534253232181072235f,0.5118484236299991607666f,0.4379267231561243534088f,\ +0.8779173558577895164490f,0.1360241672955453395844f,0.9468084294348955154419f,\ +0.2738420856185257434845f,0.5806620018556714057922f,0.5942221391014754772186f,\ +0.8508083224296569824219f,0.378734225872904062271f,0.2592755584046244621277f,\ +0.7080181255005300045013f,0.3032848816365003585815f,0.0120116178877651691437f,\ +0.0807306626811623573303f,0.7887271861545741558075f,0.5701906941831111907959f,\ +0.2198487878777086734772f,0.2014332404360175132751f,0.3704045540653169155121f,\ +0.2366845849901437759399f,0.103130650240927934647f,0.1840926231816411018372f,\ +0.1408759090118110179901f,0.8378689214587211608887f,0.2475062184967100620270f,\ +0.4595135403797030448914f,0.6442520259879529476166f,0.9563237931579351425171f,\ +0.9093016912229359149933f,0.552059986628592014313f,0.0986777986399829387665f,\ +0.2551880665123462677002f,0.0510429129935801029205f,0.287540963850915431976f,\ +0.1730656377039849758148f,0.4155373144894838333130f,0.8203372103162109851837f,\ +0.7022680984809994697571f,0.0665632444433867931366f,0.4468086212873458862305f,\ +0.5658646025694906711578f,0.8720351336523890495300f,0.7345057590864598751068f,\ +0.3390222620218992233276f,0.9842283879406750202179f,0.3797692963853478431702f,\ +0.6046022842638194561005f,0.5255502574145793914795f,0.4914151043631136417389f,\ +0.6406045397743582725525f,0.6271067834459245204926f} + +#define CRESULTR {0.8616789149319691309969f,1.7528026973616770423092f,-0.8951576871785223987743f,\ +1.65839939772781952421f,2.670002318435218402470f,-0.2545370391954314692740f,\ +3.0388538062879217882539f,0.2458549627872582132859f,1.613753544958956620547f,\ +2.373140931257777808128f,4.6441801233654604885714f,1.0634345748771927286924f,\ +1.8994737292284431529055f,-2.2038440203063891509316f,-0.5865941523645769040129f,\ +-1.7230123422001577537799f,4.1053385752577806755426f,0.2012772387479372093733f,\ +4.5889850773872540301568f,1.7048706561180972940406f,2.2898980543543361321213f,\ +-1.3470616397449584056289f,1.000979918376255772827f,-1.998745505240199671348f,\ +-0.4562266859878671976247f,1.4173389563254865652908f,0.1005345377926576272420f,\ +-0.3529055360142766550879f,0.7252834368660135977436f,1.6469252220572825340383f,\ +-0.4467771279955162211373f,0.8387209999987794706300f,1.1050928340202259558822f,\ +2.7952258554924300781863f,9.5990623048041356923932f,1.4870960004060611581167f,\ +1.1343408485170072275139f,3.664612325782657276108f,4.3703600670610898148993f,\ +0.9850722877732481785884f,1.1986551091809227731488f,1.2329567566066641504108f,\ +0.8800935914266996284994f,1.1832797973754654030643f,-1.2910350436339537161246f,\ +7.6571266019263468649569f,-2.4697863053099986530015f,0.3907140975028082774401f,\ +-1.655858606271026545187f,-0.5746050598208488624508f,-0.4432229757632685229751f,\ +-2.9672355970693655713433f,1.3424314109887605095395f,0.9766924789772336579219f,\ +8.4134496859782270661299f,1.0052614992336186272581f,0.5743785834192948192012f,\ +1.1969550027714319639927f,-1.929705102086765711178f,-1.7419725915375741109870f,\ +1.6154412531361730387403f,3.4109538321538344085582f,7.9439933441705683492273f,\ +0.9533381558732610949747f,-3.7544424962625675412653f,2.8656935239804841586420f,\ +2.0671417342103679537502f,-1.992605711686495695290f,0.8871291147322790671126f,\ +8.6682584526683399417379f,-1.8914875129526329544660f,-0.1401839917101320720505f,\ +0.0776428549278006530088f,-2.560598020200964608506f,-5.5730608716054170770349f,\ +0.1580601872370170912774f,-0.7747638844786981504598f,2.9997587850927698305270f,\ +0.1654170760372596638010f,-0.7609360918468449641594f,-1.2203777718239325889016f,\ +1.4986628046871217634362f,1.6729053694884241654250f,1.381936351079181113377f,\ +-0.3450348611667466425246f,1.9706824980594530583033f,1.1101876800122791877357f,\ +-4.0234586128898426338196f,1.1906849924222373537930f,-0.3456983902450189716227f,\ +1.459474884821820195313f,6.0143936939361175575414f,-0.0988538832443286719087f,\ +1.597480633260187854461f,0.9129179205342567993142f,-0.0488550375477847867445f,\ +1.0523032581716083022627f,0.9288642069528815214952f,2.6218635570145862878633f,\ +0.8072263924219229558332f,1.5687383989731884526009f,3.842899231404802939949f,\ +-4.2624261266025849081984f,1.2547786671163203564561f,7.0708952400269708959968f,\ +0.2138025786160810681746f,-0.5039897261739162415140f,3.6311482225254705369366f,\ +2.7511697563589119219785f,-1.0199337285771719052718f,-3.9613785741953506658319f,\ +5.3644844232216355450760f,-4.261894060044243204288f,-2.440577323716713653567f,\ +-2.5162841502447741426352f,-3.5973154891472156613474f,0.9736685483701841281601f,\ +0.2600685777468328963025f,1.2216142738714919069309f,0.7803738463829824612006f,\ +8.5132680918277277015704f,4.2958732896863782713126f,2.4210488328114880829389f,\ +5.79755622526757630197f,-0.3837915438103189358365f,3.75964173341358565139f,\ +2.4386368546342671592697f,-2.6776116153796971630641f,2.5102046010802867570533f,\ +5.821177306248865868099f,0.2640059162189042352153f,1.31446884371506267364f,\ +1.2488505950260830879017f,-0.7482976046844636019983f,-0.6275966789165404735584f,\ +0.8893791469828959961319f,-0.6903683581860716733658f,-0.5450973252013330272447f,\ +-1.1028092549899868313190f,1.4183297900536229185775f,1.773434980128008042755f,\ +-0.2859252183654940604463f,3.3012839410905678860786f,0.3197431184385559066463f,\ +2.2263782918939738487f,1.0146592610810074575056f,1.0051892636742449926857f,\ +3.8066700246852320788093f,0.6179593115281443171938f,0.7249522760637888696422f,\ +-1.6307732738859830323719f,8.3014440376437921287334f,-5.5006403965152692592255f,\ +2.8552972304138433123910f,1.9111692714948702587208f,0.9158531650125845136046f,\ +-0.4956155140563224259509f,3.1079184772588979157604f,1.5408715933614589577161f,\ +-0.1158617194706384467828f,6.4886221326459514457952f,2.0749108619541400955200f,\ +1.0644832532013759340828f,-1.769719547358157507588f,0.6696790607045245424800f,\ +7.4150575771959807980238f,1.2812290258043323998294f,1.4461251309266722753222f,\ +3.9789946052408695642555f,7.6489498856535602655526f,4.6130068144799594165306f,\ +1.7697609579312818528507f,-2.069533011859056692572f,3.8895055335340873448047f,\ +0.5587033140125831076617f,0.2704103697575463982616f,-1.2405136002402707973147f,\ +-1.5134557095053997599621f,0.7566012248243810800474f,1.9117596963451992664318f,\ +6.447932326957059423478f,6.2003146906774571078813f,5.344469754581457898723f,\ +6.3131049040564706231748f,1.6189521464425622454542f,-2.550619599252561098268f,\ +-0.1781945407584817342439f,1.5193399835582135359857f,0.9590574537903557850171f,\ +2.6165522176992435099407f,-3.6188103766399173366608f,-0.7842216609502735691350f,\ +1.0995885822264845899099f,-0.6708497380942372023682f,0.8529889923514888394607f,\ +1.3729938244229744626068f,2.0937757207972880202362f,2.4059764571152468803916f,\ +0.6578397026948303860650f,0.2101416292188336421010f} + +#define CRESULTI {0.7272548245748866602156f,1.9854303798419310478351f,7.9457339679995211412233f,\ +0.8488412125630352411676f,0.5925642663233093854203f,1.0039936024574043216262f,\ +3.3414071705695578273776f,1.081403318108233868600f,0.2597757190370896807075f,\ +2.4651157060741901716483f,2.0890001084665330566281f,1.3789900497554921088295f,\ +0.4437915251064282751159f,5.2455794258294652365748f,1.5894481231762551676212f,\ +2.5300661616939024156636f,0.5269825145414556155643f,7.2114139192406465639351f,\ +7.6023759189514121814568f,0.474253708603649237752f,0.2114880398457448518190f,\ +2.615809838094426353905f,0.40946194724304191270f,2.660538085383924222782f,\ +1.96836124960102032411f,0.7232671662286862535041f,3.111923291962274351619f,\ +2.3906358097335185242116f,8.3281383621146503060118f,6.2028635418634419096406f,\ +1.9540840065283944237962f,1.5494625392422922693925f,0.678202414336372183534f,\ +1.6137618479690827300033f,1.1906180579664376040228f,0.2762165158082148241903f,\ +0.2195296884715036700442f,2.1446447456633843664520f,5.9741482912408789829328f,\ +0.867597682821533044972f,0.9856997170507159067299f,0.0432225133986508733286f,\ +5.157507023966152459593f,1.6654420749486735786604f,4.3768952511866894283799f,\ +2.7654687058579336955688f,9.3496470896606780343063f,7.1454288620924977237792f,\ +1.9826603369952136013410f,1.6118978629668390123442f,2.3655185893491501580854f,\ +3.5043054723514432957643f,0.9281385166491339377970f,0.5631636514321668451899f,\ +5.2429430139302253266465f,4.7766052326802679317552f,4.4001190809809767046090f,\ +0.8877792684794596489439f,4.368513033448009785786f,5.8469722698220429890625f,\ +3.2860624631665138473124f,0.1131306785331901154645f,0.8957170057781025374055f,\ +0.3478275260751592101727f,7.3475483360254925102595f,0.1806513152317329173879f,\ +6.4267295981620362610442f,4.8385133662587431757629f,2.9034462647978491744993f,\ +2.9696777404396668131881f,5.9431363200854443462617f,2.288232180725223052775f,\ +2.6208664370161969259243f,3.9693733894002809492463f,6.5342907486237020719955f,\ +1.5303355006050158859665f,1.1162736854609731640409f,0.8102944693911555695820f,\ +1.4357885386399356075771f,7.1128736564949752718690f,2.4113210957685655699834f,\ +3.2448135685253003401840f,0.0735981604163226527104f,0.5886735706121437594618f,\ +2.5776994154551164939448f,3.629648394334391792171f,0.3489446690644626425382f,\ +6.9989048057282028381110f,0.3262782224609265258053f,2.8071160078618211386470f,\ +0.4198114062820728631387f,4.7398318369933782889802f,1.4965081339145251959621f,\ +1.4268961804460684739126f,1.3873315379595159146930f,2.4343374430326063517782f,\ +0.3349767990169579268134f,1.3153540511429153703205f,2.2160059373349834110911f,\ +0.7434370339011254769090f,1.253936082334201174149f,2.929523877257661279572f,\ +6.7911802335851190193239f,0.4395719515095502516466f,6.0491461603781946365643f,\ +2.324454495134102849363f,1.263389181071626898856f,1.8546860110985297076525f,\ +3.9998192433092101261f,4.7944107664763828680066f,4.5331878790851858340716f,\ +3.2834478309428574149820f,8.7932187934310537258398f,5.8331542843869588210737f,\ +4.1564133542481211947006f,6.4227435117275550879867f,0.6098783468239901139896f,\ +4.1986123528738117371972f,3.5516439676096513977654f,1.3871043178012487651074f,\ +2.2708618645232787613963f,1.7986812579372670750644f,0.4346204841779990335482f,\ +3.7800771946382365484851f,5.2094034804655127146589f,3.0955575196143279015359f,\ +3.6332179827516117853747f,6.9371912371180162182327f,2.4051741186173338782339f,\ +1.8230887730163647386661f,2.6444893659134645069742f,0.4363389413001144689908f,\ +0.1648513733929060642858f,0.8527852017899220093966f,2.3603668450398678224644f,\ +0.9089049761135811200674f,2.308482167770112614136f,2.1783058145209865941183f,\ +1.760657933306752465086f,0.3252423522775149677955f,0.4332745364849133751228f,\ +1.922093093505325978043f,2.0627370874500741138036f,2.184596685297794049774f,\ +7.065327858525169979487f,0.4997624596555385045882f,1.2195103000378291202566f,\ +2.3664724579469695875389f,1.4939021538810592915070f,1.1500903795661745476764f,\ +3.3700776947908237524132f,2.6885676432811540514933f,7.8817788746511769915060f,\ +2.0842223123540501994455f,8.0258609977666459656120f,4.459626216287859712395f,\ +1.211699888667206126414f,3.6993867326108555992903f,1.0474037470444790276503f,\ +1.9457553430070655409168f,5.4468957190088280739815f,0.0574020495019843535189f,\ +0.200187099983916316770f,7.068768975957844702407f,2.5390022146337085651169f,\ +4.1109611351982495719426f,0.6408861046921948689814f,1.6557914176531909333789f,\ +2.4121782951381569581883f,1.8513041911556680219064f,2.0815970551782250197448f,\ +0.5950929849744456268112f,5.5238367721873160576251f,2.4925246722707656843454f,\ +0.9924655082402137340480f,3.0877905115051524909120f,1.6970418763867407552226f,\ +2.6253251426459978112860f,2.4490847102298514137431f,0.4420113886405674930025f,\ +4.2948005817238108505762f,0.7321010758042626465070f,4.1657752085548631626466f,\ +2.6579704039050806585465f,2.2968127063505034968216f,7.7460044759776618406022f,\ +3.851297516891551087070f,0.2347062006554227753252f,1.5927846479405329827017f,\ +9.5341720234343370066199f,7.7442521101341821321284f,6.478396320140080710814f,\ +1.0891470158039435744968f,0.8038176255057727370712f,1.0202487324661473344634f,\ +7.6035293179001266494765f,5.5512724543076572558675f,5.1202912658114749788751f,\ +6.849389505178533177343f,1.6479880468591965314573f} + + + + void sexp10sTest(void) { - printf(">> Float scalar\n"); - printf("sexp10s(0) = %f\n", sexp10s(0.0f)); - printf("sexp10s(PI) = %f\n", sexp10s(FPI)); - printf("sexp10s(PI/2) = %f\n", sexp10s(FPI/2)); - printf("sexp10s(PI/3) = %f\n", sexp10s(FPI/3)); - printf("sexp10s(PI/4) = %f\n", sexp10s(FPI/4)); - printf("sexp10s(PI/6) = %f\n", sexp10s(FPI/6)); - printf("sexp10s(-PI) = %f\n", sexp10s(-FPI)); - printf("sexp10s(-PI/2) = %f\n", sexp10s(-FPI/2)); - printf("sexp10s(-PI/3) = %f\n", sexp10s(-FPI/3)); - printf("sexp10s(-PI/4) = %f\n", sexp10s(-FPI/4)); - printf("sexp10s(-PI/6) = %f\n", sexp10s(-FPI/6)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=sexp10s(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-6); + } +} + +void cexp10sTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=cexp10s(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } +} + +void sexp10aTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i,j; + j=1; + sexp10a(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-6); + } +} + +void cexp10aTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex *in,out[200]; + int i; + + in=FloatComplexMatrix(inR,inI,200); + cexp10a(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5); + assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6); + } } int testExp10(void) { printf("\n>>>> Float 10-Base Exponential Tests\n"); sexp10sTest(); - /* FIXME : Implement some test here ... */ - /* - cexp10sTest(); - sexp10aTest(); - cexp10aTest(); - */ + cexp10sTest(); + sexp10aTest(); + cexp10aTest(); return 0; } diff --git a/src/elementaryFunctions/log/testDoubleLog.c b/src/elementaryFunctions/log/testDoubleLog.c index 8f743d47..2930c205 100644 --- a/src/elementaryFunctions/log/testDoubleLog.c +++ b/src/elementaryFunctions/log/testDoubleLog.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -10,719 +10,482 @@ * */ -#include <assert.h> -#include <math.h> #include "testLog.h" +#define SOURCE {0.3628176329657435417175,0.924179898109287023544,0.5243524145334959030151,\ +0.7886543427594006061554,0.6525151440873742103577,0.2477638195268809795380,\ +0.2364655844867229461670,0.7240293831564486026764,0.8278210600838065147400,\ +0.4287728047929704189301,0.4858888480812311172485,0.5923984018154442310333,\ +0.0949383648112416267395,0.1356843891553580760956,0.9917455688118934631348,\ +0.7212927364744246006012,0.0115638775750994682312,0.0211908905766904354095,\ +0.1524727698415517807007,0.9165380974300205707550,0.4467271203175187110901,\ +0.5868234331719577312469,0.1882771886885166168213,0.4196520284749567508698,\ +0.2730510598048567771912,0.7565603456459939479828,0.9378882069140672683716,\ +0.0586007428355515003204,0.5101847248151898384094,0.5031699347309768199921,\ +0.7783576548099517822266,0.6856653341092169284821,0.1381576983258128166199,\ +0.371037633623927831650,0.6366564910858869552612,0.4961673622019588947296,\ +0.2994064847007393836975,0.2392275254242122173309,0.5618183575570583343506,\ +0.3218038142658770084381,0.1082227518782019615173,0.1685282415710389614105,\ +0.8263800088316202163696,0.4923414406366646289825,0.7863734485581517219543,\ +0.6762332352809607982635,0.0258686169981956481934,0.3594204657711088657379,\ +0.3436427963897585868835,0.2824054299853742122650,0.1450859513133764266968,\ +0.0762176741845905780792,0.5220461571589112281799,0.6713762427680194377899,\ +0.0599394328892230987549,0.7267188713885843753815,0.2224657749757170677185,\ +0.3122289828024804592133,0.4435700643807649612427,0.3983507198281586170197,\ +0.1324583934620022773743,0.8820166247896850109100,0.5455272346735000610352,\ +0.2917219498194754123688,0.7739847479388117790222,0.3354639573954045772552,\ +0.8127403985708951950073,0.4612239454872906208038,0.6898109326139092445374,\ +0.9649041066877543926239,0.8210376314818859100342,0.2802407057024538516998,\ +0.9873316427692770957947,0.294199434574693441391,0.4859610591083765029907,\ +0.2247181800194084644318,0.9585652919486165046692,0.1503968122415244579315,\ +0.0216291621327400207520,0.0688429796136915683746,0.9950710041448473930359,\ +0.7568672685883939266205,0.6163959559053182601929,0.0865804632194340229034,\ +0.5165374809876084327698,0.1916800136677920818329,0.2940570451319217681885,\ +0.3528221980668604373932,0.1317937439307570457458,0.0549608371220529079437,\ +0.929352553561329841614,0.737892795819789171219,0.7509917514398694038391,\ +0.6889848816208541393280,0.8865169286727905273438,0.6891661235131323337555,\ +0.8677108911797404289246,0.7947537912987172603607,0.2496256213635206222534,\ +0.3935408894903957843781,0.7297343472018837928772,0.7888072351925075054169,\ +0.113488640636205673218,0.4145256043411791324615,0.6172473421320319175720,\ +0.7440188056789338588715,0.9038409832864999771118,0.3976829168386757373810,\ +0.9472072543576359748840,0.2581262919120490550995,0.1955799385905265808105,\ +0.9381833248771727085114,0.4226356102153658866882,0.0937463282607495784760,\ +0.9977992679923772811890,0.2042182614095509052277,0.9455819511786103248596,\ +0.9336234177462756633759,0.9743702597916126251221,0.4100225553847849369049,\ +0.5125095760449767112732,0.0948633304797112941742,0.5688196588307619094849,\ +0.7322562676854431629181,0.8108531581237912178040,0.5459008770994842052460,\ +0.5022544711828231811523,0.7634959020651876926422,0.7354982374235987663269,\ +0.0699520572088658809662,0.6130836438387632369995,0.0965849910862743854523,\ +0.5439325878396630287170,0.9187005828134715557098,0.5072866193950176239014,\ +0.1335940570570528507233,0.8688194593414664268494,0.7999687767587602138519,\ +0.9879787657409906387329,0.7131399479694664478302,0.3067426951602101325989,\ +0.5431228461675345897675,0.7330236807465553283691,0.6498145484365522861481,\ +0.8018737239763140678406,0.2859625308774411678314,0.1894423719495534896851,\ +0.7794728656299412250519,0.5433104271069169044495,0.5268451268784701824188,\ +0.1533693112432956695557,0.6041304902173578739166,0.5948378806933760643005,\ +0.8857938847504556179047,0.0043053645640611648560,0.1302204323001205921173,\ +0.9758609728887677192688,0.9183407831005752086639,0.0624175965785980224609,\ +0.9939593323506414890289,0.4122588960453867912292,0.8258536770008504390717,\ +0.0376359503716230392456,0.4675730471499264240265,0.4759115139022469520569,\ +0.4060978214256465435028,0.0392968021333217620850,0.4401316107250750064850,\ +0.3316476037725806236267,0.0877817696891725063324,0.1150833908468484878540,\ +0.9667435702867805957794,0.8103649737313389778137,0.3928376468829810619354,\ +0.7880131229758262634277,0.4798596971668303012848,0.0270724548026919364929,\ +0.6701857983134686946869,0.5602217521518468856812,0.2564360727556049823761,\ +0.2626037681475281715393,0.4447338129393756389618,0.8522944338619709014893,\ +0.2347065494395792484283,0.3277532672509551048279,0.2253599218092858791351,\ +0.3468936551362276077271,0.7743145865388214588165,0.1285835551097989082336,\ +0.1156307714991271495819,0.2054340392351150512695,0.4535544612444937229156,\ +0.6516549764201045036316,0.0710035725496709346771,0.1265540253371000289917,\ +0.4974718545563519001007,0.0879269847646355628967,0.1462626229040324687958,\ +0.715134423226118087769,0.9305738122202455997467} + +#define RESULT {-1.0138549594808059506335,-0.0788485313675790222554,-0.6455912738997077182646,\ +-0.2374271494900490608870,-0.4269209307253117313685,-1.3952793271990111545477,\ +-1.4419526017799386696794,-0.3229233029497151630238,-0.1889582589621221220266,\ +-0.8468280928949678543205,-0.7217753888910144466351,-0.5235758944053595653756,\ +-2.354527389398466841186,-1.9974237581445692946147,-0.0082886876471943305572,\ +-0.3267102095711482134810,-4.459869041610169837497,-3.8541838794260296907623,\ +-1.8807692572941765440930,-0.0871516441756800402940,-0.8058073398690168698266,\ +-0.5330312996797691438289,-1.6698399941066854879068,-0.8683294147345963498452,\ +-1.2980964690333058886296,-0.2789729794097077220094,-0.0641245194730828693697,\ +-2.8370079061049158219987,-0.6729824133243695882811,-0.6868273235307851276588,\ +-0.2505691498856313370602,-0.3773656214470872405364,-1.9793595047655996310709,\ +-0.9914517831797942104544,-0.4515250293249062352174,-0.7008419853775434971155,\ +-1.205953148244055972427,-1.4303401906823356437570,-0.5765766885249945516989,\ +-1.1338131915858427056776,-2.2235636585360341044293,-1.7806519374711546888079,\ +-0.1907005521377241608061,-0.7085828181522180191365,-0.240323473997209546837,\ +-0.3912172398408133022762,-3.6547247438886865111840,-1.0232623619826317629133,\ +-1.0681525436893481995071,-1.264411545554370741584,-1.93042894450046809141,\ +-2.5741618985048786427683,-0.6499992713325659643431,-0.3984255796794416437656,\ +-2.8144206784459675496635,-0.3192155730871417684824,-1.502982009541258934249,\ +-1.1640184411209602011184,-0.8128995091446955534309,-0.9204224561330225373723,\ +-2.0214866944753584476757,-0.1255443741850884864508,-0.6060025488810325544620,\ +-1.231954157015291428934,-0.2562031110919770759971,-1.092240757863258915350,\ +-0.2073435333764902521736,-0.7738715719712579987899,-0.3713377296431035756719,\ +-0.0357265538888332026546,-0.1971863344268207918208,-1.2721063818886333418590,\ +-0.0127492850765575892191,-1.223497392724554932997,-0.7216267835832522736794,\ +-1.4929081951001816896962,-0.0423175999341945593968,-1.8944780628936490618486,\ +-3.8337127761178795282149,-2.6759270254015836698613,-0.0049411834200203501311,\ +-0.2785673796390666367984,-0.483865736386189515539,-2.446681086792801718133,\ +-0.6606074257995434573232,-1.651927892749795789840,-1.2239814994040887352611,\ +-1.0417910371382139711471,-2.026517124423018234580,-2.9011343997056400212387,\ +-0.0732671142462539837226,-0.3039567280501898061118,-0.2863606107139139989037,\ +-0.3725359507043504159185,-0.1204550575726043570857,-0.3722729288835950889336,\ +-0.1418966944811957953121,-0.2297229087732643171282,-1.3877929980613914473508,\ +-0.9325703042223095762253,-0.3150747190128889152483,-0.2372333033314831252092,\ +-2.1760525295696577785520,-0.8806205346832632896437,-0.4824854567490562962107,\ +-0.2956889680183093505050,-0.1011018375069230867958,-0.9221002825850308504130,\ +-0.0542373561426655603768,-1.3543063102932182406590,-1.6317860900845253535607,\ +-0.0638099067725128449302,-0.8612449127611128130155,-2.3671627801172654415041,\ +-0.0022031571770593774348,-1.5885659482121525787335,-0.0559547196755256631695,\ +-0.0686821150485829451382,-0.0259639040526286474231,-0.8915431076633286711086,\ +-0.6684358831783273613425,-2.3553180497276513527538,-0.5641918391516044239964,\ +-0.3116247338224413798713,-0.2096683039932461523058,-0.6053178634921361211951,\ +-0.6886483730214458809371,-0.2698475216395072595610,-0.3072071353764207479742,\ +-2.659945168598087494871,-0.4892539023727084379622,-2.3373319216128076725170,\ +-0.6089299592172232600262,-0.0847950173155939540548,-0.6786791108759814283857,\ +-2.0129495019748864237386,-0.1406199321004115432299,-0.2231825811274127380202,\ +-0.0120940736302183569906,-0.3380775973662459854552,-1.181746009333312530387,\ +-0.6104197485997391314783,-0.3105772710053884000381,-0.4310682668987352861301,\ +-0.2208041349135003439397,-1.25189448766300226445,-1.6636704065163092636226,\ +-0.2491374010581904052675,-0.6100744334370675758805,-0.6408486505219985751580,\ +-1.8749064671471911136535,-0.5039650609751163967687,-0.5194663799859419173188,\ +-0.1212709911627764675091,-5.4478934608177302933996,-2.038526631411456513376,\ +-0.0244351485261014196582,-0.0851867338269072515988,-2.7739080469083896574034,\ +-0.0060589862906551463645,-0.8861037385262900967220,-0.1913376676415258770270,\ +-3.2797955584796012473703,-0.7601996918711692030612,-0.7425233371947113081291,\ +-0.9011612089296217043000,-3.2366121340710831688625,-0.8206814815116268979622,\ +-1.1036823082060371881141,-2.4329014344197728014763,-2.1620982756055884266289,\ +-0.0338219993709664781822,-0.2102705479450195091840,-0.9343588647242980771424,\ +-0.2382405357403041268327,-0.7342615153765646995865,-3.609238495954611991579,\ +-0.4002002941250653034189,-0.5794225876492602456125,-1.36087587445700952671,\ +-1.337108967835097139698,-0.8102793489627861944768,-0.1598232322015146200656,\ +-1.449419270934711789778,-1.1154941876589379301521,-1.4900565023732303959747,\ +-1.05873701535465292167,-0.2557770454111949476328,-2.0511763516400991491651,\ +-2.1573531687271665369110,-1.5826302735280548539265,-0.7906399256902217898002,\ +-0.4282400343889684046772,-2.6450250856057104797969,-2.0670859842226763092299,\ +-0.6982162977399214431884,-2.4312485274946018520836,-1.9223514861397812403254,\ +-0.3352847494467096622905,-0.0719538807151878373469} + +#define ZSOURCER {0.3140813848003745079041,0.5769402063451707363129,0.1306138429790735244751,\ +0.0478980806656181812286,0.4500174494460225105286,0.0384718659333884716034,\ +0.483350999653339385986,0.2981918179430067539215,0.7112689120694994926453,\ +0.9268360524438321590424,0.9477838929742574691772,0.1729496796615421772003,\ +0.2750928336754441261292,0.0044281478039920330048,0.0611358620226383209229,\ +0.1950612799264490604401,0.3789803450927138328552,0.2549188635312020778656,\ +0.1764185149222612380981,0.6008180272765457630157,0.3703392641618847846985,\ +0.2908470141701400279999,0.5384815335273742675781,0.8090293356217443943024,\ +0.9260985879227519035339,0.1576966657303273677826,0.9518593531101942062378,\ +0.2709982101805508136749,0.1609848598018288612366,0.8782086591236293315887,\ +0.5091647170484066009521,0.7951062084175646305084,0.8432204117998480796814,\ +0.5806765086017549037933,0.3487791065126657485962,0.9397577759809792041779,\ +0.4363934816792607307434,0.5549766751937568187714,0.9105900451540946960449,\ +0.5684339576400816440582,0.1862502051517367362976,0.0800832151435315608978,\ +0.6585252787917852401733,0.1606054832227528095245,0.9711584830656647682190,\ +0.3668168033473193645477,0.7386338301002979278564,0.9722552285529673099518,\ +0.1349937235936522483826,0.4595781317912042140961,0.5414639282971620559692,\ +0.6397600513882935047150,0.0211964594200253486633,0.4408156829886138439178,\ +0.6374878138303756713867,0.3208820023573935031891,0.4267518399283289909363,\ +0.7819778784178197383881,0.0543234180659055709839,0.9666189108975231647491,\ +0.6948409983888268470764,0.1846996019594371318817,0.3645029179751873016357,\ +0.8176643461920320987701,0.664914294146001338959,0.7559730983339250087738,\ +0.5525381658226251602173,0.7192269531078636646271,0.1989364298060536384583,\ +0.8610532465390861034393,0.1300329938530921936035,0.347959163133054971695,\ +0.5025534434244036674500,0.4978472082875669002533,0.4675923939794301986694,\ +0.9447452803142368793488,0.9599315756931900978088,0.5365384514443576335907,\ +0.8122785724699497222900,0.6470989421941339969635,0.7010180121287703514099,\ +0.6681951484642922878265,0.9593638796359300613403,0.0149199557490646839142,\ +0.6199735002592206001282,0.4061129498295485973358,0.0471306145191192626953,\ +0.8433605083264410495758,0.0635268418118357658386,0.9836421324871480464935,\ +0.4434677045792341232300,0.8565507535822689533234,0.9080012599006295204163,\ +0.4922491232864558696747,0.1930142603814601898193,0.3759337724186480045319,\ +0.2437626412138342857361,0.1035623974166810512543,0.9936000052839517593384,\ +0.5569599089212715625763,0.3858396532014012336731,0.7191527518443763256073,\ +0.1707325801253318786621,0.2878904812969267368317,0.4294657362625002861023,\ +0.8917979537509381771088,0.6188817229121923446655,0.3444608678109943866730,\ +0.0692929709330201148987,0.3619817639701068401337,0.1783103235065937042236,\ +0.8941529677249491214752,0.9010278200730681419373,0.0533773354254662990570,\ +0.4162023533135652542114,0.9438270372338593006134,0.9242387460544705390930,\ +0.8710649865679442882538,0.2808376699686050415039,0.8244629004038870334625,\ +0.4650857029482722282410,0.1462343498133122920990,0.5975636970251798629761,\ +0.3067605351097881793976,0.2377215037122368812561,0.0711208949796855449677,\ +0.8753139786422252655029,0.4413500339724123477936,0.7631150623783469200134,\ +0.9679268277250230312347,0.3924236092716455459595,0.717360940296202898026,\ +0.8640465112403035163879,0.7354763629846274852753,0.0304915383458137512207,\ +0.6331009590066969394684,0.4550241930410265922546,0.3173553734086453914642,\ +0.8250397499650716781616,0.2725940425880253314972,0.3458735281601548194885,\ +0.5352854127995669841766,0.7017193175852298736572,0.9817278520204126834869,\ +0.2777477568015456199646,0.1314821145497262477875,0.366813333705067634583,\ +0.7377605927176773548126,0.9103105561807751655579,0.3637479650788009166718,\ +0.8207867145538330078125,0.3059372254647314548492,0.9788405327126383781433,\ +0.9970494522713124752045,0.4636328797787427902222,0.7769650523550808429718,\ +0.3400075891986489295959,0.0353285889141261577606,0.2607673071324825286865,\ +0.5790986777283251285553,0.1250711670145392417908,0.0372988111339509487152,\ +0.9382179621607065200806,0.5585843441076576709747,0.7192503632977604866028,\ +0.3599752518348395824432,0.6758626028895378112793,0.2222136431373655796051,\ +0.7860159231349825859070,0.1736893891356885433197,0.2674629595130681991577,\ +0.7357366015203297138214,0.0550541067495942115784,0.5923380698077380657196,\ +0.2162457890808582305908,0.7718841419555246829987,0.0926524316892027854919,\ +0.7626169077120721340179,0.7347808051854372024536,0.8017499190755188465118,\ +0.7732572900131344795227,0.2559880572371184825897,0.1179054826498031616,\ +0.9232815303839743137360,0.6709534404799342155457,0.6071323617361485958099,\ +0.4574467372149229049683,0.8206311021931469440460,0.0896153757348656654358,\ +0.3426358769647777080536,0.1674894802272319793701,0.9481152505613863468170,\ +0.9504805644974112510681,0.3436607695184648036957,0.2889420483261346817017,\ +0.5325344172306358814240,0.2558945687487721443176,0.8863505902700126171112,\ +0.0421485081315040588379,0.4876015805639326572418} + +#define ZSOURCEI {0.347978035919368267059,0.2037199228070676326752,0.5962978359311819076538,\ +0.8342303414829075336456,0.6809655660763382911682,0.9127784068696200847626,\ +0.5243799723684787750244,0.7204323844052851200104,0.3259664541110396385193,\ +0.1506391367875039577484,0.9124387521296739578247,0.6345743131823837757111,\ +0.9268973069265484809875,0.7633614349178969860077,0.5918717086315155029297,\ +0.9057438620366156101227,0.3263365356251597404480,0.3912780000828206539154,\ +0.4635267537087202072144,0.0849754814989864826202,0.5800507226958870887756,\ +0.7945564310066401958466,0.3823457323014736175537,0.3010852993465960025787,\ +0.5789428642019629478455,0.2627451247535645961761,0.5713048521429300308228,\ +0.1848654565401375293732,0.9971724869683384895325,0.4520535501651465892792,\ +0.0334019884467124938965,0.4553878181613981723785,0.7851976407691836357117,\ +0.4941168962977826595306,0.9304408635944128036499,0.7621670593507587909698,\ +0.9264887655153870582581,0.7199950958602130413055,0.3973621018230915069580,\ +0.8769331262446939945221,0.6766644334420561790466,0.8431562236510217189789,\ +0.7608711589127779006958,0.8287630719132721424103,0.0037989662960171699524,\ +0.9451942699961364269257,0.6311131268739700317383,0.0763222672976553440094,\ +0.4486519275233149528503,0.1080312891863286495209,0.8351444136351346969604,\ +0.3109649871475994586945,0.1235694894567131996155,0.0363539229147136211395,\ +0.6609512977302074432373,0.9844443709589540958405,0.0688076755031943321228,\ +0.5140342987142503261566,0.3807653579860925674438,0.1549817589111626148224,\ +0.6850274773314595222473,0.0382853033952414989471,0.5224257782101631164551,\ +0.7454454028047621250153,0.4607118470594286918640,0.4753002314828336238861,\ +0.8575385268777608871460,0.8073885519988834857941,0.7132545644417405128479,\ +0.0811268086545169353485,0.5751824118196964263916,0.884696914348751306534,\ +0.5624709790572524070740,0.7315255901776254177094,0.6099120099097490310669,\ +0.0705954921431839466095,0.8552806274965405464172,0.7045627343468368053436,\ +0.5928074717521667480469,0.8517647930420935153961,0.2603117255493998527527,\ +0.8596871509216725826263,0.3943212013691663742065,0.3333164160139858722687,\ +0.2511775353923439979553,0.5570420245639979839325,0.7276714108884334564209,\ +0.9383780122734606266022,0.1971746077761054039001,0.1607607132755219936371,\ +0.7815325502306222915649,0.1760376212187111377716,0.2801528992131352424622,\ +0.4699970218352973461151,0.3507726117968559265137,0.5713973813690245151520,\ +0.4563077641651034355164,0.9214398502372205257416,0.4339873101562261581421,\ +0.3514866163022816181183,0.1816438222303986549377,0.9070622171275317668915,\ +0.7665811367332935333252,0.9807842955924570560455,0.1198607003316283226013,\ +0.0508546582423150539398,0.2581452894955873489380,0.1401008707471191883087,\ +0.5514106499031186103821,0.7882929998449981212616,0.8028824776411056518555,\ +0.2425694861449301242828,0.7024780390784144401550,0.0922905071638524532318,\ +0.4318286012858152389526,0.0804965649731457233429,0.7126307198777794837952,\ +0.6893844078294932842255,0.2756213061511516571045,0.6968217701651155948639,\ +0.4598932703956961631775,0.6099067903123795986176,0.3065654132515192031860,\ +0.0749373403377830982208,0.9619921119883656501770,0.4158898773603141307831,\ +0.3287452235817909240723,0.7406168007291853427887,0.5725225014612078666687,\ +0.9504556744359433650970,0.1849336978048086166382,0.8698030491359531879425,\ +0.6907873982563614845276,0.9524399931542575359344,0.6490485109388828277588,\ +0.9960058168508112430573,0.2040582066401839256287,0.3800008497200906276703,\ +0.9729049820452928543091,0.9110585046000778675079,0.3810073928907513618469,\ +0.7869612383656203746796,0.5560158789157867431641,0.8529843934811651706696,\ +0.4350629774853587150574,0.5956362797878682613373,0.7071880977600812911987,\ +0.5747222309000790119171,0.4764349022880196571350,0.6098947445861995220184,\ +0.9666662178933620452881,0.3874611915089190006256,0.0715632727369666099548,\ +0.6122049516998231410980,0.9575729314237833023071,0.7723352131433784961700,\ +0.1287384750321507453918,0.3884150418452918529510,0.2353963479399681091309,\ +0.6542267077602446079254,0.3286431683227419853210,0.024017625954002141953,\ +0.1042741741985082626343,0.9314296473748981952667,0.8185661518946290016174,\ +0.8156488086096942424774,0.8688247688114643096924,0.3549220249988138675690,\ +0.3890381073579192161560,0.6415715864859521389008,0.4902750719338655471802,\ +0.3509976905770599842072,0.8516392158344388008118,0.1348936217837035655975,\ +0.1156354099512100219727,0.8810075619257986545563,0.8367286501452326774597,\ +0.5032693906687200069427,0.4486711751669645309448,0.9319602106697857379913,\ +0.7298459419980645179749,0.3388367067091166973114,0.4314213804900646209717,\ +0.7317318231798708438873,0.9655342241749167442322,0.2621376193128526210785,\ +0.2050140891224145889282,0.2826355365104973316193,0.3973353477194905281067,\ +0.7437736871652305126190,0.8185287192463874816895,0.3071001493372023105621,\ +0.9627068741247057914734,0.9475456266663968563080,0.6546552237123250961304,\ +0.1992082078941166400909,0.3616109425202012062073,0.9388273353688418865204,\ +0.0409001447260379791260,0.0758434669114649295807} + +#define ZRESULTR {-0.7576646139762764908809,-0.4912662732014974609207,-0.4935831983604013761813,\ +-0.1796001444111503253520,-0.2030603062114124668369,-0.0903746939402042676059,\ +-0.3380442117380291211504,-0.2488385719103628768156,-0.2453827611475934422636,\ +-0.0629419446509737884332,0.2743030686751847802007,-0.4189753318430110562431,\ +-0.0337034837449739430038,-0.2700068328094388236948,-0.5191589716059612502619,\ +-0.0763304013057857499991,-0.6929039668216129266298,-0.7614418400301237177530,\ +-0.7012514181881327468560,-0.4995602487864141960650,-0.3736855282655331400576,\ +-0.1670990767606896909570,-0.4148838171877601843640,-0.1470641870540525808497,\ +0.0881657571965975273010,-1.1827451998005302780115,0.1044920740886167709327,\ +-1.1145963776166571967963,0.0100332050022288142566,-0.0123498399546466911675,\ +-0.6728365416861274983518,-0.0874315516128119363248,0.1416698281269971604335,\ +-0.2712125731855208887744,-0.0063567040970050154788,0.1906009971260032298535,\ +0.0238331967155752874610,-0.0953429917974444041118,-0.0065067191893498198957,\ +0.0440644425532304637172,-0.3540655459766552382028,-0.1661126167793314234444,\ +0.0062509933701612868662,-0.1693877982336349785619,-0.0292579566847096204929,\ +0.0137816953226981269570,-0.0288761524361324552201,-0.0250652390791611112686,\ +-0.7581745137578204118967,-0.7505545612383084375097,-0.0046973071232757198853,\ +-0.3406170651999906873186,-2.0764518222153585114143,-0.8157393323281721952966,\ +-0.0852474852363154095292,0.0348077956215509243254,-0.8387202021909221372198,\ +-0.0663540586103768398329,-0.9554969196553003696337,-0.0212599130834864695483,\ +-0.0245601140031842454792,-1.6679899099681032570430,-0.4509584277017124609443,\ +0.1011698547763601602201,-0.2120439010955574854478,-0.1131958883879479044188,\ +0.0199327284817682297280,0.0781443465987670671247,-0.3004592565973881468366,\ +-0.1451799924584522560878,-0.5281452333714923286223,-0.0505933914241510074294,\ +-0.2819958038859460280889,-0.122323084811984963971,-0.2632782651610236501760,\ +-0.0540558326414990047981,0.2512879183645665981395,-0.1214932149359973512226,\ +0.0055773659320434761794,0.0673704632706614986448,-0.2906343733694730646633,\ +0.0851020319327377705587,0.0365640112295984101576,-1.0976622196833336619903,\ +-0.4020870876485082012763,-0.3719849821436939651953,-0.3158125612041708385469,\ +0.2324359424588408329360,-1.5742845766045041600023,-0.0033130260706617652329,\ +-0.1069329039454427060507,-0.1341564770393289252048,-0.0510429776001832605226,\ +-0.3847912680433241972011,-0.9153668051115183557087,-0.3798345871473772783489,\ +-0.6590618454479428844905,-0.0755413642077243097095,0.0808833545731707098669,\ +-0.417646722764209388234,-0.8522405945532404158982,0.1463133685463073596633,\ +-0.2416082657366604991012,0.0219217192558878656850,-0.8077093656959043466159,\ +-0.1128924015633438332484,-0.3996389102953575300781,-0.9892317511551623754329,\ +-0.5874413267393940873973,-0.1422192352759769073955,-0.1954743580270074387872,\ +-0.0763719684521397823573,0.1332266112260754309382,-2.2385346085566988350024,\ +-0.5112419918132667939759,-0.0541885453710462053345,0.1544990573544810508189,\ +0.1051325180789595692410,-0.9326914829433226028499,0.0764891336322670034598,\ +-0.4245421077023512346216,-0.4665013282915527192962,-0.3980722181205589849107,\ +-1.152706389176620049852,-0.0091123646200983177135,-0.8629224644504486230190,\ +-0.0671956049468366567456,-0.1483256896732535745631,-0.0470857769330114903084,\ +0.3049502630226416100001,-0.8351336293434713509143,0.1199665328310368234144,\ +0.100965515388687754328,0.1851149271955789266109,-0.4311455286578065315695,\ +0.1656739977240755667953,-0.6957805672270640506838,-0.7030137346248552798755,\ +0.2434410334133135511703,-0.0502776447144934607314,-0.6643994214275527054880,\ +-0.0494471424057717073852,-0.1105954430789197057150,0.2627700024490645658304,\ +-0.6613338575819812659162,-0.4943364682181946023753,-0.2273273919604619497381,\ +-0.0669964153308245241591,0.0270809622513717325465,-0.3423076587443550367063,\ +0.2375373770411028651051,-0.7058599113455784612725,-0.0187211007688289424178,\ +0.1570046667576522059218,0.0619494218295955287323,0.0912342621811634557627,\ +-1.0118000314587793919685,-0.9415613562651380386015,-1.04611739737066766764,\ +-0.1350076179226963601909,-1.045153664947628735504,-3.1153566294303054462489,\ +-0.0576346967934074291828,0.0825782285147220879162,0.0858710750707356584854,\ +-0.1147913938093602786994,0.0959901869720326261781,-0.8704897942843184965866,\ +-0.1312205414500346722928,-0.4084692473683823599195,-0.5825265796688483543875,\ +-0.2043543873503067542785,-0.1585071715930248537063,-0.4983971045262390875408,\ +-1.405591688480441803222,0.1581272765392360557524,-0.1721619754559372272862,\ +-0.0902428450071243726249,-0.1497365537505691013287,0.2065025609822116192671,\ +0.0613750886386554700413,-0.8564551079948240497330,-0.804653684520539647096,\ +0.1638887899169061412863,0.1619231669215081825808,-0.4135383706484943022730,\ +-0.6905772083929240245936,-0.1416337472709212619293,-0.8981660716461068449945,\ +-0.1997922350746098307805,-0.1797380100619248022298,-0.0033949848444226812805,\ +0.3022174959979692654422,0.0079098230306947625579,-0.3346557902575436060921,\ +-0.5646231542298842942529,-0.8141969637368523526888,0.2555170413707821830407,\ +-2.8347892907784113525338,-0.7063037006217763869032} + +#define ZRESULTI {0.8365523024247201178127,0.3394374381847692356828,1.355160662925530390410,\ +1.5134434006476746858993,0.9868300791435297147913,1.528673168936313331301,\ +0.8260899014265745687879,1.1783591647662248202977,0.4297253343366602140740,\ +0.1611216299891750081130,0.7663999599077054858398,1.3047144916618338417180,\ +1.2822880914611145541926,1.5649955384218765530591,1.4678689248356304730692,\ +1.3586758006659467312716,0.7108977814935093508808,0.9933651109027943348906,\ +1.2071246910756632253481,0.1405010934420483359464,1.0025763105214653414521,\ +1.21989563358396813086,0.6174353300937470701015,0.3562751652356153653223,\ +0.5587012199090121145062,1.0302380576516638743811,0.5405656721364887618009,\ +0.5986555168040823549092,1.4107360213988626718162,0.4753739371565622318094,\ +0.0655076733245526648952,0.5201329289544929235234,0.7497818580560413614933,\ +0.7050355621930805005704,1.2121540141336599738509,0.6814274485183255958276,\ +1.1306014284455374596661,0.9141116926495304051414,0.4114688990228685949724,\ +0.9956827833608694611200,1.3022000158632660582469,1.4761001233596913184698,\ +0.8573788009054216230354,1.379379585022410426021,0.0039117682490215858332,\ +1.2006025140002900553071,0.7070620318380608226860,0.0783395850399789817065,\ +1.2785255791075276210478,0.2308747034561683952880,0.9955835564035591112031,\ +0.4524376138027601523817,1.4009149235535949262754,0.0822834615192538504358,\ +0.8034667275967887212218,1.2557032585647818212493,0.1598599852603853899158,\ +0.5815258576469973794687,1.4290836436420499833133,0.1589807896730044689537,\ +0.7782863583371778526399,0.2043896563749957318024,0.9616073478994561218869,\ +0.7392289023091881405847,0.6059375681629087795343,0.5612744745893767372991,\ +0.9984170767670760282542,0.8430838000818645650014,1.29879528501095431459,\ +0.0939407915654127262384,1.3484611857054962236191,1.1960714214373144859138,\ +0.8415982269448546437829,0.9732366936364994502995,0.9167206383382787704406,\ +0.0745857498941502189416,0.7278097264573785141195,0.9199632393837048338625,\ +0.6304525502744320331061,0.9211062195464506663356,0.3555526540057888373880,\ +0.9100796877015666641597,0.3899732161636976779384,1.5260640477653748536824,\ +0.3849315818496458763143,0.9408368768631211187525,1.5061175798419510485360,\ +0.838676229611447277001,1.2591119550131308901797,0.1620018843959732390836,\ +1.0546671087981356329522,0.2026968016035011754816,0.299271305708051660321,\ +0.7622771187183752239491,1.067757629024185028754,0.9888735682758375000745,\ +1.0801593307389727449674,1.4588740911245949849473,0.4118082358815949306496,\ +0.5629599662610861310341,0.4399958138718327860239,0.9004381750108224613527,\ +1.3516535386697041687398,1.2852850170743990165789,0.2721670546404741375390,\ +0.0569631738604013462823,0.3951736758236387148102,0.3862903740059538404417,\ +1.4457867030840705346861,1.1403205655573340759901,1.3522555755333163229892,\ +0.264908300074692404369,0.6622029195378335009181,1.0464389789763977045567,\ +0.8038225849224520658254,0.0850815175089563863198,0.6568351393392068970911,\ +0.669491640154789569017,0.7760242270392859742500,0.7016907095208140265896,\ +0.7797846541592131641707,1.335473484345777617222,0.4740136251481967821775,\ +0.2395937042296285568455,1.3285359486862795552753,1.401425714315664317056,\ +0.3592738595863486095183,1.0333805631652628331807,0.6436572543635337151358,\ +0.7762911838119904706090,0.4403927201098556398762,0.8811512979588507210593,\ +0.674423430961778702653,0.9132365009577151360176,1.5238520140402758151765,\ +1.00458246450610100275,0.4215689680173497211335,0.874990498737184374534,\ +0.8674547514202983755638,1.2800682610709759323697,0.8336956783393613124034,\ +0.9734878037135866746254,0.6700663792657182149526,0.7153420705223627606983,\ +1.0026132338500262086711,1.3535381134312993722801,1.0923065980664201646277,\ +0.6618099327465949421878,0.4821732258146940175436,1.033019939116806895640,\ +0.8668307442664776596430,0.9024324853624734465996,0.0729804020494689703602,\ +0.5506621520352920073904,1.1198886719657494825952,0.7824098301910974440077,\ +0.3619529370272654977825,1.4800901440707066036850,0.7343084050589578914980,\ +0.8462379976616437593506,1.2071528313995831815930,0.5720924999360996743292,\ +0.1106864208392598775132,1.0305927183418297499173,0.8498909387724447039858,\ +1.15517062965696792887,0.9096742728488710350021,1.01141253782177353848,\ +0.4595989696224830889371,1.3064089912173471041967,1.071386424855859109684,\ +0.4451357270611538408112,1.5062412806888749727818,0.2239121309027737871666,\ +0.4910523338147070870896,0.8513221989625705532490,1.460513851259993778342,\ +0.5833202395880134893957,0.5481910770820362932554,0.8603624185522980027940,\ +0.7565250407629732221082,0.9237902776741101495972,1.3040155501467787235725,\ +0.6701717740731456540715,0.9634987985586029868301,0.4075854524817449364704,\ +0.4213313914917447000619,0.3316883655770838101873,1.3489670985956061510791,\ +1.1391029061589752480188,1.3689599297259111843061,0.3132420296422914196555,\ +0.7917886209906572769768,1.2228656637749606428400,1.1551462426298317875961,\ +0.3579601167993540777879,0.9549534865181378284760,0.8141418225805733266398,\ +0.7703675837106083168493,0.1543074266086776613616} + + + + void dlogsTest(void) { - double value = 0; - double maxValue = 1; - double increment = 1e-3; - printf(">> Double scalar\n"); - while (value <= maxValue) - { - printf("dlogs(%e) = %e\n", value, dlogs(value)); - assert(dlogs(value) == log(value)); - value += increment; - } + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dlogs(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } } void zlogsTest(void) { - doubleComplex z; - doubleComplex result; - double real_z = 0; - double imag_z = 1; - double increment = 1e-3; - int i = 0; - double imag_results[1001] = {1.570796326794896557999,1.5697953261282306947066,1.5687923214615888678480, - 1.5677873087950919828160,1.5667802841290545678987,1.5657712434640842502631, - 1.564760182801179899670,1.56374709814183332490,1.5627319854881296379290, - 1.5617148408428498385092,1.5606956602095747310699,1.559674439592788397491, - 1.5586511749979845564695,1.5576258624317718126662,1.556598497901982236513, - 1.5555690774177792778943,1.5545375969897670120901,1.553504052630100940036, - 1.5524684403525998988016,1.5514307561728579720750,1.5503909961083586210862, - 1.5493491561785892596248,1.5483052324051571613239,1.5472592208119066992111, - 1.5462111174250365852600,1.5451609182732191083431,1.5441086193877209264969, - 1.543054216802523415097,1.5419977065544454575274,1.5409390846832671240207, - 1.539878347231854016641,1.5388154902462822803955,1.53775050977596672297, - 1.5366834018737876021987,1.5356141625962203001166,1.5345427880034654410935, - 1.5334692741595803422427,1.5323936171326106858714,1.531315812994725744645, - 1.5302358578223516083483,1.529153747696308185411,1.5280694787019462044242, - 1.5269830469292851038432,1.525894448473152920087,1.5248036794333270638191, - 1.523710735914676206448,1.5226156140273030548116,1.5215183098866889022105, - 1.5204188196138388455836,1.5193171393354292231237,1.5182132651839548298511, - 1.5171071932978785756774,1.515998919821781143469,1.5148884409065135336903, - 1.5137757527093491649595,1.5126608513941386391366,1.5115437331314642843694, - 1.5104243940987973626733,1.5093028304806559436457,1.5081790384687634443139, - 1.5070530142622096114735,1.5059247540676112819824,1.5047942540992766957686, - 1.503661510579368476570,1.5025265197380690551654,1.5013892778137485351, - 1.5002497810531314481608,1.4991080257114668405904,1.4979640080526985812526, - 1.4968177243496376682685,1.4956691708841345356262,1.4945183439472546904625, - 1.4933652398394536842119,1.4922098548707547482906,1.49105218536092731796, - 1.489892227639666000272,1.4887299780467728727018,1.4875654329323388935791, - 1.486398588656928421159,1.4852294415917637326885,1.4840579881189115418749, - 1.4828842246314710706656,1.4817081475337632312517,1.4805297532415202521605, - 1.4793490381820781909283,1.4781659987945705569956,1.4769806315301210464241, - 1.4757929328520416056847,1.474602899236027608865,1.4734105271703576978126, - 1.4722158131560936222826,1.4710187537072805241678,1.4698193453511505524034, - 1.4686175846283266999137,1.467413468093027972827,1.466206992313275891959, - 1.4649981538711029926958,1.4637869493627619910114,1.4625733753989369478887, - 1.4613574286049553219158,1.4601391056210009100624,1.4589184031023301191254, - 1.4576953177194871269506,1.456469846158521930235,1.4552419851212090584625, - 1.4540117313252691744196,1.452779081504589342444,1.4515440324094470714300, - 1.4503065808067345798804,1.44906672348018505936,1.4478244572305993820294, - 1.4465797788760752506931,1.4453326852522365708609,1.4440831732124654873672, - 1.442831239628135309161,1.4415768813888432120507,1.4403200954026473823433, - 1.4390608785963028282140,1.4377992279155000776569,1.4365351403251040984799, - 1.4352686128093958828345,1.4339996423723140317463,1.4327282260376990041806, - 1.4314543608495373661071,1.4301780438722087041015,1.4288992721907327609898, - 1.4276180429110183478514,1.42633435316011403238,1.425048200086459271319, - 1.4237595808601379854252,1.4224684926731319123405,1.4211749327395766240301, - 1.4198788982960188764793,1.4185803866016732932565,1.417279394938683934058, - 1.4159759206123831987156,1.4146699609515545059679,1.41336151330869608245, - 1.412050575060284973716,1.410737143607043275750,1.4094212163742050325510, - 1.4081027908117846880742,1.406781864394846870425,1.4054584346237766201426, - 1.404132499024553171196,1.4028040551490210674501,1.4014731005751663861503, - 1.4001396329073920732355,1.3988036497767948329596,1.3974651488414431277363, - 1.3961241277866569543420,1.3947805843252880642069,1.393434516198001738019, - 1.392085921173560114639,1.3907347970491055200171,1.389381141650446238600, - 1.3880249528323420626919,1.3866662284787927283958,1.3853049665033256854230, - 1.3839411648492856432568,1.3825748214901258936749,1.3812059344296994112256, - 1.3798345017025526182408,1.3784605213742178175806,1.3770839915415098442253, - 1.3757049103328202743768,1.3743232759084158534080,1.3729390864607358135885, - 1.3715523402146905240784,1.3701630354279619172786,1.3687711703913041372260, - 1.3673767434288452982116,1.3659797528983903536215,1.3645801971917246309118, - 1.3631780747349182547623,1.3617733839886319024970,1.3603661234484230035946, - 1.3589562916450523832879,1.3575438871447929046,1.3561289085497376661, - 1.354711354498110198463,1.3532912236645742165564,1.3518685147605449259345, - 1.3504432265345009955837,1.349015357772297418748,1.3475849072974774855993, - 1.3461518739715887527097,1.3447162566944956818560,1.3432780544046969417593, - 1.3418372660796391571,1.3403938907360350984987,1.338947927430179873909, - 1.3374993752582693407049,1.3360482333567174073607,1.3345945009024753336035, - 1.3331381771133508085114,1.3316792612483276947444,1.3302177526078862168646, - 1.328753650534323593746,1.3272869544120742268944,1.3258176636680325533035, - 1.3243457777718732337746,1.3228712962363746719063,1.3213942186177398685487, - 1.3199145445159203848817,1.3184322735749383070925,1.3169474054832097653644, - 1.3154599399738684528671,1.3139698768250889227005,1.3124772158604098848400, - 1.3109819569490586133043,1.3094841000062746872,1.3079836449936335096567, - 1.3064805919193711591930,1.3049749408387070204185,1.303466691854169301479, - 1.3019558451159176648559,1.3004424008220680786252,1.2989263592190158913553, - 1.2974077206017595731424,1.295886485314224012555,1.2943626537495847017567, - 1.2928362263505888130055,1.2913072036098802719550,1.2897755860703199459749, - 1.288241374325309163140,1.2867045690191112328193,1.2851651708471720780835, - 1.2836231805564422003840,1.2820785989456959796939,1.2805314268658525289624, - 1.278981665220294328122,1.2774293149651869683225,1.2758743771097962316219, - 1.2743168527168069470434,1.2727567429026385159574,1.2711940488377622138216, - 1.2696287717470162714761,1.2680609129099198462143,1.2664904736609883251219, - 1.2649174553900444095689,1.263341859542532086,1.2617636876198263795601, - 1.2601829411795437696497,1.2585996218358515008617,1.257013731259776001536, - 1.2554252711795088615077,1.2538342433807134757018,1.2522406497068294672914, - 1.2506444920593762226702,1.2490457723982544280261,1.24744449274204782796, - 1.2458406551683223195681,1.2442342618139237142572,1.242625314875275499560, - 1.2410138166086728261917,1.2393997693305771612415,1.2377831754179078327383, - 1.2361640373083335742166,1.2345423575005600724808,1.2329181385546181815016, - 1.2312913830921494717785,1.2296620937966895592552,1.2280302734139503240129, - 1.2263959247520994644276,1.2247590506820398292831,1.2231196541376838649029, - 1.2214777381162298386386,1.2198333056784325112432,1.2181863599488738092447, - 1.2165369041162303886949,1.214884941433540310740,1.213230475218465720388, - 1.2115735088535537489207,1.2099140457864971942570,1.20825208953038898407, - 1.2065876436639777491422,1.204920711831919399870,1.2032512977450251501210, - 1.2015794051805095410401,1.1999050379822342460301,1.19822820006094832301, - 1.1965488953945284666958,1.1948671280282132656225,1.1931829020748381253725, - 1.1914962217150639745000,1.18980709119760530434,1.1881155148394548781710, - 1.186421497026104665551,1.1847250422117647783438,1.18302615491957752170, - 1.1813248397418318891283,1.1796211013401700640202,1.1779149444457950313137, - 1.176206373859671527882,1.1744953944527267708509,1.1727820111660447466306, - 1.17106622901105983381,1.1693480530697442087984,1.1676274884947945853497, - 1.1659045405098131809041,1.1641792144094857963665,1.162451515559756565210, - 1.1607214493979982616878,1.1589890214331801665537,1.1572542372460294934911, - 1.1555171024891925934952,1.1537776228873888317850,1.1520358042375624663123, - 1.1502916524090305294692,1.148545173343624492546,1.146796373055831930188, - 1.1450452576329288589818,1.1432918332351125201285,1.1415361060956270566891, - 1.1397780825208860822073,1.1380177688905903643501,1.1362551716578412897007, - 1.1344902973492503317487,1.1327231525650432,1.1309537439791603752326, - 1.1291820783393522464877,1.1274081624672693813238,1.1256320032585505064304, - 1.1238536076829019894063,1.1220729827841755543716,1.1202901356804402244194, - 1.1185050735640489349976,1.1167178037017011504872,1.1149283334344997076215, - 1.1131366701780036621017,1.1113428214222749179640,1.109546794731919971966, - 1.1077485977461289934354,1.1059482381787049121158,1.104145723818092728052, - 1.102341062527399495607,1.1005342622444107547608,1.0987253309816022994738, - 1.0969142768261448406264,1.095101107939904450106,1.093285832559437675826, - 1.0914684589959806615411,1.089648995635432715545,1.0878274509383352164349, - 1.0860038334398436354888,1.0841781517496953402002,1.0823504145521702923816, - 1.0805206306060477494668,1.07868880874455563834,1.0768549578753152662358, - 1.0750190869802800364141,1.0731812051156675025254,1.0713413214118872041070, - 1.0694994450734611746157,1.067655585378939564478,1.0658097516808091587137, - 1.0639619534053976757093,1.0621122000527702944339,1.0602605011966212966712, - 1.0584068664841590479142,1.056551305635985427145,1.0546938284459690393646, - 1.0528344447811124329206,1.05097316458141221140,1.0491099978597144826153, - 1.0472449547015627580038,1.0453780452650414112270,1.0435092797806102549174, - 1.0416386685509357867829,1.0397662219507142200570,1.037891950426488962833, - 1.0360158644964616581063,1.0341379747502967845207,1.0322582918489204839574, - 1.0303768265243125057395,1.02849358957929193359,1.0266085918872964732884, - 1.0247218443921561892296,1.0228333581078588032653,1.0209431441183116628935, - 1.0190512135770939395,1.0171575777072057178430,1.015262247800807537956, - 1.0133652352189561618445,1.0114665513913321248651,1.0095662078159624019946, - 1.0076642160589341923327,1.0057605877541055949820,1.0038553346028069590545, - 1.001948468373537570741,1.0000400009016550129104,0.9981299440890585294994, - 0.9962183099038656175495,0.9943051103800828460777,0.9923903576172693474788, - 0.9904740637801946467889,0.9885562410984901626776,0.9866369018662933809694, - 0.9847160584418865880707,0.9827937232473290540824,0.9808699087680825545732, - 0.9789446275526308971493,0.9770178922120928977080,0.9750897154198289173976, - 0.9731601099110416264182,0.9712290884823702175055,0.9692966639914780691001, - 0.9673628493566341912668,0.9654276575562896756111,0.9634911016286458185220, - 0.9615531946712180255687,0.9596139498403923884240,0.9576733803509768216955, - 0.955731499475745649441,0.9537883205449780854579,0.9518438569459916065441, - 0.9498981221226678872682,0.9479511295749735166893,0.9460028928584756080511, - 0.9440534255838497479374,0.9421027414163830604465,0.9401508540754719422949, - 0.9381977773341128035156,0.9362435250183880341979,0.9342881110069455319334, - 0.9323315492304732332585,0.9303738536711673168256,0.9284150383621952995483, - 0.9264551173871538036764,0.9244941048795195515098,0.9225320150220966963772, - 0.9205688620464572702318,0.9186046602323768572873,0.9166394239072653826739, - 0.9146731674455913507771,0.9127059052683024198416,0.9107376518422396483032, - 0.9087684216795471892070,0.9067982293370766555540,0.9048270894157867116903, - 0.9028550165601375576685,0.9008820254574807506742,0.8989081308374433643138, - 0.8969333474713091503006,0.8949576901713925947135,0.8929811737904106427877, - 0.8910038132208482064556,0.8890256233943200081526,0.8870466192809270955522, - 0.8850668158886103586980,0.8830862282624984960222,0.8811048714842520945822, - 0.879122760671403380428,0.8771399109766925272780,0.87515633758739885817, - 0.8731720557246687164366,0.8711870806428393398946,0.8692014276287590712755, - 0.8672151120011029057366,0.8652281491096855958745,0.8632405543347704268697, - 0.8612523430863743278962,0.8592635308035696528606,0.8572741329537831855845, - 0.8552841650320908151173,0.8532936425605093244684,0.8513025810872857368494, - 0.8493109961861823320461,0.8473189034557596643893,0.8453263185186561390339, - 0.8433332570208652567700,0.8413397346310093061206,0.8393457670396108349919, - 0.8373513699583621239242,0.8353565591193911066270,0.8333613502745249590475, - 0.8313657591945528002597,0.8293698016684838414392,0.8273734935028056458606, - 0.8253768505207383920919,0.823379888561488582077,0.8213826234794999736621, - 0.8193850711437031808515,0.8173872474367634977099,0.8153891682543262797722, - 0.8133908495042622144311,0.8113923071059100378122,0.8093935569893182524481, - 0.8073946150944851796183,0.8053954973705989006660,0.8033962197752745337809, - 0.8013967982737918438474,0.7993972488383314090044,0.7973975874472095659584, - 0.7953978300841135773425,0.7933979927373349116948,0.7913980913990035226391, - 0.7893981420643197965958,0.7873981607307880548063,0.7853981633974482789995, - 0.7833981660641086142149,0.7813981847305768724254,0.7793982353958931463822, - 0.7773983340575616463042,0.7753984967107830916788,0.7733987393476869920406, - 0.7713990779565652600169,0.7693995285211047141516,0.7674001070196221352404, - 0.7654008294242977683552,0.7634017117004113783807,0.7614027698055784165732, - 0.7594040196889865201868,0.7574054772906344545902,0.7554071585405703892491, - 0.7534090793581331713114,0.7514112556511933771475,0.7494137033153966953591, - 0.7474164382334080869441,0.7454194762741582769294,0.7434228332920909121384, - 0.7414265251264127165598,0.7394305676003437577393,0.7374349765203715989514, - 0.7354397676755054513720,0.7334449568365344340748,0.7314505597552857230070, - 0.7294565921638872518784,0.7274630697740313012289,0.7254700082762404189651, - 0.7234774233391368936097,0.7214853306087142259528,0.719493745707610821150, - 0.7175026842343872335306,0.7155121617628057428817,0.7135221938411133724145, - 0.7115327959913269051384,0.7095439837085222301027,0.7075557724601261311292, - 0.7055681776852109621245,0.7035812147937936522624,0.7015948991661374867235, - 0.6996092461520572181044,0.697624271070227841562,0.6956399892074978108525, - 0.6936564158182040307210,0.6916735661234931775709,0.6896914553106445744390, - 0.6877100985323980619768,0.6857295109062861993010,0.6837497075139695734691, - 0.6817707034005766608686,0.6797925135740482405211,0.6778151530044858041890, - 0.6758386366235039632855,0.6738629793235874076984,0.6718881959574530826629, - 0.6699143013374158073248,0.6679413102347588893082,0.6659692373791098463087, - 0.6639980974578199024450,0.6620279051153493687920,0.6600586749526569096957, - 0.6580904215265941381574,0.6561231593493052072219,0.6541569028876311753251, - 0.6521916665625195896894,0.6502274647484392877672,0.6482643117727997505995, - 0.6463022219153768954669,0.6443412094077427543226,0.6423812884327011474284, - 0.6404224731237292411734,0.6384647775644233247405,0.6365082157879510260656, - 0.6345528017765085238011,0.6325985494607837544834,0.6306454727194247267263, - 0.6286935853785136085747,0.6267429012110469210839,0.6247934339364209499479, - 0.6228451972199230413096,0.6208982046722287817531,0.6189524698489049514549, - 0.6170080062499184725411,0.6150648273191509085578,0.6131229464439197363035, - 0.6111823769545041695750,0.6092431321236785324302,0.6073052251662507394769, - 0.6053686692386068823879,0.6034334774382623667321,0.60149966280341848890, - 0.5995672383125262294712,0.5976362168838549315808,0.5957066113750676406013, - 0.5937784345828036602910,0.5918516992422656608497,0.5899264180268140034258, - 0.5880026035475675039166,0.5860802683530099699283,0.5841594249286031770296, - 0.5822400856964063953214,0.5803222630147019112101,0.5784059691776272105201, - 0.5764912164148137119213,0.5745780168910309404495,0.5726663827058381395219, - 0.57075632589324154509,0.5688478584213590982799,0.5669409921920897099668, - 0.5650357390407910740393,0.5631321107359624766886,0.5612301189789342670267, - 0.5593297754035644331339,0.5574310915759405071768,0.5555340789940891310650, - 0.5536387490876909511783,0.5517451132178026185215,0.5498531826765850061278, - 0.5479629686870377547336,0.5460744824027404797917,0.5441877349076000847106, - 0.5423027372156047354324,0.5404195002705841632817,0.5385380349459761850639, - 0.5366583520445998845005,0.5347804622984350109149,0.5329043763684075951659, - 0.5310301048441823379420,0.5291576582439608822384,0.5272870470142864141039, - 0.5254182815298552577943,0.5235513720933337999952,0.5216863289351821864059, - 0.5198231622134843465943,0.5179618820137841250784,0.5161024983489275186344, - 0.5142450211589112418764,0.5123894603107377321294,0.5105358255982753723501, - 0.5086841267421262635651,0.5068343733894988822897,0.5049865751140873992853, - 0.5031407414159571045431,0.5012968817214354944056,0.4994550053830094649143, - 0.4976151216792291109847,0.4957772398146165215849,0.4939413689195811807409, - 0.4921075180503408641464,0.4902756961888487530210,0.4884459122427262101063, - 0.4866181750452012177988,0.4847924933550528669990,0.4829688758565612860529, - 0.4811473311594637869426,0.4793278677989158409467,0.4775104942354588266618, - 0.475695218854992052382,0.4738820499687516618614,0.4720709958132941475029, - 0.4702620645504857477270,0.4684552642674971179026,0.4666506029768038299466, - 0.4648480886161916458832,0.4630477290487676756,0.4612495320629764750109, - 0.4594535053726217510572,0.4576596566168927848750,0.4558679933603967393552, - 0.4540785230931954630229,0.4522912532308477895349,0.4505061911144565001131, - 0.4487233440107211146497,0.4469427191119946796150,0.4451643235363461070797, - 0.4433881643276271766752,0.4416142484555444780447,0.4398425828157361272552, - 0.4380731742298533126778,0.4363060294456462817614,0.4345411551370553238094, - 0.4327785579043062491600,0.4310182442740104757917,0.4292602206992695013099, - 0.4275044935597840933816,0.4257510691619678100395,0.4239999537390647388335, - 0.4222511534512720099421,0.4205046743858661395521,0.4187605225573339806644, - 0.4170187039075077262140,0.4152792243057039089926,0.413542089548867008997, - 0.4118073053617164469564,0.4100748773968981852889,0.4083448112351400483000, - 0.4066171123854107616324,0.4048917862850833770949,0.4031688383001019726493, - 0.4014482737251524047117,0.3997300977838368352124,0.3980143156288518113683, - 0.3963009323421698981704,0.3945899529352250856284,0.392881382349101637708, - 0.3911752254547264384676,0.3894714870530646688707,0.3877701718753189807920, - 0.3860712845831319461887,0.3843748297687918369370,0.3826808119554416798280, - 0.3809892355972912536544,0.3793001050798326390101,0.3776134247200584326265, - 0.3759291987666832368653,0.3742474314003681468144,0.3725681267339481794743, - 0.3708912888126623674800,0.3692169216143869614477,0.3675450290498715189003, - 0.3658756149629772691512,0.3642086831309186978345,0.3625442372645075739257, - 0.3608822810083993637420,0.3592228179413426980560,0.3575658515764308931217, - 0.3559113853613561362366,0.3542594226786661137929,0.3526099668460228042655, - 0.3509630211164639912447,0.3493185886786666638493,0.3476766726572126375849, - 0.3460372761128568397382,0.3444004020427970935714,0.3427660533809463450083, - 0.3411342329982069987437,0.3395049437027470862205,0.3378781882402784320085, - 0.3362539692943366520517,0.3346322894865630948047,0.3330131513769887252607, - 0.3313965574643195077797,0.3297825101862238428296,0.328171011919621113950, - 0.3265620649809728437418,0.3249556716265743494532,0.3233518340528487855501, - 0.3217505543966421854840,0.3201518347355203908400,0.3185556770880670907076, - 0.3169620834141831378084,0.3153710556153878075136,0.3137825955351206674848, - 0.312196704959045057137,0.3106133856153528993715,0.3090326391750702339500, - 0.3074544672523644162077,0.3058788714048521484301,0.3043058531339083438993, - 0.3027354138849767117847,0.3011675550478803420340,0.2996022779571342886662, - 0.2980395838922579865304,0.2964794740780896109555,0.2949219496851002708659, - 0.2933670118297096451876,0.2918146615746022853877,0.2902648999290441400589, - 0.2887177278492006338162,0.2871731462384544131261,0.2856311559477244799155, - 0.2840917577757854362019,0.2825549524695874503699,0.2810207407245767230464, - 0.2794891231850163970662,0.2779601004443076894823,0.2764336730453119672646, - 0.2749098414806724899329,0.2733886061931370958789,0.2718699675758806666437, - 0.2703539259728284238626,0.2688404816789788376319,0.2673296349407273675425, - 0.2658213859561895930916,0.2643157348755255653394,0.2628126818012631038535, - 0.2613122267886220373434,0.2598143698458381112282,0.258319110934486839692, - 0.2568264499698077463208,0.2553363868210280496207,0.2538489213116867371234, - 0.2523640532199582509065,0.2508817822789761176061,0.2494021081771566061835, - 0.247925030558521886093,0.2464505490230232687132,0.2449786631268641157178, - 0.2435093723828223866157,0.2420426762605731030309,0.2405785741870103133788, - 0.2391170655465688632546,0.2376581496815458327543,0.2362018258924213076622, - 0.2347480934381791783938,0.2332969515366271895385,0.2318483993647166008234, - 0.2304024360588615150114,0.2289590607152574286420,0.2275182723901996439952, - 0.2260800701004007651207,0.2246444528233079163115,0.2232114194974190723997, - 0.2217809690225992780288,0.2203531002603955069041,0.2189278120343516598201, - 0.2175051031303223969537,0.2160849722967863872913,0.2146674182451589196763, - 0.2132524396501037644569,0.2118400351498442302223,0.2104302033464735821600, - 0.2090229428062645999908,0.2076182520599783032367,0.2062161296031719548427, - 0.2048165738965061488663,0.2034195833660511765206,0.2020251564035923375062, - 0.2006332913669345296981,0.1992439865802059506539,0.1978572403341606888993, - 0.1964730508864806213243,0.1950914164620763113778,0.193712335253386824796, - 0.1923358054206787126628,0.1909618250923439952693,0.1895903923651970912623, - 0.1882215053047707475908,0.1868551619456109424977,0.1854913602915709003316, - 0.1841300983161037740921,0.1827713739625544397960,0.181415185144450374910, - 0.1800615297457910102263,0.1787104056213364711159,0.177361810596894875491, - 0.1760157424696086603255,0.1746721990082396869237,0.1733311779534534302627, - 0.1719926770181017250394,0.1706566938875044570079,0.1693232262197302273599, - 0.167992271645875629327,0.1666638277703435255805,0.1653378921711199101008, - 0.1640144624000498263516,0.1626935359831118421692,0.1613751104206914421813, - 0.1600591831878531989819,0.1587457517346115565271,0.1574348134862005310630, - 0.1561263658433421352978,0.154820406182513470306,0.1535169318562126239414, - 0.1522159401932232092314,0.1509174284988777925420,0.1496213940553199062133, - 0.1483278341217647011696,0.1470367459347586003293,0.1457481267084373144360, - 0.1444619736347826643996,0.1431782838838783211699,0.1418970546041639080315, - 0.14061828292268785390,0.1393419659453591641363,0.1380681007571975815740, - 0.1367966844225825262527,0.1355277139855007029201,0.1342611864697924317635, - 0.1329970988793964803421,0.1317354481985936742738,0.1304762313922492034113, - 0.1292194454060534014594,0.1279650871667613598603,0.1267131535824309873650, - 0.1254636415426600704048,0.1242165479188213905726,0.1229718695642971343363, - 0.1217296033147114708850,0.1204897459881619503630,0.1192522943854495420801, - 0.11801724529030725719,0.1167845954696273835793,0.1155543416736874440254, - 0.1143264806363747249085,0.1131010090754094032928,0.1118779236925663556068, - 0.1106572211738956201810,0.1094388981899413609833,0.1082229513959596378658, - 0.1070093774321346363765,0.1057981729237936763255,0.1045893344816207215509, - 0.1033828587018685990495,0.1021787421665698025741,0.1009769814437460333512, - 0.0997775730876161448535,0.0985805136388030051053,0.0973857996245388046752, - 0.0961934275588689907677,0.0950033939428549939477,0.0938156952647754421859, - 0.0926303280003260703923,0.0914472886128183115595,0.0902665735533764307386, - 0.0890881792611334238918,0.0879121021634254734556,0.0867383386759850993908, - 0.0855668852031329085772,0.0843977381379681090845,0.0832308938625576089088, - 0.0820663487481237130527,0.0809040991552305716050,0.0797441414339693233071, - 0.0785864719241417958306,0.0774310869554429292982,0.0762779828476419508032, - 0.0751271559107620501283,0.0739786024452589452416,0.0728323187421979212353, - 0.0716883010834297451641,0.0705465457417651653493,0.0694070489811480784148, - 0.0682698070568275028336,0.0671348162155281785735,0.0660020726956198205970, - 0.0648715727272852482610,0.0637433125326870575478,0.0626172883261330720517, - 0.0614934963142405657810,0.0603719326960991398145,0.0592525936634323291408, - 0.0581354754007579882513,0.0570205740855473999784,0.0559078858883830936977, - 0.0547974069731154561635,0.0536891334970180447717,0.0525830616109416934534, - 0.0514791874594673765086,0.0503775071810577956821,0.0492780169082077945664, - 0.0481807127675935101263,0.0470855908802202821617,0.0459926473615694317298, - 0.0449018783217436864841,0.0438132798656115721170,0.0427268480929504368415, - 0.0416425790985884072826,0.0405604689725450398563,0.0394805138001709035600, - 0.0384027096622858721275,0.0373270526353163198396,0.0362535387914310822111, - 0.0351821641986762925769,0.0341129249211090529448,0.0330458170189299321740, - 0.0319808365486143192369,0.0309179795630426246245,0.0298572421116293819365, - 0.0287986202404511282271,0.0277421099923732678016,0.0266877074071757182383, - 0.0256354085216774600642,0.0245852093698600351890,0.0235371059829898345017, - 0.0224910943897393758584,0.0214471706163074336826,0.0204053306865380652824, - 0.0193655706220386310268,0.0183278864422966349113,0.0172922741647955485744, - 0.0162587298051295667256,0.0152272493771172801047,0.0141978288929142971997, - 0.0131704643631248077829,0.0121451517969121264295,0.0111218872021081639778, - 0.0101006665853218859097,0.0090814859520467264287,0.0080643413067669911937, - 0.0070492286530632391681,0.0060361439937166513903,0.0050250833308123901352, - 0.0040160426658419658141,0.0030090179998046046733,0.0020040053333076268335, - 0.0010010006666658444272,0}; - double real_results[1001] = {0,-0.0009999993323325344352,-0.0019999946506410685304,-0.0029999819188056050384, - -0.0039999570765141554199,-0.0049999160391667610628,-0.0059998546977795283799, - -0.0069997689188886916614,-0.0079996545444547054182,-0.0089995073917663610114, - -0.0099993232533449744048,-0.0109990978968485808576,-0.0119988270649762310965, - -0.0129985064753723074393,-0.0139981318205309405306,-0.0149976987677004763855, - -0.0159972029587880440471,-0.0169966400102642030412,-0.0179960055130676879753, - -0.0189952950325102572215,-0.0199945041081816508866,-0.0209936282538546632737, - -0.0219926629573903437143,-0.0229916036806433361772,-0.0239904458593673472477, - -0.0249891849031207528842,-0.0259878161951723994638,-0.0269863350924075123816, - -0.0279847369252338336321,-0.0289830169974878808226,-0.0299811705863414490469, - -0.0309791929422082584766,-0.0319770792886508309349,-0.0329748248222875919855, - -0.0339724247127001638402,-0.0349698741023408907203,-0.0359671681064406417727, - -0.0369643018129167874597,-0.0379612702822815228920,-0.0389580685475503715742, - -0.0399546916141510013998,-0.0409511344598323528965,-0.0419473920345739825777, - -0.0429434592604957879325,-0.0439393310317679960941,-0.0449350022145214716973, - -0.0459304676467583994359,-0.0469257221382632649931,-0.0479207604705141898549, - -0.0489155773965946408244,-0.0499101676411055142357,-0.0509045259000775809910, - -0.0518986468408843271138,-0.0528925251021552522701,-0.0538861552936894389054, - -0.0548795319963697458832,-0.0558726497620772311059,-0.0568655031136061916985, - -0.0578580865445795233803,-0.0588503945193646765821,-0.0598424214729899386911, - -0.0608341618110613754911,-0.0618256099096801195469,-0.0628167601153602622732, - -0.0638076067449473011139,-0.0647981440855368573395,-0.0657883663943947261110, - -0.0667782678988761563277,-0.0677678427963468860140,-0.0687570852541043719963, - -0.0697459894092994497905,-0.0707345493688587984016,-0.0717227592094079741125, - -0.0727106129771950271401,-0.0736981046880148954470,-0.0746852283271343259097, - -0.0756719778492175032536,-0.0766583471782524977778,-0.0776443302074781432909, - -0.0786299207993119420035,-0.0796151127852784273875,-0.0805998999659385123584, - -0.0815842761108193093023,-0.0825682349583450603259,-0.0835517702157685115960, - -0.0845348755591033423906,-0.0855175446330572741616,-0.0864997710509660538980, - -0.0874815483947282285238,-0.0884628702147409184953,-0.0894437300298361742668, - -0.0904241213272185678784,-0.0914040375624034368007,-0.0923834721591561269793, - -0.0933624185094322073253,-0.0943408699733185307501,-0.0953188198789752805240, - -0.0962962615225792101237,-0.0972731881682673965583,-0.0982495930480825896414, - -0.0992254693619191163734,-0.1002008102774699649373,-0.1011756089301752148391, - -0.1021498584231709527703,-0.1031235518272398815620,-0.1040966821807625952712, - -0.1050692424896702420467,-0.1060412257273982139516,-0.1070126248348409747635, - -0.1079834327203081506541,-0.1089536422594816894582,-0.109923246295374366088, - -0.1108922376382893704161,-0.1118606090657812413003,-0.1128283533226181051257, - -0.113795463120744871910,-0.1147619311392482910339,-0.1157277500243226869836, - -0.1166929123892375685934,-0.1176574108143061819787,-0.1186212378468556871702, - -0.1195843860011985976266,-0.1205468477586056630368,-0.1215086155672801399019, - -0.1224696818423335609172,-0.1234300389657628921336,-0.1243896792864292444314, - -0.125348595120037958894,-0.1263067787491203852746,-0.1272642224230169927246, - -0.1282209183578622291311,-0.1291768587365708098602,-0.1301320357088255330602, - -0.1310864413910670933650,-0.1320400678664849225541,-0.1329929071850103339258, - -0.1339449513633106658705,-0.1348961923847856736458,-0.1358466221995653921972, - -0.1367962327245096365580,-0.1377450158432094728944,-0.1386929634059902716192, - -0.1396400672299166756396,-0.1405863190987991229175,-0.1415317107632027282538, - -0.1424762339404573863177,-0.1434198803146701228783,-0.1443626415367393056588, - -0.1453045092243705760371,-0.1462454749620949734368,-0.147185530301288808319, - -0.1481246667601954503102,-0.1490628758239495033067,-0.1500001489446024516283, - -0.1509364775411507486602,-0.1518718529995656818521,-0.1528062666728255969417, - -0.1537397098809499262906,-0.1546721739110356319546,-0.1556036500172954251120, - -0.156534129421098427981,-0.1574636033110130006740,-0.1583920628428514831842, - -0.1593194991397176574210,-0.1602459032920559023339,-0.1611712663577029303053, - -0.1620955793619418550122,-0.1630188332975583409556,-0.1639410191248991677249, - -0.1648621277719333200196,-0.1657821501343151315844,-0.1667010770754499549007, - -0.1676188994265625231694,-0.1685356079867670331396,-0.1694511935231405586055, - -0.1703656467707982125059,-0.171278958432971389891,-0.1721911191810877872488, - -0.1731021196548547247396,-0.1740119504623447999059,-0.1749206021800837063118, - -0.1758280653531410497870,-0.1767343304952238292049,-0.177639388088772331997, - -0.1785432285850588052245,-0.1794458424042886524052,-0.1803472199357046557022, - -0.1812473515376937516219,-0.1821462275378961381822,-0.1830438382333181290829, - -0.1839401738904466454549,-0.1848352247453673713462,-0.1857289810038852129193, - -0.1866214328416482270967,-0.1875125704042734098298,-0.1884023838074763423922, - -0.1892908631372031691420,-0.1901779984497658226861,-0.1910637797719798580687, - -0.1919481971013056731401,-0.1928312404059922824384,-0.1937128996252243384735, - -0.1945931646692721228575,-0.1954720254196445905492,-0.1963494717292453839441, - -0.1972254934225319278340,-0.1981000802956779660580,-0.1989732221167385128879, - -0.1998449086258186346843,-0.2007151295352448960863,-0.2015838745297403866719, - -0.2024511332666024121529,-0.2033168953758839603285,-0.2041811504605777483068, - -0.2050438880968042665298,-0.2059050978340024595781,-0.2067647691951235711105, - -0.2076228916768294574524,-0.2084794547496921779395,-0.2093344478583989698439, - -0.2101878604219592494573,-0.2110396818339151936428,-0.2118899014625563459457, - -0.2127385086511363598838,-0.2135854927180947104848,-0.2144308429572800989149, - -0.2152745486381790196440,-0.21611659900614607621,-0.2169569832826390154423, - -0.2177956906654569813053,-0.2186327103289810724895,-0.2194680314244206731367, - -0.2203016430800609215535,-0.2211335344015150361496,-0.2219636944719801385784, - -0.2227921123524960189677,-0.2236187770822075093768,-0.2244436776786312426335, - -0.2252668031379252977509,-0.2260881424351621205027,-0.2269076845246055518235, - -0.2277254183399917419894,-0.2285413327948128126010,-0.2293554167826048761913, - -0.2301676591772392199697,-0.2309780488332174308574,-0.2317865745859697401698, - -0.2325932252521577814353,-0.2333979896299799849935,-0.2342008564994816632865, - -0.2350018146228677884402,-0.2358008527448203772714,-0.2365979595928186240972, - -0.2373931238774636687250,-0.2381863342928060289783,-0.238977579516677862692, - -0.2397668482110275611774,-0.2405541290222596717552,-0.2413394105815767909373, - -0.2421226815053265368771,-0.2429039303953514361556,-0.2436831458393429183928, - -0.2444603164111986137730,-0.2452354306713840081944,-0.2460084771672969849998, - -0.2467794444336363635095,-0.2475483209927745731349,-0.2483150953551338524505, - -0.2490797560195654181125,-0.2498422914737329081358,-0.2506026901945000440186, - -0.2513609406483210406691,-0.2521170312916345412901,-0.2528709505712631866459, - -0.2536226869248135451507,-0.2543722287810830096078,-0.2551195645604683037710, - -0.2558646826753780412211,-0.2566075715306496141110,-0.2573482195239686354249, - -0.2580866150462929886622,-0.2588227464822797641020,-0.2595566022107160808474, - -0.2602881706049538501624,-0.2610174400333471478319,-0.2617443988596940829261, - -0.2624690354436819417216,-0.2631913381413353292260,-0.2639112953054690291488, - -0.2646288952861429177865,-0.2653441264311212632876,-0.2660569770863354666091, - -0.2667674355963499110977,-0.2674754903048314202962,-0.2681811295550222129513, - -0.2688843416902159666471,-0.2695851150542377117070,-0.2702834379919266671877, - -0.2709792988496222965189,-0.2716726859756544709690,-0.2723635877208361311119, - -0.2730519924389590569191,-0.2737378884872943562989,-0.2744212642270936752809, - -0.2751021080240962368713,-0.2757804082490372676872,-0.2764561532781600328157, - -0.2771293314937315344082,-0.2777999312845602641886,-0.2784679410465177862299, - -0.2791333491830636504005,-0.2797961441057716935887,-0.280456314234861503465, - -0.2811138479997306038882,-0.2817687338394916918283,-0.2824209602035108179763, - -0.2830705155519494531369,-0.2837173883563096077332,-0.2843615670999805611352, - -0.2850030402787890326799,-0.2856417964015524058041,-0.2862778239906340060905, - -0.2869111115825012103819,-0.2875416477282854987862,-0.2881694209943464479728, - -0.2887944199628365016252,-0.2894166332322696821855,-0.2900360494180919679330, - -0.2906526571532537239761,-0.2912664450887852973793,-0.2918774018943741666021, - -0.292485516258944477919,-0.2930907768912393018823,-0.2936931725204039445032, - -0.2942926918965726446054,-0.2948893237914559928292,-0.2954830569989316813029, - -0.2960738803356355863805,-0.2966617826415566816500,-0.2972467527806319509409, - -0.2978287796413440213783,-0.2984078521373209613721,-0.2989839592079361341170, - -0.2995570898189119923849,-0.3001272329629230961601,-0.3006943776602022944111, - -0.3012585129591476285071,-0.3018196279369308454577,-0.3023777117001072989311, - -0.3029327533852268494741,-0.3034847421594464300654,-0.3040336672211434443369, - -0.3045795178005303860402,-0.3051222831602706242471,-0.3056619525960945771281, - -0.3061985154374181061776,-0.3067319610479605218600,-0.3072622788263634219241, - -0.3077894582068115281182,-0.3083134886596528012603,-0.308834359692019888577, - -0.3093520608484515710401,-0.3098665817115158205297,-0.3103779119024316357489, - -0.3108860410816928765421,-0.3113909589496909324779,-0.3118926552473386126785, - -0.3123911197566937580916,-0.3128863423015830758089,-0.3133783127482255848051, - -0.3138670210058566167888,-0.3143524570273512619423,-0.3148346108098476481274, - -0.3153134723953699425358,-0.3157890318714510757836,-0.3162612793717552439610, - -0.3167302050766992449482,-0.3171957992140740922871,-0.3176580520596652967846, - -0.3181169539378728705614,-0.3185724952223303318988,-0.3190246663365224888409, - -0.3194734577544034448415,-0.3199188600010122729422,-0.3203608636530880793281, - -0.3207994593396844007493,-0.3212346377427811594529,-0.3216663895978970066913, - -0.3220947056946986131187,-0.3225195768776090710084,-0.3229409940464155193141, - -0.3233589481568737711292,-0.3237734302213124970571,-0.324184431309234355467, - -0.3245919425479165676407,-0.3249959551230088283802,-0.3253964602791288851513, - -0.325793449320456895979,-0.3261869136113267342303,-0.3265768445768157390852, - -0.3269632337033319680053,-0.3273460725391983960897,-0.3277253526952353390733, - -0.3281010658453403228130,-0.3284732037270646776150,-0.3288417581421881341619, - -0.3292067209572900887693,-0.3295680841043177600191,-0.3299258395811529021024, - -0.3302799794521731890917,-0.3306304958488117673454,-0.3309773809701143654216, - -0.3313206270832910194102,-0.3316602265242665770195,-0.3319961716982264832154, - -0.3323284550801589576352,-0.3326570692153948405334,-0.3329820067201425537462, - -0.3333032602820193424087,-0.3336208226605795190700,-0.3339346866878384334498, - -0.3342448452687918347692,-0.3345512913819320699460,-0.3348540180797598964091, - -0.3351530184892915764650,-0.3354482858125628075285,-0.3357398133271266571498, - -0.3360275943865487224826,-0.3363116224208967941500,-0.3365918909372263567725, - -0.3368683935200610934935,-0.3371411238318690606341,-0.337410075613533810834, - -0.337675242684820742234,-0.3379366189448385071614,-0.3381941983724953693091, - -0.3384479750269505093918,-0.3386979430480602792919,-0.3389440966568191826447, - -0.3391864301557951377752,-0.3394249379295605772988,-0.3396596144451163312716, - -0.3398904542523121796727,-0.3401174519842599663910,-0.3403406023577418837434, - -0.3405599001736135389429,-0.3407753403172001926968,-0.3409869177586883903786, - -0.3411946275535105432830,-0.3413984648427251245018,-0.3415984248533884826138, - -0.3417945028989236577743,-0.3419866943794803160195,-0.3421749947822901871675, - -0.3423593996820158968930,-0.342539904741093137464,-0.3427165057100674538937, - -0.3428891984279230920052,-0.3430579788224067949720,-0.3432228429103447719939, - -0.3433837867979530611429,-0.3435408066811407867824,-0.3436938988458074217824, - -0.3438430596681333328846,-0.3439882856148637757521,-0.3441295732435846188579, - -0.3442669192029936264809,-0.3444003202331631374733,-0.3445297731657959716678, - -0.3446552749244756186364,-0.3447768225249075446648,-0.3448944130751553927006, - -0.3450080437758688001182,-0.3451177119205040555450,-0.3452234148955390935498, - -0.3453251501806791079474,-0.3454229153490567805207,-0.3455167080674249047156, - -0.3456065260963402385741,-0.3456923672903425837077,-0.3457742295981240943092, - -0.3458521110626927574927,-0.3459260098215278800282,-0.3459959241067283031157, - -0.3460618522451529566197,-0.3461237926585545299218,-0.3461817438637048716110, - -0.3462357044725128396578,-0.3462856731921358233173,-0.3463316488250827718254, - -0.3463736302693092294902,-0.3464116165183053208665,-0.3464456066611769635699, - -0.3464755998827179772626,-0.3465015954634749761887,-0.3465235927798059889504, - -0.3465415913039289197428,-0.3465555906039647915406,-0.3465655903439719409675, - -0.3465715902839726081375,-0.3465735902799726431134,-0.3465715902839726081375, - -0.3465655903439719409675,-0.3465555906039647915406,-0.3465415913039289197428, - -0.3465235927798059889504,-0.3465015954634749761887,-0.3464755998827179772626, - -0.3464456066611769635699,-0.3464116165183053208665,-0.3463736302693092294902, - -0.3463316488250827718254,-0.3462856731921358233173,-0.3462357044725128396578, - -0.3461817438637048716110,-0.3461237926585545299218,-0.3460618522451529566197, - -0.3459959241067283031157,-0.3459260098215278800282,-0.3458521110626927574927, - -0.3457742295981240943092,-0.3456923672903425837077,-0.3456065260963402385741, - -0.3455167080674249047156,-0.3454229153490567805207,-0.3453251501806791079474, - -0.3452234148955390935498,-0.3451177119205041665673,-0.3450080437758688001182, - -0.3448944130751555037229,-0.3447768225249075446648,-0.3446552749244756186364, - -0.3445297731657959716678,-0.3444003202331631374733,-0.3442669192029937375032, - -0.3441295732435846188579,-0.3439882856148638867744,-0.3438430596681334439069, - -0.3436938988458074217824,-0.3435408066811407867824,-0.3433837867979531721652, - -0.3432228429103447719939,-0.3430579788224067949720,-0.3428891984279230920052, - -0.3427165057100675649160,-0.342539904741093137464,-0.3423593996820158968930, - -0.3421749947822901871675,-0.3419866943794803160195,-0.3417945028989236577743, - -0.3415984248533884826138,-0.3413984648427251245018,-0.3411946275535105432830, - -0.3409869177586881683339,-0.340775340317200081675,-0.3405599001736133168983, - -0.3403406023577417727211,-0.3401174519842597443464,-0.3398904542523120686504, - -0.3396596144451161647382,-0.3394249379295603552542,-0.3391864301557950822641, - -0.3389440966568190161112,-0.3386979430480602792919,-0.3384479750269503983695, - -0.3381941983724952582868,-0.3379366189448383961391,-0.3376752426848206312116, - -0.3374100756135335887897,-0.3371411238318689496118,-0.3368683935200609824712, - -0.3365918909372261347279,-0.3363116224208966831277,-0.3360275943865486114603, - -0.3357398133271265461275,-0.3354482858125626965062,-0.3351530184892915764650, - -0.3348540180797598964091,-0.3345512913819320699460,-0.3342448452687918347692, - -0.3339346866878384334498,-0.3336208226605795190700,-0.3333032602820193424087, - -0.3329820067201425537462,-0.3326570692153949515557,-0.3323284550801589576352, - -0.3319961716982264832154,-0.3316602265242666880418,-0.3313206270832910194102, - -0.3309773809701143654216,-0.3306304958488117673454,-0.3302799794521731890917, - -0.3299258395811530131247,-0.3295680841043178710414,-0.3292067209572900887693, - -0.3288417581421882451842,-0.3284732037270646776150,-0.3281010658453403228130, - -0.3277253526952354500956,-0.3273460725391985071120,-0.3269632337033319680053, - -0.32657684457681585011,-0.3261869136113267342303,-0.325793449320456895979, - -0.3253964602791289961736,-0.3249959551230089394025,-0.3245919425479166786630, - -0.324184431309234355467,-0.3237734302213124970571,-0.3233589481568737711292, - -0.3229409940464155193141,-0.3225195768776090710084,-0.3220947056946986131187, - -0.3216663895978970066913,-0.3212346377427811594529,-0.3207994593396844007493, - -0.3203608636530880793281,-0.3199188600010122729422,-0.3194734577544034448415, - -0.3190246663365224888409,-0.3185724952223303318988,-0.3181169539378728705614, - -0.3176580520596652967846,-0.3171957992140740922871,-0.3167302050766992449482, - -0.3162612793717552439610,-0.3157890318714510757836,-0.3153134723953699425358, - -0.3148346108098476481274,-0.3143524570273512619423,-0.3138670210058566167888, - -0.3133783127482255848051,-0.3128863423015830758089,-0.3123911197566937580916, - -0.3118926552473386126785,-0.3113909589496909324779,-0.3108860410816928765421, - -0.3103779119024316357489,-0.3098665817115158205297,-0.3093520608484515710401, - -0.308834359692019888577,-0.3083134886596528012603,-0.3077894582068115281182, - -0.3072622788263634219241,-0.3067319610479605218600,-0.3061985154374181061776, - -0.3056619525960945771281,-0.3051222831602706242471,-0.3045795178005303860402, - -0.3040336672211434443369,-0.3034847421594464300654,-0.3029327533852268494741, - -0.3023777117001072989311,-0.3018196279369308454577,-0.3012585129591476285071, - -0.3006943776602022944111,-0.3001272329629230961601,-0.2995570898189119923849, - -0.2989839592079362451393,-0.2984078521373209613721,-0.2978287796413440768895, - -0.2972467527806320619632,-0.2966617826415566816500,-0.2960738803356356974028, - -0.2954830569989316813029,-0.2948893237914561038515,-0.2942926918965726446054, - -0.2936931725204039445032,-0.2930907768912393018823,-0.2924855162589445889409, - -0.2918774018943741666021,-0.2912664450887853528904,-0.2906526571532537239761, - -0.2900360494180919679330,-0.2894166332322696821855,-0.2887944199628365016252, - -0.2881694209943464479728,-0.2875416477282854987862,-0.2869111115825012103819, - -0.2862778239906340060905,-0.2856417964015522947818,-0.2850030402787888106353, - -0.2843615670999803390906,-0.28371738835630949671,-0.2830705155519494531369, - -0.2824209602035106514428,-0.2817687338394915252948,-0.2811138479997305483771, - -0.2804563142348613369315,-0.2797961441057716935887,-0.2791333491830635393782, - -0.2784679410465177307188,-0.2777999312845601531663,-0.2771293314937314233859, - -0.2764561532781600328157,-0.2757804082490372121761,-0.2751021080240962368713, - -0.2744212642270935642586,-0.2737378884872942452766,-0.2730519924389590014080, - -0.2723635877208359645785,-0.271672685975654359947,-0.2709792988496221299854, - -0.2702834379919265006542,-0.2695851150542377117070,-0.2688843416902159666471, - -0.2681811295550222129513,-0.2674754903048314202962,-0.2667674355963499110977, - -0.2660569770863354666091,-0.2653441264311212632876,-0.2646288952861429177865, - -0.2639112953054690291488,-0.2631913381413353292260,-0.2624690354436819417216, - -0.2617443988596940829261,-0.2610174400333471478319,-0.2602881706049539611847, - -0.2595566022107160808474,-0.2588227464822797641020,-0.2580866150462929886622, - -0.2573482195239686909360,-0.2566075715306496141110,-0.2558646826753781522434, - -0.2551195645604683037710,-0.2543722287810831206301,-0.2536226869248135451507, - -0.2528709505712632421570,-0.2521170312916346523124,-0.2513609406483210406691, - -0.2506026901945001550409,-0.2498422914737329081358,-0.2490797560195654181125, - -0.2483150953551339634728,-0.2475483209927746841572,-0.2467794444336363635095, - -0.2460084771672969849998,-0.2452354306713840081944,-0.2444603164111986137730, - -0.2436831458393429183928,-0.2429039303953514361556,-0.2421226815053265368771, - -0.2413394105815767909373,-0.2405541290222596717552,-0.2397668482110275611774, - -0.238977579516677862692,-0.2381863342928060289783,-0.2373931238774636687250, - -0.2365979595928186240972,-0.2358008527448203772714,-0.2350018146228677884402, - -0.2342008564994816632865,-0.2333979896299799849935,-0.2325932252521577814353, - -0.2317865745859697401698,-0.2309780488332174308574,-0.2301676591772392199697, - -0.2293554167826048761913,-0.2285413327948128126010,-0.2277254183399917419894, - -0.2269076845246055518235,-0.2260881424351621205027,-0.2252668031379252977509, - -0.2244436776786312426335,-0.2236187770822075093768,-0.2227921123524960189677, - -0.2219636944719801385784,-0.2211335344015150361496,-0.2203016430800609215535, - -0.2194680314244206731367,-0.2186327103289810724895,-0.2177956906654569813053, - -0.2169569832826390154423,-0.21611659900614607621,-0.2152745486381790196440, - -0.2144308429572800989149,-0.2135854927180947104848,-0.2127385086511363598838, - -0.2118899014625563459457,-0.2110396818339151936428,-0.2101878604219592494573, - -0.2093344478583990531106,-0.2084794547496921779395,-0.2076228916768294574524, - -0.2067647691951236543773,-0.2059050978340024595781,-0.2050438880968042665298, - -0.2041811504605777483068,-0.2033168953758839603285,-0.2024511332666024121529, - -0.2015838745297403866719,-0.2007151295352448960863,-0.1998449086258186346843, - -0.1989732221167385128879,-0.1981000802956779660580,-0.1972254934225319833452, - -0.1963494717292453839441,-0.1954720254196445905492,-0.194593164669272178369, - -0.1937128996252243384735,-0.1928312404059922824384,-0.1919481971013056731401, - -0.1910637797719798580687,-0.1901779984497658226861,-0.1892908631372032246531, - -0.188402383807476397903,-0.1875125704042734653409,-0.1866214328416482826078, - -0.1857289810038852129193,-0.1848352247453672603239,-0.1839401738904465344326, - -0.1830438382333180180606,-0.1821462275378960271599,-0.1812473515376936405996, - -0.1803472199357045446799,-0.1794458424042885136274,-0.1785432285850586664466, - -0.1776393880887722209749,-0.1767343304952237181826,-0.1758280653531409387647, - -0.1749206021800835952895,-0.1740119504623446888836,-0.1731021196548545859617, - -0.1721911191810875929598,-0.1712789584329712788691,-0.1703656467707981014836, - -0.1694511935231403920721,-0.1685356079867669221173,-0.1676188994265623843916, - -0.1667010770754498438784,-0.1657821501343149928065,-0.1648621277719332089973, - -0.1639410191248990567026,-0.1630188332975583409556,-0.1620955793619418550122, - -0.1611712663577029303053,-0.1602459032920559023339,-0.1593194991397176574210, - -0.1583920628428515109398,-0.1574636033110130006740,-0.156534129421098427981, - -0.1556036500172954251120,-0.1546721739110356319546,-0.1537397098809499262906, - -0.1528062666728255969417,-0.1518718529995656818521,-0.1509364775411507764158, - -0.1500001489446024793839,-0.1490628758239495588178,-0.1481246667601954503102, - -0.147185530301288808319,-0.1462454749620949734368,-0.1453045092243705760371, - -0.1443626415367393056588,-0.1434198803146701228783,-0.1424762339404573863177, - -0.1415317107632027282538,-0.1405863190987991506731,-0.1396400672299166756396, - -0.1386929634059902993748,-0.1377450158432094728944,-0.1367962327245096365580, - -0.1358466221995653921972,-0.1348961923847856736458,-0.1339449513633106658705, - -0.1329929071850103339258,-0.1320400678664849225541,-0.1310864413910670933650, - -0.1301320357088255330602,-0.1291768587365708098602,-0.1282209183578622291311, - -0.1272642224230169927246,-0.1263067787491203852746,-0.1253485951200379866499, - -0.1243896792864292444314,-0.1234300389657628921336,-0.1224696818423335609172, - -0.1215086155672801399019,-0.1205468477586056630368,-0.1195843860011985976266, - -0.1186212378468556871702,-0.1176574108143061958565,-0.1166929123892375824711, - -0.1157277500243227008614,-0.1147619311392482910339,-0.113795463120744871910, - -0.1128283533226181051257,-0.1118606090657812413003,-0.1108922376382893704161, - -0.109923246295374366088,-0.1089536422594816894582,-0.1079834327203081506541, - -0.1070126248348409747635,-0.1060412257273982139516,-0.1050692424896702420467, - -0.1040966821807625952712,-0.1031235518272398815620,-0.1021498584231709527703, - -0.1011756089301752148391,-0.1002008102774699649373,-0.0992254693619191163734, - -0.0982495930480826035192,-0.0972731881682673965583,-0.0962962615225792101237, - -0.0953188198789752805240,-0.0943408699733185307501,-0.0933624185094322073253, - -0.0923834721591561408571,-0.0914040375624034368007,-0.0904241213272185678784, - -0.0894437300298361742668,-0.0884628702147409184953,-0.0874815483947282285238, - -0.0864997710509660538980,-0.0855175446330572741616,-0.0845348755591033423906, - -0.0835517702157685115960,-0.0825682349583450603259,-0.0815842761108193093023, - -0.0805998999659385123584,-0.0796151127852784412653,-0.0786299207993119420035, - -0.0776443302074781432909,-0.0766583471782524977778,-0.0756719778492175171314, - -0.0746852283271343259097,-0.0736981046880148954470,-0.0727106129771950271401, - -0.0717227592094079741125,-0.0707345493688588122794,-0.0697459894092994497905, - -0.0687570852541043719963,-0.0677678427963468998918,-0.0667782678988761563277, - -0.0657883663943947399888,-0.0647981440855368712173,-0.0638076067449471900916, - -0.0628167601153601373731,-0.0618256099096800015857,-0.0608341618110612575299, - -0.0598424214729898207299,-0.0588503945193645516820,-0.0578580865445794123580, - -0.0568655031136060737373,-0.0558726497620771200836,-0.0548795319963696279220, - -0.0538861552936893209442,-0.0528925251021551343089,-0.0518986468408842160915, - -0.0509045259000774560909,-0.0499101676411053962745,-0.0489155773965945228632, - -0.0479207604705140788326,-0.0469257221382631470319,-0.0459304676467582814747, - -0.0449350022145213537361,-0.0439393310317678781329,-0.0429434592604956769102, - -0.0419473920345738715554,-0.0409511344598322418742,-0.0399546916141510083387, - -0.0389580685475503715742,-0.0379612702822815228920,-0.0369643018129167874597, - -0.0359671681064406417727,-0.0349698741023408907203,-0.0339724247127001707791, - -0.0329748248222875919855,-0.0319770792886508309349,-0.0309791929422082584766, - -0.0299811705863414490469,-0.0289830169974878808226,-0.0279847369252338336321, - -0.0269863350924075123816,-0.0259878161951723994638,-0.0249891849031207528842, - -0.0239904458593673472477,-0.0229916036806433361772,-0.0219926629573903471837, - -0.0209936282538546632737,-0.0199945041081816508866,-0.0189952950325102572215, - -0.0179960055130676879753,-0.0169966400102642030412,-0.0159972029587880440471, - -0.0149976987677004763855,-0.0139981318205309405306,-0.0129985064753723074393, - -0.0119988270649762310965,-0.0109990978968485808576,-0.0099993232533449744048, - -0.0089995073917663610114,-0.0079996545444547054182,-0.0069997689188886925288, - -0.0059998546977795292473,-0.0049999160391667610628,-0.0039999570765141562873, - -0.0029999819188056050384,-0.0019999946506410685304,-0.0009999993323325344352,0}; - printf(">> Complex Double scalar\n"); - for (i = 0 ; i < 1001 ; ++i) - { - z = DoubleComplex(real_z, imag_z); - result = zlogs(z); - printf("[%d] dlogs(%e + %e I) = %e + %e I \n", i, real_z, imag_z, zreals(result), zimags(result)); - real_z += increment; - imag_z -= increment; - assert(fabs(zreals(result) - real_results[i]) < 1e-15); - assert(fabs(zimags(result) - imag_results[i]) < 2e-15); - } + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zlogs(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } +} + +void dlogaTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dloga(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } } +void zlogaTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex *in,out[200]; + int i; + + + in=DoubleComplexMatrix(inR,inI,200); + zloga(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14); + assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15); + } +} int testLog(void) { printf("\n>>>> Double Logarithm Tests\n"); dlogsTest(); zlogsTest(); - /* FIXME : Implement some test here . */ - /* - dlogaTest(); - zlogaTest(); - */ + dlogaTest(); + zlogaTest(); return 0; } diff --git a/src/elementaryFunctions/log/testFloatLog.c b/src/elementaryFunctions/log/testFloatLog.c index 95a0473b..3e24aa4e 100644 --- a/src/elementaryFunctions/log/testFloatLog.c +++ b/src/elementaryFunctions/log/testFloatLog.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -12,21 +12,481 @@ #include "testLog.h" +#define SOURCE {0.3628176329657435417175f,0.924179898109287023544f,0.5243524145334959030151f,\ +0.7886543427594006061554f,0.6525151440873742103577f,0.2477638195268809795380f,\ +0.2364655844867229461670f,0.7240293831564486026764f,0.8278210600838065147400f,\ +0.4287728047929704189301f,0.4858888480812311172485f,0.5923984018154442310333f,\ +0.0949383648112416267395f,0.1356843891553580760956f,0.9917455688118934631348f,\ +0.7212927364744246006012f,0.0115638775750994682312f,0.0211908905766904354095f,\ +0.1524727698415517807007f,0.9165380974300205707550f,0.4467271203175187110901f,\ +0.5868234331719577312469f,0.1882771886885166168213f,0.4196520284749567508698f,\ +0.2730510598048567771912f,0.7565603456459939479828f,0.9378882069140672683716f,\ +0.0586007428355515003204f,0.5101847248151898384094f,0.5031699347309768199921f,\ +0.7783576548099517822266f,0.6856653341092169284821f,0.1381576983258128166199f,\ +0.371037633623927831650f,0.6366564910858869552612f,0.4961673622019588947296f,\ +0.2994064847007393836975f,0.2392275254242122173309f,0.5618183575570583343506f,\ +0.3218038142658770084381f,0.1082227518782019615173f,0.1685282415710389614105f,\ +0.8263800088316202163696f,0.4923414406366646289825f,0.7863734485581517219543f,\ +0.6762332352809607982635f,0.0258686169981956481934f,0.3594204657711088657379f,\ +0.3436427963897585868835f,0.2824054299853742122650f,0.1450859513133764266968f,\ +0.0762176741845905780792f,0.5220461571589112281799f,0.6713762427680194377899f,\ +0.0599394328892230987549f,0.7267188713885843753815f,0.2224657749757170677185f,\ +0.3122289828024804592133f,0.4435700643807649612427f,0.3983507198281586170197f,\ +0.1324583934620022773743f,0.8820166247896850109100f,0.5455272346735000610352f,\ +0.2917219498194754123688f,0.7739847479388117790222f,0.3354639573954045772552f,\ +0.8127403985708951950073f,0.4612239454872906208038f,0.6898109326139092445374f,\ +0.9649041066877543926239f,0.8210376314818859100342f,0.2802407057024538516998f,\ +0.9873316427692770957947f,0.294199434574693441391f,0.4859610591083765029907f,\ +0.2247181800194084644318f,0.9585652919486165046692f,0.1503968122415244579315f,\ +0.0216291621327400207520f,0.0688429796136915683746f,0.9950710041448473930359f,\ +0.7568672685883939266205f,0.6163959559053182601929f,0.0865804632194340229034f,\ +0.5165374809876084327698f,0.1916800136677920818329f,0.2940570451319217681885f,\ +0.3528221980668604373932f,0.1317937439307570457458f,0.0549608371220529079437f,\ +0.929352553561329841614f,0.737892795819789171219f,0.7509917514398694038391f,\ +0.6889848816208541393280f,0.8865169286727905273438f,0.6891661235131323337555f,\ +0.8677108911797404289246f,0.7947537912987172603607f,0.2496256213635206222534f,\ +0.3935408894903957843781f,0.7297343472018837928772f,0.7888072351925075054169f,\ +0.113488640636205673218f,0.4145256043411791324615f,0.6172473421320319175720f,\ +0.7440188056789338588715f,0.9038409832864999771118f,0.3976829168386757373810f,\ +0.9472072543576359748840f,0.2581262919120490550995f,0.1955799385905265808105f,\ +0.9381833248771727085114f,0.4226356102153658866882f,0.0937463282607495784760f,\ +0.9977992679923772811890f,0.2042182614095509052277f,0.9455819511786103248596f,\ +0.9336234177462756633759f,0.9743702597916126251221f,0.4100225553847849369049f,\ +0.5125095760449767112732f,0.0948633304797112941742f,0.5688196588307619094849f,\ +0.7322562676854431629181f,0.8108531581237912178040f,0.5459008770994842052460f,\ +0.5022544711828231811523f,0.7634959020651876926422f,0.7354982374235987663269f,\ +0.0699520572088658809662f,0.6130836438387632369995f,0.0965849910862743854523f,\ +0.5439325878396630287170f,0.9187005828134715557098f,0.5072866193950176239014f,\ +0.1335940570570528507233f,0.8688194593414664268494f,0.7999687767587602138519f,\ +0.9879787657409906387329f,0.7131399479694664478302f,0.3067426951602101325989f,\ +0.5431228461675345897675f,0.7330236807465553283691f,0.6498145484365522861481f,\ +0.8018737239763140678406f,0.2859625308774411678314f,0.1894423719495534896851f,\ +0.7794728656299412250519f,0.5433104271069169044495f,0.5268451268784701824188f,\ +0.1533693112432956695557f,0.6041304902173578739166f,0.5948378806933760643005f,\ +0.8857938847504556179047f,0.0043053645640611648560f,0.1302204323001205921173f,\ +0.9758609728887677192688f,0.9183407831005752086639f,0.0624175965785980224609f,\ +0.9939593323506414890289f,0.4122588960453867912292f,0.8258536770008504390717f,\ +0.0376359503716230392456f,0.4675730471499264240265f,0.4759115139022469520569f,\ +0.4060978214256465435028f,0.0392968021333217620850f,0.4401316107250750064850f,\ +0.3316476037725806236267f,0.0877817696891725063324f,0.1150833908468484878540f,\ +0.9667435702867805957794f,0.8103649737313389778137f,0.3928376468829810619354f,\ +0.7880131229758262634277f,0.4798596971668303012848f,0.0270724548026919364929f,\ +0.6701857983134686946869f,0.5602217521518468856812f,0.2564360727556049823761f,\ +0.2626037681475281715393f,0.4447338129393756389618f,0.8522944338619709014893f,\ +0.2347065494395792484283f,0.3277532672509551048279f,0.2253599218092858791351f,\ +0.3468936551362276077271f,0.7743145865388214588165f,0.1285835551097989082336f,\ +0.1156307714991271495819f,0.2054340392351150512695f,0.4535544612444937229156f,\ +0.6516549764201045036316f,0.0710035725496709346771f,0.1265540253371000289917f,\ +0.4974718545563519001007f,0.0879269847646355628967f,0.1462626229040324687958f,\ +0.715134423226118087769f,0.9305738122202455997467f} + +#define RESULT {-1.0138549594808059506335f,-0.0788485313675790222554f,-0.6455912738997077182646f,\ +-0.2374271494900490608870f,-0.4269209307253117313685f,-1.3952793271990111545477f,\ +-1.4419526017799386696794f,-0.3229233029497151630238f,-0.1889582589621221220266f,\ +-0.8468280928949678543205f,-0.7217753888910144466351f,-0.5235758944053595653756f,\ +-2.354527389398466841186f,-1.9974237581445692946147f,-0.0082886876471943305572f,\ +-0.3267102095711482134810f,-4.459869041610169837497f,-3.8541838794260296907623f,\ +-1.8807692572941765440930f,-0.0871516441756800402940f,-0.8058073398690168698266f,\ +-0.5330312996797691438289f,-1.6698399941066854879068f,-0.8683294147345963498452f,\ +-1.2980964690333058886296f,-0.2789729794097077220094f,-0.0641245194730828693697f,\ +-2.8370079061049158219987f,-0.6729824133243695882811f,-0.6868273235307851276588f,\ +-0.2505691498856313370602f,-0.3773656214470872405364f,-1.9793595047655996310709f,\ +-0.9914517831797942104544f,-0.4515250293249062352174f,-0.7008419853775434971155f,\ +-1.205953148244055972427f,-1.4303401906823356437570f,-0.5765766885249945516989f,\ +-1.1338131915858427056776f,-2.2235636585360341044293f,-1.7806519374711546888079f,\ +-0.1907005521377241608061f,-0.7085828181522180191365f,-0.240323473997209546837f,\ +-0.3912172398408133022762f,-3.6547247438886865111840f,-1.0232623619826317629133f,\ +-1.0681525436893481995071f,-1.264411545554370741584f,-1.93042894450046809141f,\ +-2.5741618985048786427683f,-0.6499992713325659643431f,-0.3984255796794416437656f,\ +-2.8144206784459675496635f,-0.3192155730871417684824f,-1.502982009541258934249f,\ +-1.1640184411209602011184f,-0.8128995091446955534309f,-0.9204224561330225373723f,\ +-2.0214866944753584476757f,-0.1255443741850884864508f,-0.6060025488810325544620f,\ +-1.231954157015291428934f,-0.2562031110919770759971f,-1.092240757863258915350f,\ +-0.2073435333764902521736f,-0.7738715719712579987899f,-0.3713377296431035756719f,\ +-0.0357265538888332026546f,-0.1971863344268207918208f,-1.2721063818886333418590f,\ +-0.0127492850765575892191f,-1.223497392724554932997f,-0.7216267835832522736794f,\ +-1.4929081951001816896962f,-0.0423175999341945593968f,-1.8944780628936490618486f,\ +-3.8337127761178795282149f,-2.6759270254015836698613f,-0.0049411834200203501311f,\ +-0.2785673796390666367984f,-0.483865736386189515539f,-2.446681086792801718133f,\ +-0.6606074257995434573232f,-1.651927892749795789840f,-1.2239814994040887352611f,\ +-1.0417910371382139711471f,-2.026517124423018234580f,-2.9011343997056400212387f,\ +-0.0732671142462539837226f,-0.3039567280501898061118f,-0.2863606107139139989037f,\ +-0.3725359507043504159185f,-0.1204550575726043570857f,-0.3722729288835950889336f,\ +-0.1418966944811957953121f,-0.2297229087732643171282f,-1.3877929980613914473508f,\ +-0.9325703042223095762253f,-0.3150747190128889152483f,-0.2372333033314831252092f,\ +-2.1760525295696577785520f,-0.8806205346832632896437f,-0.4824854567490562962107f,\ +-0.2956889680183093505050f,-0.1011018375069230867958f,-0.9221002825850308504130f,\ +-0.0542373561426655603768f,-1.3543063102932182406590f,-1.6317860900845253535607f,\ +-0.0638099067725128449302f,-0.8612449127611128130155f,-2.3671627801172654415041f,\ +-0.0022031571770593774348f,-1.5885659482121525787335f,-0.0559547196755256631695f,\ +-0.0686821150485829451382f,-0.0259639040526286474231f,-0.8915431076633286711086f,\ +-0.6684358831783273613425f,-2.3553180497276513527538f,-0.5641918391516044239964f,\ +-0.3116247338224413798713f,-0.2096683039932461523058f,-0.6053178634921361211951f,\ +-0.6886483730214458809371f,-0.2698475216395072595610f,-0.3072071353764207479742f,\ +-2.659945168598087494871f,-0.4892539023727084379622f,-2.3373319216128076725170f,\ +-0.6089299592172232600262f,-0.0847950173155939540548f,-0.6786791108759814283857f,\ +-2.0129495019748864237386f,-0.1406199321004115432299f,-0.2231825811274127380202f,\ +-0.0120940736302183569906f,-0.3380775973662459854552f,-1.181746009333312530387f,\ +-0.6104197485997391314783f,-0.3105772710053884000381f,-0.4310682668987352861301f,\ +-0.2208041349135003439397f,-1.25189448766300226445f,-1.6636704065163092636226f,\ +-0.2491374010581904052675f,-0.6100744334370675758805f,-0.6408486505219985751580f,\ +-1.8749064671471911136535f,-0.5039650609751163967687f,-0.5194663799859419173188f,\ +-0.1212709911627764675091f,-5.4478934608177302933996f,-2.038526631411456513376f,\ +-0.0244351485261014196582f,-0.0851867338269072515988f,-2.7739080469083896574034f,\ +-0.0060589862906551463645f,-0.8861037385262900967220f,-0.1913376676415258770270f,\ +-3.2797955584796012473703f,-0.7601996918711692030612f,-0.7425233371947113081291f,\ +-0.9011612089296217043000f,-3.2366121340710831688625f,-0.8206814815116268979622f,\ +-1.1036823082060371881141f,-2.4329014344197728014763f,-2.1620982756055884266289f,\ +-0.0338219993709664781822f,-0.2102705479450195091840f,-0.9343588647242980771424f,\ +-0.2382405357403041268327f,-0.7342615153765646995865f,-3.609238495954611991579f,\ +-0.4002002941250653034189f,-0.5794225876492602456125f,-1.36087587445700952671f,\ +-1.337108967835097139698f,-0.8102793489627861944768f,-0.1598232322015146200656f,\ +-1.449419270934711789778f,-1.1154941876589379301521f,-1.4900565023732303959747f,\ +-1.05873701535465292167f,-0.2557770454111949476328f,-2.0511763516400991491651f,\ +-2.1573531687271665369110f,-1.5826302735280548539265f,-0.7906399256902217898002f,\ +-0.4282400343889684046772f,-2.6450250856057104797969f,-2.0670859842226763092299f,\ +-0.6982162977399214431884f,-2.4312485274946018520836f,-1.9223514861397812403254f,\ +-0.3352847494467096622905f,-0.0719538807151878373469f} + +#define CSOURCER {0.3140813848003745079041f,0.5769402063451707363129f,0.1306138429790735244751f,\ +0.0478980806656181812286f,0.4500174494460225105286f,0.0384718659333884716034f,\ +0.483350999653339385986f,0.2981918179430067539215f,0.7112689120694994926453f,\ +0.9268360524438321590424f,0.9477838929742574691772f,0.1729496796615421772003f,\ +0.2750928336754441261292f,0.0044281478039920330048f,0.0611358620226383209229f,\ +0.1950612799264490604401f,0.3789803450927138328552f,0.2549188635312020778656f,\ +0.1764185149222612380981f,0.6008180272765457630157f,0.3703392641618847846985f,\ +0.2908470141701400279999f,0.5384815335273742675781f,0.8090293356217443943024f,\ +0.9260985879227519035339f,0.1576966657303273677826f,0.9518593531101942062378f,\ +0.2709982101805508136749f,0.1609848598018288612366f,0.8782086591236293315887f,\ +0.5091647170484066009521f,0.7951062084175646305084f,0.8432204117998480796814f,\ +0.5806765086017549037933f,0.3487791065126657485962f,0.9397577759809792041779f,\ +0.4363934816792607307434f,0.5549766751937568187714f,0.9105900451540946960449f,\ +0.5684339576400816440582f,0.1862502051517367362976f,0.0800832151435315608978f,\ +0.6585252787917852401733f,0.1606054832227528095245f,0.9711584830656647682190f,\ +0.3668168033473193645477f,0.7386338301002979278564f,0.9722552285529673099518f,\ +0.1349937235936522483826f,0.4595781317912042140961f,0.5414639282971620559692f,\ +0.6397600513882935047150f,0.0211964594200253486633f,0.4408156829886138439178f,\ +0.6374878138303756713867f,0.3208820023573935031891f,0.4267518399283289909363f,\ +0.7819778784178197383881f,0.0543234180659055709839f,0.9666189108975231647491f,\ +0.6948409983888268470764f,0.1846996019594371318817f,0.3645029179751873016357f,\ +0.8176643461920320987701f,0.664914294146001338959f,0.7559730983339250087738f,\ +0.5525381658226251602173f,0.7192269531078636646271f,0.1989364298060536384583f,\ +0.8610532465390861034393f,0.1300329938530921936035f,0.347959163133054971695f,\ +0.5025534434244036674500f,0.4978472082875669002533f,0.4675923939794301986694f,\ +0.9447452803142368793488f,0.9599315756931900978088f,0.5365384514443576335907f,\ +0.8122785724699497222900f,0.6470989421941339969635f,0.7010180121287703514099f,\ +0.6681951484642922878265f,0.9593638796359300613403f,0.0149199557490646839142f,\ +0.6199735002592206001282f,0.4061129498295485973358f,0.0471306145191192626953f,\ +0.8433605083264410495758f,0.0635268418118357658386f,0.9836421324871480464935f,\ +0.4434677045792341232300f,0.8565507535822689533234f,0.9080012599006295204163f,\ +0.4922491232864558696747f,0.1930142603814601898193f,0.3759337724186480045319f,\ +0.2437626412138342857361f,0.1035623974166810512543f,0.9936000052839517593384f,\ +0.5569599089212715625763f,0.3858396532014012336731f,0.7191527518443763256073f,\ +0.1707325801253318786621f,0.2878904812969267368317f,0.4294657362625002861023f,\ +0.8917979537509381771088f,0.6188817229121923446655f,0.3444608678109943866730f,\ +0.0692929709330201148987f,0.3619817639701068401337f,0.1783103235065937042236f,\ +0.8941529677249491214752f,0.9010278200730681419373f,0.0533773354254662990570f,\ +0.4162023533135652542114f,0.9438270372338593006134f,0.9242387460544705390930f,\ +0.8710649865679442882538f,0.2808376699686050415039f,0.8244629004038870334625f,\ +0.4650857029482722282410f,0.1462343498133122920990f,0.5975636970251798629761f,\ +0.3067605351097881793976f,0.2377215037122368812561f,0.0711208949796855449677f,\ +0.8753139786422252655029f,0.4413500339724123477936f,0.7631150623783469200134f,\ +0.9679268277250230312347f,0.3924236092716455459595f,0.717360940296202898026f,\ +0.8640465112403035163879f,0.7354763629846274852753f,0.0304915383458137512207f,\ +0.6331009590066969394684f,0.4550241930410265922546f,0.3173553734086453914642f,\ +0.8250397499650716781616f,0.2725940425880253314972f,0.3458735281601548194885f,\ +0.5352854127995669841766f,0.7017193175852298736572f,0.9817278520204126834869f,\ +0.2777477568015456199646f,0.1314821145497262477875f,0.366813333705067634583f,\ +0.7377605927176773548126f,0.9103105561807751655579f,0.3637479650788009166718f,\ +0.8207867145538330078125f,0.3059372254647314548492f,0.9788405327126383781433f,\ +0.9970494522713124752045f,0.4636328797787427902222f,0.7769650523550808429718f,\ +0.3400075891986489295959f,0.0353285889141261577606f,0.2607673071324825286865f,\ +0.5790986777283251285553f,0.1250711670145392417908f,0.0372988111339509487152f,\ +0.9382179621607065200806f,0.5585843441076576709747f,0.7192503632977604866028f,\ +0.3599752518348395824432f,0.6758626028895378112793f,0.2222136431373655796051f,\ +0.7860159231349825859070f,0.1736893891356885433197f,0.2674629595130681991577f,\ +0.7357366015203297138214f,0.0550541067495942115784f,0.5923380698077380657196f,\ +0.2162457890808582305908f,0.7718841419555246829987f,0.0926524316892027854919f,\ +0.7626169077120721340179f,0.7347808051854372024536f,0.8017499190755188465118f,\ +0.7732572900131344795227f,0.2559880572371184825897f,0.1179054826498031616f,\ +0.9232815303839743137360f,0.6709534404799342155457f,0.6071323617361485958099f,\ +0.4574467372149229049683f,0.8206311021931469440460f,0.0896153757348656654358f,\ +0.3426358769647777080536f,0.1674894802272319793701f,0.9481152505613863468170f,\ +0.9504805644974112510681f,0.3436607695184648036957f,0.2889420483261346817017f,\ +0.5325344172306358814240f,0.2558945687487721443176f,0.8863505902700126171112f,\ +0.0421485081315040588379f,0.4876015805639326572418f} + +#define CSOURCEI {0.347978035919368267059f,0.2037199228070676326752f,0.5962978359311819076538f,\ +0.8342303414829075336456f,0.6809655660763382911682f,0.9127784068696200847626f,\ +0.5243799723684787750244f,0.7204323844052851200104f,0.3259664541110396385193f,\ +0.1506391367875039577484f,0.9124387521296739578247f,0.6345743131823837757111f,\ +0.9268973069265484809875f,0.7633614349178969860077f,0.5918717086315155029297f,\ +0.9057438620366156101227f,0.3263365356251597404480f,0.3912780000828206539154f,\ +0.4635267537087202072144f,0.0849754814989864826202f,0.5800507226958870887756f,\ +0.7945564310066401958466f,0.3823457323014736175537f,0.3010852993465960025787f,\ +0.5789428642019629478455f,0.2627451247535645961761f,0.5713048521429300308228f,\ +0.1848654565401375293732f,0.9971724869683384895325f,0.4520535501651465892792f,\ +0.0334019884467124938965f,0.4553878181613981723785f,0.7851976407691836357117f,\ +0.4941168962977826595306f,0.9304408635944128036499f,0.7621670593507587909698f,\ +0.9264887655153870582581f,0.7199950958602130413055f,0.3973621018230915069580f,\ +0.8769331262446939945221f,0.6766644334420561790466f,0.8431562236510217189789f,\ +0.7608711589127779006958f,0.8287630719132721424103f,0.0037989662960171699524f,\ +0.9451942699961364269257f,0.6311131268739700317383f,0.0763222672976553440094f,\ +0.4486519275233149528503f,0.1080312891863286495209f,0.8351444136351346969604f,\ +0.3109649871475994586945f,0.1235694894567131996155f,0.0363539229147136211395f,\ +0.6609512977302074432373f,0.9844443709589540958405f,0.0688076755031943321228f,\ +0.5140342987142503261566f,0.3807653579860925674438f,0.1549817589111626148224f,\ +0.6850274773314595222473f,0.0382853033952414989471f,0.5224257782101631164551f,\ +0.7454454028047621250153f,0.4607118470594286918640f,0.4753002314828336238861f,\ +0.8575385268777608871460f,0.8073885519988834857941f,0.7132545644417405128479f,\ +0.0811268086545169353485f,0.5751824118196964263916f,0.884696914348751306534f,\ +0.5624709790572524070740f,0.7315255901776254177094f,0.6099120099097490310669f,\ +0.0705954921431839466095f,0.8552806274965405464172f,0.7045627343468368053436f,\ +0.5928074717521667480469f,0.8517647930420935153961f,0.2603117255493998527527f,\ +0.8596871509216725826263f,0.3943212013691663742065f,0.3333164160139858722687f,\ +0.2511775353923439979553f,0.5570420245639979839325f,0.7276714108884334564209f,\ +0.9383780122734606266022f,0.1971746077761054039001f,0.1607607132755219936371f,\ +0.7815325502306222915649f,0.1760376212187111377716f,0.2801528992131352424622f,\ +0.4699970218352973461151f,0.3507726117968559265137f,0.5713973813690245151520f,\ +0.4563077641651034355164f,0.9214398502372205257416f,0.4339873101562261581421f,\ +0.3514866163022816181183f,0.1816438222303986549377f,0.9070622171275317668915f,\ +0.7665811367332935333252f,0.9807842955924570560455f,0.1198607003316283226013f,\ +0.0508546582423150539398f,0.2581452894955873489380f,0.1401008707471191883087f,\ +0.5514106499031186103821f,0.7882929998449981212616f,0.8028824776411056518555f,\ +0.2425694861449301242828f,0.7024780390784144401550f,0.0922905071638524532318f,\ +0.4318286012858152389526f,0.0804965649731457233429f,0.7126307198777794837952f,\ +0.6893844078294932842255f,0.2756213061511516571045f,0.6968217701651155948639f,\ +0.4598932703956961631775f,0.6099067903123795986176f,0.3065654132515192031860f,\ +0.0749373403377830982208f,0.9619921119883656501770f,0.4158898773603141307831f,\ +0.3287452235817909240723f,0.7406168007291853427887f,0.5725225014612078666687f,\ +0.9504556744359433650970f,0.1849336978048086166382f,0.8698030491359531879425f,\ +0.6907873982563614845276f,0.9524399931542575359344f,0.6490485109388828277588f,\ +0.9960058168508112430573f,0.2040582066401839256287f,0.3800008497200906276703f,\ +0.9729049820452928543091f,0.9110585046000778675079f,0.3810073928907513618469f,\ +0.7869612383656203746796f,0.5560158789157867431641f,0.8529843934811651706696f,\ +0.4350629774853587150574f,0.5956362797878682613373f,0.7071880977600812911987f,\ +0.5747222309000790119171f,0.4764349022880196571350f,0.6098947445861995220184f,\ +0.9666662178933620452881f,0.3874611915089190006256f,0.0715632727369666099548f,\ +0.6122049516998231410980f,0.9575729314237833023071f,0.7723352131433784961700f,\ +0.1287384750321507453918f,0.3884150418452918529510f,0.2353963479399681091309f,\ +0.6542267077602446079254f,0.3286431683227419853210f,0.024017625954002141953f,\ +0.1042741741985082626343f,0.9314296473748981952667f,0.8185661518946290016174f,\ +0.8156488086096942424774f,0.8688247688114643096924f,0.3549220249988138675690f,\ +0.3890381073579192161560f,0.6415715864859521389008f,0.4902750719338655471802f,\ +0.3509976905770599842072f,0.8516392158344388008118f,0.1348936217837035655975f,\ +0.1156354099512100219727f,0.8810075619257986545563f,0.8367286501452326774597f,\ +0.5032693906687200069427f,0.4486711751669645309448f,0.9319602106697857379913f,\ +0.7298459419980645179749f,0.3388367067091166973114f,0.4314213804900646209717f,\ +0.7317318231798708438873f,0.9655342241749167442322f,0.2621376193128526210785f,\ +0.2050140891224145889282f,0.2826355365104973316193f,0.3973353477194905281067f,\ +0.7437736871652305126190f,0.8185287192463874816895f,0.3071001493372023105621f,\ +0.9627068741247057914734f,0.9475456266663968563080f,0.6546552237123250961304f,\ +0.1992082078941166400909f,0.3616109425202012062073f,0.9388273353688418865204f,\ +0.0409001447260379791260f,0.0758434669114649295807f} + +#define CRESULTR {-0.7576646139762764908809f,-0.4912662732014974609207f,-0.4935831983604013761813f,\ +-0.1796001444111503253520f,-0.2030603062114124668369f,-0.0903746939402042676059f,\ +-0.3380442117380291211504f,-0.2488385719103628768156f,-0.2453827611475934422636f,\ +-0.0629419446509737884332f,0.2743030686751847802007f,-0.4189753318430110562431f,\ +-0.0337034837449739430038f,-0.2700068328094388236948f,-0.5191589716059612502619f,\ +-0.0763304013057857499991f,-0.6929039668216129266298f,-0.7614418400301237177530f,\ +-0.7012514181881327468560f,-0.4995602487864141960650f,-0.3736855282655331400576f,\ +-0.1670990767606896909570f,-0.4148838171877601843640f,-0.1470641870540525808497f,\ +0.0881657571965975273010f,-1.1827451998005302780115f,0.1044920740886167709327f,\ +-1.1145963776166571967963f,0.0100332050022288142566f,-0.0123498399546466911675f,\ +-0.6728365416861274983518f,-0.0874315516128119363248f,0.1416698281269971604335f,\ +-0.2712125731855208887744f,-0.0063567040970050154788f,0.1906009971260032298535f,\ +0.0238331967155752874610f,-0.0953429917974444041118f,-0.0065067191893498198957f,\ +0.0440644425532304637172f,-0.3540655459766552382028f,-0.1661126167793314234444f,\ +0.0062509933701612868662f,-0.1693877982336349785619f,-0.0292579566847096204929f,\ +0.0137816953226981269570f,-0.0288761524361324552201f,-0.0250652390791611112686f,\ +-0.7581745137578204118967f,-0.7505545612383084375097f,-0.0046973071232757198853f,\ +-0.3406170651999906873186f,-2.0764518222153585114143f,-0.8157393323281721952966f,\ +-0.0852474852363154095292f,0.0348077956215509243254f,-0.8387202021909221372198f,\ +-0.0663540586103768398329f,-0.9554969196553003696337f,-0.0212599130834864695483f,\ +-0.0245601140031842454792f,-1.6679899099681032570430f,-0.4509584277017124609443f,\ +0.1011698547763601602201f,-0.2120439010955574854478f,-0.1131958883879479044188f,\ +0.0199327284817682297280f,0.0781443465987670671247f,-0.3004592565973881468366f,\ +-0.1451799924584522560878f,-0.5281452333714923286223f,-0.0505933914241510074294f,\ +-0.2819958038859460280889f,-0.122323084811984963971f,-0.2632782651610236501760f,\ +-0.0540558326414990047981f,0.2512879183645665981395f,-0.1214932149359973512226f,\ +0.0055773659320434761794f,0.0673704632706614986448f,-0.2906343733694730646633f,\ +0.0851020319327377705587f,0.0365640112295984101576f,-1.0976622196833336619903f,\ +-0.4020870876485082012763f,-0.3719849821436939651953f,-0.3158125612041708385469f,\ +0.2324359424588408329360f,-1.5742845766045041600023f,-0.0033130260706617652329f,\ +-0.1069329039454427060507f,-0.1341564770393289252048f,-0.0510429776001832605226f,\ +-0.3847912680433241972011f,-0.9153668051115183557087f,-0.3798345871473772783489f,\ +-0.6590618454479428844905f,-0.0755413642077243097095f,0.0808833545731707098669f,\ +-0.417646722764209388234f,-0.8522405945532404158982f,0.1463133685463073596633f,\ +-0.2416082657366604991012f,0.0219217192558878656850f,-0.8077093656959043466159f,\ +-0.1128924015633438332484f,-0.3996389102953575300781f,-0.9892317511551623754329f,\ +-0.5874413267393940873973f,-0.1422192352759769073955f,-0.1954743580270074387872f,\ +-0.0763719684521397823573f,0.1332266112260754309382f,-2.2385346085566988350024f,\ +-0.5112419918132667939759f,-0.0541885453710462053345f,0.1544990573544810508189f,\ +0.1051325180789595692410f,-0.9326914829433226028499f,0.0764891336322670034598f,\ +-0.4245421077023512346216f,-0.4665013282915527192962f,-0.3980722181205589849107f,\ +-1.152706389176620049852f,-0.0091123646200983177135f,-0.8629224644504486230190f,\ +-0.0671956049468366567456f,-0.1483256896732535745631f,-0.0470857769330114903084f,\ +0.3049502630226416100001f,-0.8351336293434713509143f,0.1199665328310368234144f,\ +0.100965515388687754328f,0.1851149271955789266109f,-0.4311455286578065315695f,\ +0.1656739977240755667953f,-0.6957805672270640506838f,-0.7030137346248552798755f,\ +0.2434410334133135511703f,-0.0502776447144934607314f,-0.6643994214275527054880f,\ +-0.0494471424057717073852f,-0.1105954430789197057150f,0.2627700024490645658304f,\ +-0.6613338575819812659162f,-0.4943364682181946023753f,-0.2273273919604619497381f,\ +-0.0669964153308245241591f,0.0270809622513717325465f,-0.3423076587443550367063f,\ +0.2375373770411028651051f,-0.7058599113455784612725f,-0.0187211007688289424178f,\ +0.1570046667576522059218f,0.0619494218295955287323f,0.0912342621811634557627f,\ +-1.0118000314587793919685f,-0.9415613562651380386015f,-1.04611739737066766764f,\ +-0.1350076179226963601909f,-1.045153664947628735504f,-3.1153566294303054462489f,\ +-0.0576346967934074291828f,0.0825782285147220879162f,0.0858710750707356584854f,\ +-0.1147913938093602786994f,0.0959901869720326261781f,-0.8704897942843184965866f,\ +-0.1312205414500346722928f,-0.4084692473683823599195f,-0.5825265796688483543875f,\ +-0.2043543873503067542785f,-0.1585071715930248537063f,-0.4983971045262390875408f,\ +-1.405591688480441803222f,0.1581272765392360557524f,-0.1721619754559372272862f,\ +-0.0902428450071243726249f,-0.1497365537505691013287f,0.2065025609822116192671f,\ +0.0613750886386554700413f,-0.8564551079948240497330f,-0.804653684520539647096f,\ +0.1638887899169061412863f,0.1619231669215081825808f,-0.4135383706484943022730f,\ +-0.6905772083929240245936f,-0.1416337472709212619293f,-0.8981660716461068449945f,\ +-0.1997922350746098307805f,-0.1797380100619248022298f,-0.0033949848444226812805f,\ +0.3022174959979692654422f,0.0079098230306947625579f,-0.3346557902575436060921f,\ +-0.5646231542298842942529f,-0.8141969637368523526888f,0.2555170413707821830407f,\ +-2.8347892907784113525338f,-0.7063037006217763869032f} + +#define CRESULTI {0.8365523024247201178127f,0.3394374381847692356828f,1.355160662925530390410f,\ +1.5134434006476746858993f,0.9868300791435297147913f,1.528673168936313331301f,\ +0.8260899014265745687879f,1.1783591647662248202977f,0.4297253343366602140740f,\ +0.1611216299891750081130f,0.7663999599077054858398f,1.3047144916618338417180f,\ +1.2822880914611145541926f,1.5649955384218765530591f,1.4678689248356304730692f,\ +1.3586758006659467312716f,0.7108977814935093508808f,0.9933651109027943348906f,\ +1.2071246910756632253481f,0.1405010934420483359464f,1.0025763105214653414521f,\ +1.21989563358396813086f,0.6174353300937470701015f,0.3562751652356153653223f,\ +0.5587012199090121145062f,1.0302380576516638743811f,0.5405656721364887618009f,\ +0.5986555168040823549092f,1.4107360213988626718162f,0.4753739371565622318094f,\ +0.0655076733245526648952f,0.5201329289544929235234f,0.7497818580560413614933f,\ +0.7050355621930805005704f,1.2121540141336599738509f,0.6814274485183255958276f,\ +1.1306014284455374596661f,0.9141116926495304051414f,0.4114688990228685949724f,\ +0.9956827833608694611200f,1.3022000158632660582469f,1.4761001233596913184698f,\ +0.8573788009054216230354f,1.379379585022410426021f,0.0039117682490215858332f,\ +1.2006025140002900553071f,0.7070620318380608226860f,0.0783395850399789817065f,\ +1.2785255791075276210478f,0.2308747034561683952880f,0.9955835564035591112031f,\ +0.4524376138027601523817f,1.4009149235535949262754f,0.0822834615192538504358f,\ +0.8034667275967887212218f,1.2557032585647818212493f,0.1598599852603853899158f,\ +0.5815258576469973794687f,1.4290836436420499833133f,0.1589807896730044689537f,\ +0.7782863583371778526399f,0.2043896563749957318024f,0.9616073478994561218869f,\ +0.7392289023091881405847f,0.6059375681629087795343f,0.5612744745893767372991f,\ +0.9984170767670760282542f,0.8430838000818645650014f,1.29879528501095431459f,\ +0.0939407915654127262384f,1.3484611857054962236191f,1.1960714214373144859138f,\ +0.8415982269448546437829f,0.9732366936364994502995f,0.9167206383382787704406f,\ +0.0745857498941502189416f,0.7278097264573785141195f,0.9199632393837048338625f,\ +0.6304525502744320331061f,0.9211062195464506663356f,0.3555526540057888373880f,\ +0.9100796877015666641597f,0.3899732161636976779384f,1.5260640477653748536824f,\ +0.3849315818496458763143f,0.9408368768631211187525f,1.5061175798419510485360f,\ +0.838676229611447277001f,1.2591119550131308901797f,0.1620018843959732390836f,\ +1.0546671087981356329522f,0.2026968016035011754816f,0.299271305708051660321f,\ +0.7622771187183752239491f,1.067757629024185028754f,0.9888735682758375000745f,\ +1.0801593307389727449674f,1.4588740911245949849473f,0.4118082358815949306496f,\ +0.5629599662610861310341f,0.4399958138718327860239f,0.9004381750108224613527f,\ +1.3516535386697041687398f,1.2852850170743990165789f,0.2721670546404741375390f,\ +0.0569631738604013462823f,0.3951736758236387148102f,0.3862903740059538404417f,\ +1.4457867030840705346861f,1.1403205655573340759901f,1.3522555755333163229892f,\ +0.264908300074692404369f,0.6622029195378335009181f,1.0464389789763977045567f,\ +0.8038225849224520658254f,0.0850815175089563863198f,0.6568351393392068970911f,\ +0.669491640154789569017f,0.7760242270392859742500f,0.7016907095208140265896f,\ +0.7797846541592131641707f,1.335473484345777617222f,0.4740136251481967821775f,\ +0.2395937042296285568455f,1.3285359486862795552753f,1.401425714315664317056f,\ +0.3592738595863486095183f,1.0333805631652628331807f,0.6436572543635337151358f,\ +0.7762911838119904706090f,0.4403927201098556398762f,0.8811512979588507210593f,\ +0.674423430961778702653f,0.9132365009577151360176f,1.5238520140402758151765f,\ +1.00458246450610100275f,0.4215689680173497211335f,0.874990498737184374534f,\ +0.8674547514202983755638f,1.2800682610709759323697f,0.8336956783393613124034f,\ +0.9734878037135866746254f,0.6700663792657182149526f,0.7153420705223627606983f,\ +1.0026132338500262086711f,1.3535381134312993722801f,1.0923065980664201646277f,\ +0.6618099327465949421878f,0.4821732258146940175436f,1.033019939116806895640f,\ +0.8668307442664776596430f,0.9024324853624734465996f,0.0729804020494689703602f,\ +0.5506621520352920073904f,1.1198886719657494825952f,0.7824098301910974440077f,\ +0.3619529370272654977825f,1.4800901440707066036850f,0.7343084050589578914980f,\ +0.8462379976616437593506f,1.2071528313995831815930f,0.5720924999360996743292f,\ +0.1106864208392598775132f,1.0305927183418297499173f,0.8498909387724447039858f,\ +1.15517062965696792887f,0.9096742728488710350021f,1.01141253782177353848f,\ +0.4595989696224830889371f,1.3064089912173471041967f,1.071386424855859109684f,\ +0.4451357270611538408112f,1.5062412806888749727818f,0.2239121309027737871666f,\ +0.4910523338147070870896f,0.8513221989625705532490f,1.460513851259993778342f,\ +0.5833202395880134893957f,0.5481910770820362932554f,0.8603624185522980027940f,\ +0.7565250407629732221082f,0.9237902776741101495972f,1.3040155501467787235725f,\ +0.6701717740731456540715f,0.9634987985586029868301f,0.4075854524817449364704f,\ +0.4213313914917447000619f,0.3316883655770838101873f,1.3489670985956061510791f,\ +1.1391029061589752480188f,1.3689599297259111843061f,0.3132420296422914196555f,\ +0.7917886209906572769768f,1.2228656637749606428400f,1.1551462426298317875961f,\ +0.3579601167993540777879f,0.9549534865181378284760f,0.8141418225805733266398f,\ +0.7703675837106083168493f,0.1543074266086776613616f} + + + + void slogsTest(void) { - /* FIXME : Implement some test here ... */ - printf(">> Float scalar\n"); - printf("slogs(0.1) = %f\n", slogs(0.1f)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=slogs(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5); + } } +void clogsTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=clogs(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } +} + +void slogaTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i,j; + j=1; + sloga(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5); + } +} + +void clogaTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex *in,out[200]; + int i; + + in=FloatComplexMatrix(inR,inI,200); + cloga(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5); + assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6); + } +} + + int testLog(void) { printf("\n>>>> Float Logarithm Tests\n"); slogsTest(); - /* FIXME : Implement some test here ... */ - /* - clogsTest(); - slogaTest(); - clogaTest(); - */ + clogsTest(); + slogaTest(); + clogaTest(); return 0; } diff --git a/src/elementaryFunctions/log/testLog.h b/src/elementaryFunctions/log/testLog.h index d09851e4..b0f3bacb 100644 --- a/src/elementaryFunctions/log/testLog.h +++ b/src/elementaryFunctions/log/testLog.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "log.h" void slogsTest(void); diff --git a/src/elementaryFunctions/log10/testDoubleLog10.c b/src/elementaryFunctions/log10/testDoubleLog10.c index bab15190..9063110d 100644 --- a/src/elementaryFunctions/log10/testDoubleLog10.c +++ b/src/elementaryFunctions/log10/testDoubleLog10.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -12,21 +12,480 @@ #include "testLog10.h" +#define SOURCE {0.3628176329657435417175,0.924179898109287023544,0.5243524145334959030151,\ +0.7886543427594006061554,0.6525151440873742103577,0.2477638195268809795380,\ +0.2364655844867229461670,0.7240293831564486026764,0.8278210600838065147400,\ +0.4287728047929704189301,0.4858888480812311172485,0.5923984018154442310333,\ +0.0949383648112416267395,0.1356843891553580760956,0.9917455688118934631348,\ +0.7212927364744246006012,0.0115638775750994682312,0.0211908905766904354095,\ +0.1524727698415517807007,0.9165380974300205707550,0.4467271203175187110901,\ +0.5868234331719577312469,0.1882771886885166168213,0.4196520284749567508698,\ +0.2730510598048567771912,0.7565603456459939479828,0.9378882069140672683716,\ +0.0586007428355515003204,0.5101847248151898384094,0.5031699347309768199921,\ +0.7783576548099517822266,0.6856653341092169284821,0.1381576983258128166199,\ +0.371037633623927831650,0.6366564910858869552612,0.4961673622019588947296,\ +0.2994064847007393836975,0.2392275254242122173309,0.5618183575570583343506,\ +0.3218038142658770084381,0.1082227518782019615173,0.1685282415710389614105,\ +0.8263800088316202163696,0.4923414406366646289825,0.7863734485581517219543,\ +0.6762332352809607982635,0.0258686169981956481934,0.3594204657711088657379,\ +0.3436427963897585868835,0.2824054299853742122650,0.1450859513133764266968,\ +0.0762176741845905780792,0.5220461571589112281799,0.6713762427680194377899,\ +0.0599394328892230987549,0.7267188713885843753815,0.2224657749757170677185,\ +0.3122289828024804592133,0.4435700643807649612427,0.3983507198281586170197,\ +0.1324583934620022773743,0.8820166247896850109100,0.5455272346735000610352,\ +0.2917219498194754123688,0.7739847479388117790222,0.3354639573954045772552,\ +0.8127403985708951950073,0.4612239454872906208038,0.6898109326139092445374,\ +0.9649041066877543926239,0.8210376314818859100342,0.2802407057024538516998,\ +0.9873316427692770957947,0.294199434574693441391,0.4859610591083765029907,\ +0.2247181800194084644318,0.9585652919486165046692,0.1503968122415244579315,\ +0.0216291621327400207520,0.0688429796136915683746,0.9950710041448473930359,\ +0.7568672685883939266205,0.6163959559053182601929,0.0865804632194340229034,\ +0.5165374809876084327698,0.1916800136677920818329,0.2940570451319217681885,\ +0.3528221980668604373932,0.1317937439307570457458,0.0549608371220529079437,\ +0.929352553561329841614,0.737892795819789171219,0.7509917514398694038391,\ +0.6889848816208541393280,0.8865169286727905273438,0.6891661235131323337555,\ +0.8677108911797404289246,0.7947537912987172603607,0.2496256213635206222534,\ +0.3935408894903957843781,0.7297343472018837928772,0.7888072351925075054169,\ +0.113488640636205673218,0.4145256043411791324615,0.6172473421320319175720,\ +0.7440188056789338588715,0.9038409832864999771118,0.3976829168386757373810,\ +0.9472072543576359748840,0.2581262919120490550995,0.1955799385905265808105,\ +0.9381833248771727085114,0.4226356102153658866882,0.0937463282607495784760,\ +0.9977992679923772811890,0.2042182614095509052277,0.9455819511786103248596,\ +0.9336234177462756633759,0.9743702597916126251221,0.4100225553847849369049,\ +0.5125095760449767112732,0.0948633304797112941742,0.5688196588307619094849,\ +0.7322562676854431629181,0.8108531581237912178040,0.5459008770994842052460,\ +0.5022544711828231811523,0.7634959020651876926422,0.7354982374235987663269,\ +0.0699520572088658809662,0.6130836438387632369995,0.0965849910862743854523,\ +0.5439325878396630287170,0.9187005828134715557098,0.5072866193950176239014,\ +0.1335940570570528507233,0.8688194593414664268494,0.7999687767587602138519,\ +0.9879787657409906387329,0.7131399479694664478302,0.3067426951602101325989,\ +0.5431228461675345897675,0.7330236807465553283691,0.6498145484365522861481,\ +0.8018737239763140678406,0.2859625308774411678314,0.1894423719495534896851,\ +0.7794728656299412250519,0.5433104271069169044495,0.5268451268784701824188,\ +0.1533693112432956695557,0.6041304902173578739166,0.5948378806933760643005,\ +0.8857938847504556179047,0.0043053645640611648560,0.1302204323001205921173,\ +0.9758609728887677192688,0.9183407831005752086639,0.0624175965785980224609,\ +0.9939593323506414890289,0.4122588960453867912292,0.8258536770008504390717,\ +0.0376359503716230392456,0.4675730471499264240265,0.4759115139022469520569,\ +0.4060978214256465435028,0.0392968021333217620850,0.4401316107250750064850,\ +0.3316476037725806236267,0.0877817696891725063324,0.1150833908468484878540,\ +0.9667435702867805957794,0.8103649737313389778137,0.3928376468829810619354,\ +0.7880131229758262634277,0.4798596971668303012848,0.0270724548026919364929,\ +0.6701857983134686946869,0.5602217521518468856812,0.2564360727556049823761,\ +0.2626037681475281715393,0.4447338129393756389618,0.8522944338619709014893,\ +0.2347065494395792484283,0.3277532672509551048279,0.2253599218092858791351,\ +0.3468936551362276077271,0.7743145865388214588165,0.1285835551097989082336,\ +0.1156307714991271495819,0.2054340392351150512695,0.4535544612444937229156,\ +0.6516549764201045036316,0.0710035725496709346771,0.1265540253371000289917,\ +0.4974718545563519001007,0.0879269847646355628967,0.1462626229040324687958,\ +0.715134423226118087769,0.9305738122202455997467} + +#define RESULT {-0.4403116143527589509965,-0.0342434820791150257291,-0.2803767278195338774616,\ +-0.1031133008775467624352,-0.1854094044230032989340,-0.6059621125162122368124,\ +-0.6262320581190643498104,-0.1402438085490333719019,-0.0820635291772953134881,\ +-0.36777276786493884320,-0.3134630685689411833117,-0.2273861217978072890578,\ +-1.0225582527058232340522,-0.8674701161846418706602,-0.0035997313073961446743,\ +-0.1418884411982046234169,-1.9368965147824408479238,-1.67385079107519252339,\ +-0.8168077101761380687250,-0.0378494781542935143648,-0.3499576811822522337536,\ +-0.2314925521326422763746,-0.7252022951018919361132,-0.3771106732935153860176,\ +-0.563756133479260124197,-0.1211564255577455423429,-0.0278489249618575039624,\ +-1.232096878737263700998,-0.2922725485247071319783,-0.2982853166297994018663,\ +-0.1088207991305185085018,-0.1638878070544614040660,-0.8596249106224531644216,\ +-0.4305820385081238765856,-0.1960948286770107240606,-0.3043718069355866306935,\ +-0.5237387977162476504489,-0.6211888520577832917269,-0.2504040742204550751282,\ +-0.4924088126148459254594,-0.9656814270628060192792,-0.7733273106340565750116,\ +-0.0828201974893169740044,-0.3077336078949636233304,-0.1043711586288077197704,\ +-0.169903488488286208424,-1.5872267891461315780788,-0.444397197348344763501,\ +-0.4638927555552059822652,-0.5491269570890252582629,-0.8383746383028719550978,\ +-1.1179443080462672099884,-0.2822910967808678894819,-0.1730340307038858715938,\ +-1.222287370403489781268,-0.1386335619293298515586,-0.6527367931436293124747,\ +-0.5055267858124582458501,-0.3530377711634032356081,-0.3997343937184095197246,\ +-0.8779205166514928437849,-0.0545232289425809854566,-0.2631835629983380608898,\ +-0.535030892349513287343,-0.1112675973936914503026,-0.4743541340498391156721,\ +-0.0900481524037324287946,-0.3360881534089125155518,-0.1612699269064814533436,\ +-0.0155158452113394202537,-0.0856369369482974790442,-0.5524687820481442024345,\ +-0.0055369441569604379433,-0.5313581662832899121796,-0.3133985301037985338191,\ +-0.6483617911201521311071,-0.0183783001388101094320,-0.8227613688014733250853,\ +-1.664960303869991609105,-1.1621403411076904887977,-0.0021459286933866758389,\ +-0.1209802758154948920666,-0.2101402192945755753595,-1.0625800949711647902518,\ +-0.2868981597290535812128,-0.7174231683233029954749,-0.5315684111428640168384,\ +-0.4524440987253919854716,-0.8801052046193623690229,-1.259946661051862371039,\ +-0.0318195034221232311844,-0.1320067297295647867905,-0.1243648330674980567734,\ +-0.1617903077014812007750,-0.05231296682112057672,-0.1616760787761070405910,\ +-0.0616249514134949369359,-0.0997673916469928034889,-0.6027108410820325445911,\ +-0.4050101371105858660826,-0.1368352118545152207307,-0.1030291145605434360855,\ +-0.9450476059237150616710,-0.3824486388636323952461,-0.2095407714646851937701,\ +-0.1284160871700188444322,-0.0439079701395359081606,-0.4004630644881080336894,\ +-0.0235549844857810899978,-0.5881677573670978098619,-0.7086756945701918608549,\ +-0.0277122904020632616906,-0.3740339131793987692554,-1.0280457331716890134743,\ +-0.0009568190047624330983,-0.6899054254479447534365,-0.0243008259915241074667,\ +-0.0298282635710438621957,-0.0112759802587220972492,-0.38719225203706036931,\ +-0.2902980155704742437628,-1.0229016321238477704725,-0.2450254024783888040506,\ +-0.1353369023236559165468,-0.0910577874542803367142,-0.2628862079121005446147,\ +-0.2990761883748661031923,-0.1171932896033063276064,-0.1334183636952847862300,\ +-1.1551995088873641126526,-0.2124802700500995344957,-1.0150903559327661973555,\ +-0.2644549211536121879895,-0.0368260081130531435889,-0.2947465928364439435860,\ +-0.8742128610575919944736,-0.0610704605568186745246,-0.0969269634405601765437,\ +-0.0052523894413354609012,-0.1468252349912699539214,-0.5132257708646462690538,\ +-0.2651019284616369375840,-0.1348819950022109859233,-0.1872105696377188988055,\ +-0.0958940173743543372575,-0.5436908679171403857566,-0.7225228772557727996428,\ +-0.1081989985152894545584,-0.2649519599919711310143,-0.2783170326568494279407,\ +-0.8142615327667455105143,-0.2188692450535288658298,-0.2256013823621523806118,\ +-0.0526673222769318341574,-2.3659900680299497111037,-0.8853208672348196195401,\ +-0.0106120501693722224523,-0.0369961284323869002422,-1.2046929580793401814987,\ +-0.0026313843119589821508,-0.3848299640358096573856,-0.0830968932369530594029,\ +-1.424397112818484689711,-0.3301505313242010797303,-0.3224737880280506563402,\ +-0.3913693403433980977368,-1.4056427898881791449526,-0.3564174388206851062932,\ +-0.4793231362281260010683,-1.0565956679830132980413,-0.9389873504280431548707,\ +-0.0146887076937459951781,-0.0913193386792951061759,-0.4057868990671495423861,\ +-0.1034665500376885233225,-0.3188857244019617231956,-1.5674723626658799702227,\ +-0.1738047793945742269806,-0.2516400325061770026913,-0.5910208828319416518582,\ +-0.5806990464341352797817,-0.3518998500546973717817,-0.0694103478250598926458,\ +-0.6294747913311795617375,-0.4844529702954271654924,-0.6471233167047535372873,\ +-0.4598036435552441125729,-0.1110825594195994081570,-0.8908145709277390800196,\ +-0.9369265766947033613476,-0.6873275946862682506122,-0.3433705568996603396670,\ +-0.1859822838651877530136,-1.1487197991742361669054,-0.8977240365674604705148,\ +-0.3032314852833657981002,-1.055877819626311886481,-0.8348666427090224440022,\ +-0.1456123165510203598672,-0.0312491733461308825170} + +#define ZSOURCER {0.3140813848003745079041,0.5769402063451707363129,0.1306138429790735244751,\ +0.0478980806656181812286,0.4500174494460225105286,0.0384718659333884716034,\ +0.483350999653339385986,0.2981918179430067539215,0.7112689120694994926453,\ +0.9268360524438321590424,0.9477838929742574691772,0.1729496796615421772003,\ +0.2750928336754441261292,0.0044281478039920330048,0.0611358620226383209229,\ +0.1950612799264490604401,0.3789803450927138328552,0.2549188635312020778656,\ +0.1764185149222612380981,0.6008180272765457630157,0.3703392641618847846985,\ +0.2908470141701400279999,0.5384815335273742675781,0.8090293356217443943024,\ +0.9260985879227519035339,0.1576966657303273677826,0.9518593531101942062378,\ +0.2709982101805508136749,0.1609848598018288612366,0.8782086591236293315887,\ +0.5091647170484066009521,0.7951062084175646305084,0.8432204117998480796814,\ +0.5806765086017549037933,0.3487791065126657485962,0.9397577759809792041779,\ +0.4363934816792607307434,0.5549766751937568187714,0.9105900451540946960449,\ +0.5684339576400816440582,0.1862502051517367362976,0.0800832151435315608978,\ +0.6585252787917852401733,0.1606054832227528095245,0.9711584830656647682190,\ +0.3668168033473193645477,0.7386338301002979278564,0.9722552285529673099518,\ +0.1349937235936522483826,0.4595781317912042140961,0.5414639282971620559692,\ +0.6397600513882935047150,0.0211964594200253486633,0.4408156829886138439178,\ +0.6374878138303756713867,0.3208820023573935031891,0.4267518399283289909363,\ +0.7819778784178197383881,0.0543234180659055709839,0.9666189108975231647491,\ +0.6948409983888268470764,0.1846996019594371318817,0.3645029179751873016357,\ +0.8176643461920320987701,0.664914294146001338959,0.7559730983339250087738,\ +0.5525381658226251602173,0.7192269531078636646271,0.1989364298060536384583,\ +0.8610532465390861034393,0.1300329938530921936035,0.347959163133054971695,\ +0.5025534434244036674500,0.4978472082875669002533,0.4675923939794301986694,\ +0.9447452803142368793488,0.9599315756931900978088,0.5365384514443576335907,\ +0.8122785724699497222900,0.6470989421941339969635,0.7010180121287703514099,\ +0.6681951484642922878265,0.9593638796359300613403,0.0149199557490646839142,\ +0.6199735002592206001282,0.4061129498295485973358,0.0471306145191192626953,\ +0.8433605083264410495758,0.0635268418118357658386,0.9836421324871480464935,\ +0.4434677045792341232300,0.8565507535822689533234,0.9080012599006295204163,\ +0.4922491232864558696747,0.1930142603814601898193,0.3759337724186480045319,\ +0.2437626412138342857361,0.1035623974166810512543,0.9936000052839517593384,\ +0.5569599089212715625763,0.3858396532014012336731,0.7191527518443763256073,\ +0.1707325801253318786621,0.2878904812969267368317,0.4294657362625002861023,\ +0.8917979537509381771088,0.6188817229121923446655,0.3444608678109943866730,\ +0.0692929709330201148987,0.3619817639701068401337,0.1783103235065937042236,\ +0.8941529677249491214752,0.9010278200730681419373,0.0533773354254662990570,\ +0.4162023533135652542114,0.9438270372338593006134,0.9242387460544705390930,\ +0.8710649865679442882538,0.2808376699686050415039,0.8244629004038870334625,\ +0.4650857029482722282410,0.1462343498133122920990,0.5975636970251798629761,\ +0.3067605351097881793976,0.2377215037122368812561,0.0711208949796855449677,\ +0.8753139786422252655029,0.4413500339724123477936,0.7631150623783469200134,\ +0.9679268277250230312347,0.3924236092716455459595,0.717360940296202898026,\ +0.8640465112403035163879,0.7354763629846274852753,0.0304915383458137512207,\ +0.6331009590066969394684,0.4550241930410265922546,0.3173553734086453914642,\ +0.8250397499650716781616,0.2725940425880253314972,0.3458735281601548194885,\ +0.5352854127995669841766,0.7017193175852298736572,0.9817278520204126834869,\ +0.2777477568015456199646,0.1314821145497262477875,0.366813333705067634583,\ +0.7377605927176773548126,0.9103105561807751655579,0.3637479650788009166718,\ +0.8207867145538330078125,0.3059372254647314548492,0.9788405327126383781433,\ +0.9970494522713124752045,0.4636328797787427902222,0.7769650523550808429718,\ +0.3400075891986489295959,0.0353285889141261577606,0.2607673071324825286865,\ +0.5790986777283251285553,0.1250711670145392417908,0.0372988111339509487152,\ +0.9382179621607065200806,0.5585843441076576709747,0.7192503632977604866028,\ +0.3599752518348395824432,0.6758626028895378112793,0.2222136431373655796051,\ +0.7860159231349825859070,0.1736893891356885433197,0.2674629595130681991577,\ +0.7357366015203297138214,0.0550541067495942115784,0.5923380698077380657196,\ +0.2162457890808582305908,0.7718841419555246829987,0.0926524316892027854919,\ +0.7626169077120721340179,0.7347808051854372024536,0.8017499190755188465118,\ +0.7732572900131344795227,0.2559880572371184825897,0.1179054826498031616,\ +0.9232815303839743137360,0.6709534404799342155457,0.6071323617361485958099,\ +0.4574467372149229049683,0.8206311021931469440460,0.0896153757348656654358,\ +0.3426358769647777080536,0.1674894802272319793701,0.9481152505613863468170,\ +0.9504805644974112510681,0.3436607695184648036957,0.2889420483261346817017,\ +0.5325344172306358814240,0.2558945687487721443176,0.8863505902700126171112,\ +0.0421485081315040588379,0.4876015805639326572418} + +#define ZSOURCEI {0.347978035919368267059,0.2037199228070676326752,0.5962978359311819076538,\ +0.8342303414829075336456,0.6809655660763382911682,0.9127784068696200847626,\ +0.5243799723684787750244,0.7204323844052851200104,0.3259664541110396385193,\ +0.1506391367875039577484,0.9124387521296739578247,0.6345743131823837757111,\ +0.9268973069265484809875,0.7633614349178969860077,0.5918717086315155029297,\ +0.9057438620366156101227,0.3263365356251597404480,0.3912780000828206539154,\ +0.4635267537087202072144,0.0849754814989864826202,0.5800507226958870887756,\ +0.7945564310066401958466,0.3823457323014736175537,0.3010852993465960025787,\ +0.5789428642019629478455,0.2627451247535645961761,0.5713048521429300308228,\ +0.1848654565401375293732,0.9971724869683384895325,0.4520535501651465892792,\ +0.0334019884467124938965,0.4553878181613981723785,0.7851976407691836357117,\ +0.4941168962977826595306,0.9304408635944128036499,0.7621670593507587909698,\ +0.9264887655153870582581,0.7199950958602130413055,0.3973621018230915069580,\ +0.8769331262446939945221,0.6766644334420561790466,0.8431562236510217189789,\ +0.7608711589127779006958,0.8287630719132721424103,0.0037989662960171699524,\ +0.9451942699961364269257,0.6311131268739700317383,0.0763222672976553440094,\ +0.4486519275233149528503,0.1080312891863286495209,0.8351444136351346969604,\ +0.3109649871475994586945,0.1235694894567131996155,0.0363539229147136211395,\ +0.6609512977302074432373,0.9844443709589540958405,0.0688076755031943321228,\ +0.5140342987142503261566,0.3807653579860925674438,0.1549817589111626148224,\ +0.6850274773314595222473,0.0382853033952414989471,0.5224257782101631164551,\ +0.7454454028047621250153,0.4607118470594286918640,0.4753002314828336238861,\ +0.8575385268777608871460,0.8073885519988834857941,0.7132545644417405128479,\ +0.0811268086545169353485,0.5751824118196964263916,0.884696914348751306534,\ +0.5624709790572524070740,0.7315255901776254177094,0.6099120099097490310669,\ +0.0705954921431839466095,0.8552806274965405464172,0.7045627343468368053436,\ +0.5928074717521667480469,0.8517647930420935153961,0.2603117255493998527527,\ +0.8596871509216725826263,0.3943212013691663742065,0.3333164160139858722687,\ +0.2511775353923439979553,0.5570420245639979839325,0.7276714108884334564209,\ +0.9383780122734606266022,0.1971746077761054039001,0.1607607132755219936371,\ +0.7815325502306222915649,0.1760376212187111377716,0.2801528992131352424622,\ +0.4699970218352973461151,0.3507726117968559265137,0.5713973813690245151520,\ +0.4563077641651034355164,0.9214398502372205257416,0.4339873101562261581421,\ +0.3514866163022816181183,0.1816438222303986549377,0.9070622171275317668915,\ +0.7665811367332935333252,0.9807842955924570560455,0.1198607003316283226013,\ +0.0508546582423150539398,0.2581452894955873489380,0.1401008707471191883087,\ +0.5514106499031186103821,0.7882929998449981212616,0.8028824776411056518555,\ +0.2425694861449301242828,0.7024780390784144401550,0.0922905071638524532318,\ +0.4318286012858152389526,0.0804965649731457233429,0.7126307198777794837952,\ +0.6893844078294932842255,0.2756213061511516571045,0.6968217701651155948639,\ +0.4598932703956961631775,0.6099067903123795986176,0.3065654132515192031860,\ +0.0749373403377830982208,0.9619921119883656501770,0.4158898773603141307831,\ +0.3287452235817909240723,0.7406168007291853427887,0.5725225014612078666687,\ +0.9504556744359433650970,0.1849336978048086166382,0.8698030491359531879425,\ +0.6907873982563614845276,0.9524399931542575359344,0.6490485109388828277588,\ +0.9960058168508112430573,0.2040582066401839256287,0.3800008497200906276703,\ +0.9729049820452928543091,0.9110585046000778675079,0.3810073928907513618469,\ +0.7869612383656203746796,0.5560158789157867431641,0.8529843934811651706696,\ +0.4350629774853587150574,0.5956362797878682613373,0.7071880977600812911987,\ +0.5747222309000790119171,0.4764349022880196571350,0.6098947445861995220184,\ +0.9666662178933620452881,0.3874611915089190006256,0.0715632727369666099548,\ +0.6122049516998231410980,0.9575729314237833023071,0.7723352131433784961700,\ +0.1287384750321507453918,0.3884150418452918529510,0.2353963479399681091309,\ +0.6542267077602446079254,0.3286431683227419853210,0.024017625954002141953,\ +0.1042741741985082626343,0.9314296473748981952667,0.8185661518946290016174,\ +0.8156488086096942424774,0.8688247688114643096924,0.3549220249988138675690,\ +0.3890381073579192161560,0.6415715864859521389008,0.4902750719338655471802,\ +0.3509976905770599842072,0.8516392158344388008118,0.1348936217837035655975,\ +0.1156354099512100219727,0.8810075619257986545563,0.8367286501452326774597,\ +0.5032693906687200069427,0.4486711751669645309448,0.9319602106697857379913,\ +0.7298459419980645179749,0.3388367067091166973114,0.4314213804900646209717,\ +0.7317318231798708438873,0.9655342241749167442322,0.2621376193128526210785,\ +0.2050140891224145889282,0.2826355365104973316193,0.3973353477194905281067,\ +0.7437736871652305126190,0.8185287192463874816895,0.3071001493372023105621,\ +0.9627068741247057914734,0.9475456266663968563080,0.6546552237123250961304,\ +0.1992082078941166400909,0.3616109425202012062073,0.9388273353688418865204,\ +0.0409001447260379791260,0.0758434669114649295807} +#define ZRESULTR {-0.3290495609832542744932,-0.2133542315965856750459,-0.2143604594080804615075,\ +-0.0779993516667897290873,-0.0881879704812010417614,-0.0392492308819259588804,\ +-0.1468107357971605020364,-0.1080692186653561120968,-0.1065683791205834785032,\ +-0.0273353392421778126908,0.1191283090947614642374,-0.1819586746730034731989,\ +-0.0146372370113581271034,-0.1172624775653131612430,-0.2254678765990359434745,\ +-0.0331498720885635145272,-0.3009243692795003366491,-0.3306899894153413344000,\ +-0.3045496213459356615871,-0.2169562594261553178931,-0.1622895628928226752219,\ +-0.0725702069682954281626,-0.1801817524356017496956,-0.0638691649231626773497,\ +0.0382899018433042123699,-0.5136597137709293381391,0.0453803311793120195405,\ +-0.4840630563482673509590,0.0043573655682720771609,-0.0053634673446913633602,\ +-0.2922091972771523882280,-0.0379710404096835762999,0.0615264246077369611476,\ +-0.1177861239572535467790,-0.0027606815124210713590,0.0827769612970807588948,\ +0.0103506258196890514600,-0.0414069352257771042258,-0.0028258322392286264017,\ +0.0191369442490108253307,-0.1537687128497234601010,-0.0721417928417731474378,\ +0.0027147719270748577915,-0.0735641860746090447964,-0.0127065691399337477724,\ +0.0059853142299196512854,-0.0125407536616094668347,-0.0108856950196654141821,\ +-0.3292710076447024625246,-0.3259617043131136093770,-0.0020400145634434829929,\ +-0.1479281118584361010004,-0.9017915683260822046208,-0.3542710907015680921184,\ +-0.0370225124342607042616,0.0151168335656557354524,-0.3642515556722971115100,\ +-0.0288172015063716119299,-0.4149670396818516682202,-0.0092330629379009203361,\ +-0.0106663219864977006773,-0.7243988137694490347940,-0.1958487567186202316094,\ +0.0439375096643265586338,-0.0920894961670395001407,-0.0491603497010221490715,\ +0.0086566739889077232162,0.0339376585197796801219,-0.1304877971769988764805,\ +-0.0630508696074615210270,-0.2293705604967442579500,-0.0219724307162800849835,\ +-0.1224692215475379208911,-0.0531242407432285373980,-0.1143402977644937118518,\ +-0.0234761498308886963626,0.1091329563146860859302,-0.0527638328353893792944,\ +0.0024222192478416683901,0.0292586204417139908451,-0.1262209046057715389200,\ +0.0369593428671423362974,0.0158795483132631205792,-0.4767086450021467136651,\ +-0.1746242034102962470410,-0.1615510250958859250758,-0.1371556526467043735096,\ +0.100945647205856317563,-0.6837031045647332661019,-0.0014388289408900174424,\ +-0.0464403701173962263349,-0.0582634176897608505041,-0.0221676835116708763340,\ +-0.1671127243957707675381,-0.3975387523773417086659,-0.1649600652341057516193,\ +-0.2862269227110153524407,-0.0328071976308584797866,0.0351271945689521844503,\ +-0.1813816670814733522654,-0.3701233874684188296378,0.0635430885883380841550,\ +-0.1049291365916461549190,0.0095204817066643597501,-0.3507837205033069172266,\ +-0.0490285470477662618793,-0.1735609734951024107907,-0.4296178908501777637952,\ +-0.2551225266448440276434,-0.0617650291008570578866,-0.0848934350447099472792,\ +-0.0331679244708535381214,0.0578595820981543801365,-0.9721832280456300656724,\ +-0.2220295759617292030708,-0.0235337862370093645059,0.0670980880683051256197,\ +0.0456584724702859962031,-0.4050627643604459149351,0.0332188086620539904659,\ +-0.1843762947107071559216,-0.2025989526775586746510,-0.1728805677287464093173,\ +-0.5006140240740283298138,-0.0039574496715991209703,-0.3747624646211847876387,\ +-0.0291826804365620078030,-0.0644170285495881678184,-0.020449093098134307755,\ +0.1324382164856784949158,-0.3626939268757052303727,0.0521008032215845851010,\ +0.0438487661958249438920,0.0803943913989621228300,-0.1872441239933456957889,\ +0.0719513030064179159861,-0.3021736609622284186472,-0.30531498564977166410,\ +0.1057250974802272092123,-0.0218353036625967035500,-0.2885450025056992551242,\ +-0.0214746210927109354438,-0.0480309906528200089570,0.1141195620733326948626,\ +-0.2872136450436454380153,-0.2146876003507041108520,-0.0987270319138862650910,\ +-0.0290961734854755134372,0.0117611124704010052561,-0.1486623273058947924952,\ +0.1031611720947231414236,-0.3065510644941032425415,-0.0081304707590571338727,\ +0.0681862604059072646701,0.0269042920576901857521,0.0396225366257938194092,\ +-0.4394191704520844510284,-0.4089149013992912085058,-0.4543230131010723149565,\ +-0.0586330634787295829069,-0.4539044694277152292017,-1.3529821933222951901854,\ +-0.0250304307835438853702,0.0358632689692895620381,0.0372933340583203806751,\ +-0.0498532689013882687745,0.0416880085188151769393,-0.3780489142107763544942,\ +-0.0569883570641069869822,-0.1773959401592627993516,-0.2529880791121558170076,\ +-0.0887499827789579032178,-0.0688387899649425538673,-0.2164511122923038211052,\ +-0.6104407141161303229637,0.0686738036393797490753,-0.0747689959340766124862,\ +-0.0391919696178445325918,-0.0650297590330818214843,0.0896829227334642459235,\ +0.0266548623220910323173,-0.3719537274000056514822,-0.3494566550303903618158,\ +0.0711759971067136287814,0.0703223378863101489245,-0.1795974324279027423135,\ +-0.2999138709331988783546,-0.0615107548910408530318,-0.3900685687486248887090,\ +-0.0867686652200203717422,-0.0780592259581650849132,-0.0014744231840779402701,\ +0.1312513908465361422984,0.0034351924950619906404,-0.1453391630458231997824,\ +-0.2452127202368474256922,-0.3536012485332969967899,0.1109696410995756055140,\ +-1.2311333463434968038541,-0.3067437997278838479609} + +#define ZRESULTI {0.3633100487665162359185,0.1474158063550214115001,0.5885387980009104680335,\ +0.6572801175741773693773,0.4285748579481841735728,0.6638943219025983388804,\ +0.3587662857455625187164,0.5117548829580961244901,0.1866273414364414962030,\ +0.0699742348195561969515,0.3328432735187898949825,0.5666303041879406920955,\ +0.5568906423318142895340,0.6796689265398294654830,0.6374873742133734255688,\ +0.5900654029247031084893,0.3087389836998947201252,0.4314129861802953325167,\ +0.5242475923033280693630,0.0610188495832547500575,0.4354133593463934692736,\ +0.5297939421633884871099,0.2681487567918271475165,0.1547283383009969981448,\ +0.2426408568390991671304,0.4474267034848418145287,0.2347646885151994655683,\ +0.2599927875089523832131,0.6126748695156737367640,0.2064522777477181547656,\ +0.0284496210471740680614,0.2258908609011123780341,0.3256261235849059465508,\ +0.3061930542060117277359,0.5264317995551247575392,0.2959401807089209746060,\ +0.4910139616058311062829,0.3969936639609323303368,0.1786986723204381510843,\ +0.4324195385396965018998,0.5655382812237433887148,0.6410621383118232374798,\ +0.3723548821340513237388,0.5990569422252302045351,0.0016988593650344200551,\ +0.5214150467894975715666,0.3070731387905711318176,0.0340224494974534080738,\ +0.5552566039785586937683,0.1002676097220635414997,0.4323764448196805720848,\ +0.1964911590800132445978,0.6084096209152420886568,0.0357352532897105071297,\ +0.3489411661881484660874,0.5453449961026168857359,0.0694263094757205379004,\ +0.2525534710601468613156,0.6206431406119353733075,0.0690444796836073154678,\ +0.3380054707664132407352,0.0887652999217624361084,0.4176207649503542729263,\ +0.3210430331362784106553,0.2631553422310267675854,0.2437584071473132274477,\ +0.4336070270779164292918,0.3661466421575780838538,0.5640596254022186561983,\ +0.0407979674024822880352,0.5856292520126130662916,0.5194472182924043668351,\ +0.3655014659417109568196,0.4226713256320973055580,0.3981267146771410581074,\ +0.0323921796076454895918,0.3160837480759546291864,0.3995349584181833169083,\ +0.273802063686018282151,0.4000313483957886884212,0.1544145556607701974539,\ +0.3952425864610250583198,0.1693632158699578948990,0.6627611949754427245196,\ +0.167173661907591114550,0.4086002639927426849376,0.6540985540228395622719,\ +0.3642324586236761474467,0.5468253741606181606016,0.0703565244510996889993,\ +0.4580361055958868110594,0.0880301024358387529389,0.1299718766609879727625,\ +0.3310527463405003034680,0.4637212462953029801227,0.4294623340021747059936,\ +0.4691072369162453403746,0.6335809675670333040998,0.1788460444456893838616,\ +0.2444904068796305007805,0.1910877540250672246280,0.3910553307022346936073,\ +0.5870156732892560791370,0.5581921905883382439839,0.1182006499862187365313,\ +0.0247387920792678586701,0.1716217468036307647328,0.1677637778431290971337,\ +0.6278971871585069530752,0.4952349292223454657602,0.5872771345770251283369,\ +0.1150482129328096875254,0.2875910738555041423758,0.4544626742179224132556,\ +0.3490957130610289338435,0.0369504335660946620079,0.2852598765351710419225,\ +0.2907565249995825995555,0.3370230396263981242910,0.3047404031476670938083,\ +0.33865617237418182972,0.5799887649794799315828,0.2058615017488183152050,\ +0.1040542236456874769512,0.5769758315245528956794,0.6086314545246159779524,\ +0.1560306547104348962041,0.4487914762887483810516,0.2795367938070804081363,\ +0.3371389774796904048593,0.1912601282140735381443,0.3826791464254168939618,\ +0.2928983745329591936724,0.396613573038569422469,0.6618005209348483131038,\ +0.4362846209517689533008,0.1830850765515834310815,0.3800035453193333911948,\ +0.376730811842592550054,0.5559265822426159298075,0.3620694326893729719785,\ +0.4227803813529266152571,0.2910061310239929199817,0.3106691139011089619615,\ +0.435429394944240932830,0.5878341337089509899272,0.4743827280867594087255,\ +0.2874204018606083543830,0.2094051712928121644630,0.4486348592544623370415,\ +0.3764598089790200385885,0.3919214486831592569871,0.0316949858971651426964,\ +0.2391495340218968146395,0.486361470580685850695,0.3397962718388538583270,\ +0.1571941632596165761004,0.6427949822892967679522,0.3189060883322832884446,\ +0.3675164927613087662017,0.5242598134907254792125,0.2484566158604845087510,\ +0.0480705017921116625756,0.4475807306655288364539,0.3691029449284471408710,\ +0.5016842301167260265160,0.3950665170276177473596,0.4392508841037601752255,\ +0.1996012963954646446396,0.5673662159944875549300,0.4652972123009525562409,\ +0.1933199899606511118488,0.6541522766180654091528,0.0972438028822732308809,\ +0.2132613189014408716648,0.3697245333311866000159,0.6342931063454819717862,\ +0.2533327612355570357394,0.2380763598053285134970,0.3736506508141989035821,\ +0.3285546506249918952136,0.4011970200297387822985,0.5663267577447791412126,\ +0.2910519034072798771895,0.4184422115344140213899,0.1770121129168618634431,\ +0.1829818983774834095790,0.1440504268816359956240,0.5858489671891115024849,\ +0.4947061064648006212252,0.5945317434266266243270,0.1360392849738219778200,\ +0.3438694289300276984989,0.5310838098864226752838,0.5016736389654107286518,\ +0.1554601034674029658156,0.4147310296690985831347,0.3535773010333992383281,\ +0.3345663906426585842979,0.0670148638928397127890} + + + + void dlog10sTest(void) { - /* FIXME : Implement some test here ... */ - printf(">> Double scalar\n"); - printf("dlog10s(0) = %e\n", dlog10s(0.0)); + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dlog10s(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } +} + +void zlog10sTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zlog10s(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-14); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } +} + +void dlog10aTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dlog10a(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } +} + +void zlog10aTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex *in,out[200]; + int i; + + + in=DoubleComplexMatrix(inR,inI,200); + zlog10a(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(zreals(out[i])-resR[i]))/(fabs(zreals(out[i]))) )<1e-14); + assert(( (fabs(zimags(out[i])-resI[i]))/(fabs(zimags(out[i]))) )<1e-15); + } } int testLog10(void) { printf("\n>>>> Double 10-Based Logarithm Tests\n"); dlog10sTest(); - /* FIXME : Implement some test here ... */ - /* - zlog10sTest(); - dlog10aTest(); - zlog10aTest(); - */ + zlog10sTest(); + dlog10aTest(); + zlog10aTest(); return 0; } diff --git a/src/elementaryFunctions/log10/testFloatLog10.c b/src/elementaryFunctions/log10/testFloatLog10.c index f3a8b953..bfddf6a8 100644 --- a/src/elementaryFunctions/log10/testFloatLog10.c +++ b/src/elementaryFunctions/log10/testFloatLog10.c @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2006-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2006-2008 - INRIA - Arnaud TORSET * * This file must be used under the terms of the CeCILL. * This source file is licensed as described in the file COPYING, which @@ -12,21 +12,480 @@ #include "testLog10.h" +#define SOURCE {0.3628176329657435417175f,0.924179898109287023544f,0.5243524145334959030151f,\ +0.7886543427594006061554f,0.6525151440873742103577f,0.2477638195268809795380f,\ +0.2364655844867229461670f,0.7240293831564486026764f,0.8278210600838065147400f,\ +0.4287728047929704189301f,0.4858888480812311172485f,0.5923984018154442310333f,\ +0.0949383648112416267395f,0.1356843891553580760956f,0.9917455688118934631348f,\ +0.7212927364744246006012f,0.0115638775750994682312f,0.0211908905766904354095f,\ +0.1524727698415517807007f,0.9165380974300205707550f,0.4467271203175187110901f,\ +0.5868234331719577312469f,0.1882771886885166168213f,0.4196520284749567508698f,\ +0.2730510598048567771912f,0.7565603456459939479828f,0.9378882069140672683716f,\ +0.0586007428355515003204f,0.5101847248151898384094f,0.5031699347309768199921f,\ +0.7783576548099517822266f,0.6856653341092169284821f,0.1381576983258128166199f,\ +0.371037633623927831650f,0.6366564910858869552612f,0.4961673622019588947296f,\ +0.2994064847007393836975f,0.2392275254242122173309f,0.5618183575570583343506f,\ +0.3218038142658770084381f,0.1082227518782019615173f,0.1685282415710389614105f,\ +0.8263800088316202163696f,0.4923414406366646289825f,0.7863734485581517219543f,\ +0.6762332352809607982635f,0.0258686169981956481934f,0.3594204657711088657379f,\ +0.3436427963897585868835f,0.2824054299853742122650f,0.1450859513133764266968f,\ +0.0762176741845905780792f,0.5220461571589112281799f,0.6713762427680194377899f,\ +0.0599394328892230987549f,0.7267188713885843753815f,0.2224657749757170677185f,\ +0.3122289828024804592133f,0.4435700643807649612427f,0.3983507198281586170197f,\ +0.1324583934620022773743f,0.8820166247896850109100f,0.5455272346735000610352f,\ +0.2917219498194754123688f,0.7739847479388117790222f,0.3354639573954045772552f,\ +0.8127403985708951950073f,0.4612239454872906208038f,0.6898109326139092445374f,\ +0.9649041066877543926239f,0.8210376314818859100342f,0.2802407057024538516998f,\ +0.9873316427692770957947f,0.294199434574693441391f,0.4859610591083765029907f,\ +0.2247181800194084644318f,0.9585652919486165046692f,0.1503968122415244579315f,\ +0.0216291621327400207520f,0.0688429796136915683746f,0.9950710041448473930359f,\ +0.7568672685883939266205f,0.6163959559053182601929f,0.0865804632194340229034f,\ +0.5165374809876084327698f,0.1916800136677920818329f,0.2940570451319217681885f,\ +0.3528221980668604373932f,0.1317937439307570457458f,0.0549608371220529079437f,\ +0.929352553561329841614f,0.737892795819789171219f,0.7509917514398694038391f,\ +0.6889848816208541393280f,0.8865169286727905273438f,0.6891661235131323337555f,\ +0.8677108911797404289246f,0.7947537912987172603607f,0.2496256213635206222534f,\ +0.3935408894903957843781f,0.7297343472018837928772f,0.7888072351925075054169f,\ +0.113488640636205673218f,0.4145256043411791324615f,0.6172473421320319175720f,\ +0.7440188056789338588715f,0.9038409832864999771118f,0.3976829168386757373810f,\ +0.9472072543576359748840f,0.2581262919120490550995f,0.1955799385905265808105f,\ +0.9381833248771727085114f,0.4226356102153658866882f,0.0937463282607495784760f,\ +0.9977992679923772811890f,0.2042182614095509052277f,0.9455819511786103248596f,\ +0.9336234177462756633759f,0.9743702597916126251221f,0.4100225553847849369049f,\ +0.5125095760449767112732f,0.0948633304797112941742f,0.5688196588307619094849f,\ +0.7322562676854431629181f,0.8108531581237912178040f,0.5459008770994842052460f,\ +0.5022544711828231811523f,0.7634959020651876926422f,0.7354982374235987663269f,\ +0.0699520572088658809662f,0.6130836438387632369995f,0.0965849910862743854523f,\ +0.5439325878396630287170f,0.9187005828134715557098f,0.5072866193950176239014f,\ +0.1335940570570528507233f,0.8688194593414664268494f,0.7999687767587602138519f,\ +0.9879787657409906387329f,0.7131399479694664478302f,0.3067426951602101325989f,\ +0.5431228461675345897675f,0.7330236807465553283691f,0.6498145484365522861481f,\ +0.8018737239763140678406f,0.2859625308774411678314f,0.1894423719495534896851f,\ +0.7794728656299412250519f,0.5433104271069169044495f,0.5268451268784701824188f,\ +0.1533693112432956695557f,0.6041304902173578739166f,0.5948378806933760643005f,\ +0.8857938847504556179047f,0.0043053645640611648560f,0.1302204323001205921173f,\ +0.9758609728887677192688f,0.9183407831005752086639f,0.0624175965785980224609f,\ +0.9939593323506414890289f,0.4122588960453867912292f,0.8258536770008504390717f,\ +0.0376359503716230392456f,0.4675730471499264240265f,0.4759115139022469520569f,\ +0.4060978214256465435028f,0.0392968021333217620850f,0.4401316107250750064850f,\ +0.3316476037725806236267f,0.0877817696891725063324f,0.1150833908468484878540f,\ +0.9667435702867805957794f,0.8103649737313389778137f,0.3928376468829810619354f,\ +0.7880131229758262634277f,0.4798596971668303012848f,0.0270724548026919364929f,\ +0.6701857983134686946869f,0.5602217521518468856812f,0.2564360727556049823761f,\ +0.2626037681475281715393f,0.4447338129393756389618f,0.8522944338619709014893f,\ +0.2347065494395792484283f,0.3277532672509551048279f,0.2253599218092858791351f,\ +0.3468936551362276077271f,0.7743145865388214588165f,0.1285835551097989082336f,\ +0.1156307714991271495819f,0.2054340392351150512695f,0.4535544612444937229156f,\ +0.6516549764201045036316f,0.0710035725496709346771f,0.1265540253371000289917f,\ +0.4974718545563519001007f,0.0879269847646355628967f,0.1462626229040324687958f,\ +0.715134423226118087769f,0.9305738122202455997467f} + +#define RESULT {-0.4403116143527589509965f,-0.0342434820791150257291f,-0.2803767278195338774616f,\ +-0.1031133008775467624352f,-0.1854094044230032989340f,-0.6059621125162122368124f,\ +-0.6262320581190643498104f,-0.1402438085490333719019f,-0.0820635291772953134881f,\ +-0.36777276786493884320f,-0.3134630685689411833117f,-0.2273861217978072890578f,\ +-1.0225582527058232340522f,-0.8674701161846418706602f,-0.0035997313073961446743f,\ +-0.1418884411982046234169f,-1.9368965147824408479238f,-1.67385079107519252339f,\ +-0.8168077101761380687250f,-0.0378494781542935143648f,-0.3499576811822522337536f,\ +-0.2314925521326422763746f,-0.7252022951018919361132f,-0.3771106732935153860176f,\ +-0.563756133479260124197f,-0.1211564255577455423429f,-0.0278489249618575039624f,\ +-1.232096878737263700998f,-0.2922725485247071319783f,-0.2982853166297994018663f,\ +-0.1088207991305185085018f,-0.1638878070544614040660f,-0.8596249106224531644216f,\ +-0.4305820385081238765856f,-0.1960948286770107240606f,-0.3043718069355866306935f,\ +-0.5237387977162476504489f,-0.6211888520577832917269f,-0.2504040742204550751282f,\ +-0.4924088126148459254594f,-0.9656814270628060192792f,-0.7733273106340565750116f,\ +-0.0828201974893169740044f,-0.3077336078949636233304f,-0.1043711586288077197704f,\ +-0.169903488488286208424f,-1.5872267891461315780788f,-0.444397197348344763501f,\ +-0.4638927555552059822652f,-0.5491269570890252582629f,-0.8383746383028719550978f,\ +-1.1179443080462672099884f,-0.2822910967808678894819f,-0.1730340307038858715938f,\ +-1.222287370403489781268f,-0.1386335619293298515586f,-0.6527367931436293124747f,\ +-0.5055267858124582458501f,-0.3530377711634032356081f,-0.3997343937184095197246f,\ +-0.8779205166514928437849f,-0.0545232289425809854566f,-0.2631835629983380608898f,\ +-0.535030892349513287343f,-0.1112675973936914503026f,-0.4743541340498391156721f,\ +-0.0900481524037324287946f,-0.3360881534089125155518f,-0.1612699269064814533436f,\ +-0.0155158452113394202537f,-0.0856369369482974790442f,-0.5524687820481442024345f,\ +-0.0055369441569604379433f,-0.5313581662832899121796f,-0.3133985301037985338191f,\ +-0.6483617911201521311071f,-0.0183783001388101094320f,-0.8227613688014733250853f,\ +-1.664960303869991609105f,-1.1621403411076904887977f,-0.0021459286933866758389f,\ +-0.1209802758154948920666f,-0.2101402192945755753595f,-1.0625800949711647902518f,\ +-0.2868981597290535812128f,-0.7174231683233029954749f,-0.5315684111428640168384f,\ +-0.4524440987253919854716f,-0.8801052046193623690229f,-1.259946661051862371039f,\ +-0.0318195034221232311844f,-0.1320067297295647867905f,-0.1243648330674980567734f,\ +-0.1617903077014812007750f,-0.05231296682112057672f,-0.1616760787761070405910f,\ +-0.0616249514134949369359f,-0.0997673916469928034889f,-0.6027108410820325445911f,\ +-0.4050101371105858660826f,-0.1368352118545152207307f,-0.1030291145605434360855f,\ +-0.9450476059237150616710f,-0.3824486388636323952461f,-0.2095407714646851937701f,\ +-0.1284160871700188444322f,-0.0439079701395359081606f,-0.4004630644881080336894f,\ +-0.0235549844857810899978f,-0.5881677573670978098619f,-0.7086756945701918608549f,\ +-0.0277122904020632616906f,-0.3740339131793987692554f,-1.0280457331716890134743f,\ +-0.0009568190047624330983f,-0.6899054254479447534365f,-0.0243008259915241074667f,\ +-0.0298282635710438621957f,-0.0112759802587220972492f,-0.38719225203706036931f,\ +-0.2902980155704742437628f,-1.0229016321238477704725f,-0.2450254024783888040506f,\ +-0.1353369023236559165468f,-0.0910577874542803367142f,-0.2628862079121005446147f,\ +-0.2990761883748661031923f,-0.1171932896033063276064f,-0.1334183636952847862300f,\ +-1.1551995088873641126526f,-0.2124802700500995344957f,-1.0150903559327661973555f,\ +-0.2644549211536121879895f,-0.0368260081130531435889f,-0.2947465928364439435860f,\ +-0.8742128610575919944736f,-0.0610704605568186745246f,-0.0969269634405601765437f,\ +-0.0052523894413354609012f,-0.1468252349912699539214f,-0.5132257708646462690538f,\ +-0.2651019284616369375840f,-0.1348819950022109859233f,-0.1872105696377188988055f,\ +-0.0958940173743543372575f,-0.5436908679171403857566f,-0.7225228772557727996428f,\ +-0.1081989985152894545584f,-0.2649519599919711310143f,-0.2783170326568494279407f,\ +-0.8142615327667455105143f,-0.2188692450535288658298f,-0.2256013823621523806118f,\ +-0.0526673222769318341574f,-2.3659900680299497111037f,-0.8853208672348196195401f,\ +-0.0106120501693722224523f,-0.0369961284323869002422f,-1.2046929580793401814987f,\ +-0.0026313843119589821508f,-0.3848299640358096573856f,-0.0830968932369530594029f,\ +-1.424397112818484689711f,-0.3301505313242010797303f,-0.3224737880280506563402f,\ +-0.3913693403433980977368f,-1.4056427898881791449526f,-0.3564174388206851062932f,\ +-0.4793231362281260010683f,-1.0565956679830132980413f,-0.9389873504280431548707f,\ +-0.0146887076937459951781f,-0.0913193386792951061759f,-0.4057868990671495423861f,\ +-0.1034665500376885233225f,-0.3188857244019617231956f,-1.5674723626658799702227f,\ +-0.1738047793945742269806f,-0.2516400325061770026913f,-0.5910208828319416518582f,\ +-0.5806990464341352797817f,-0.3518998500546973717817f,-0.0694103478250598926458f,\ +-0.6294747913311795617375f,-0.4844529702954271654924f,-0.6471233167047535372873f,\ +-0.4598036435552441125729f,-0.1110825594195994081570f,-0.8908145709277390800196f,\ +-0.9369265766947033613476f,-0.6873275946862682506122f,-0.3433705568996603396670f,\ +-0.1859822838651877530136f,-1.1487197991742361669054f,-0.8977240365674604705148f,\ +-0.3032314852833657981002f,-1.055877819626311886481f,-0.8348666427090224440022f,\ +-0.1456123165510203598672f,-0.0312491733461308825170f} + +#define CSOURCER {0.3140813848003745079041f,0.5769402063451707363129f,0.1306138429790735244751f,\ +0.0478980806656181812286f,0.4500174494460225105286f,0.0384718659333884716034f,\ +0.483350999653339385986f,0.2981918179430067539215f,0.7112689120694994926453f,\ +0.9268360524438321590424f,0.9477838929742574691772f,0.1729496796615421772003f,\ +0.2750928336754441261292f,0.0044281478039920330048f,0.0611358620226383209229f,\ +0.1950612799264490604401f,0.3789803450927138328552f,0.2549188635312020778656f,\ +0.1764185149222612380981f,0.6008180272765457630157f,0.3703392641618847846985f,\ +0.2908470141701400279999f,0.5384815335273742675781f,0.8090293356217443943024f,\ +0.9260985879227519035339f,0.1576966657303273677826f,0.9518593531101942062378f,\ +0.2709982101805508136749f,0.1609848598018288612366f,0.8782086591236293315887f,\ +0.5091647170484066009521f,0.7951062084175646305084f,0.8432204117998480796814f,\ +0.5806765086017549037933f,0.3487791065126657485962f,0.9397577759809792041779f,\ +0.4363934816792607307434f,0.5549766751937568187714f,0.9105900451540946960449f,\ +0.5684339576400816440582f,0.1862502051517367362976f,0.0800832151435315608978f,\ +0.6585252787917852401733f,0.1606054832227528095245f,0.9711584830656647682190f,\ +0.3668168033473193645477f,0.7386338301002979278564f,0.9722552285529673099518f,\ +0.1349937235936522483826f,0.4595781317912042140961f,0.5414639282971620559692f,\ +0.6397600513882935047150f,0.0211964594200253486633f,0.4408156829886138439178f,\ +0.6374878138303756713867f,0.3208820023573935031891f,0.4267518399283289909363f,\ +0.7819778784178197383881f,0.0543234180659055709839f,0.9666189108975231647491f,\ +0.6948409983888268470764f,0.1846996019594371318817f,0.3645029179751873016357f,\ +0.8176643461920320987701f,0.664914294146001338959f,0.7559730983339250087738f,\ +0.5525381658226251602173f,0.7192269531078636646271f,0.1989364298060536384583f,\ +0.8610532465390861034393f,0.1300329938530921936035f,0.347959163133054971695f,\ +0.5025534434244036674500f,0.4978472082875669002533f,0.4675923939794301986694f,\ +0.9447452803142368793488f,0.9599315756931900978088f,0.5365384514443576335907f,\ +0.8122785724699497222900f,0.6470989421941339969635f,0.7010180121287703514099f,\ +0.6681951484642922878265f,0.9593638796359300613403f,0.0149199557490646839142f,\ +0.6199735002592206001282f,0.4061129498295485973358f,0.0471306145191192626953f,\ +0.8433605083264410495758f,0.0635268418118357658386f,0.9836421324871480464935f,\ +0.4434677045792341232300f,0.8565507535822689533234f,0.9080012599006295204163f,\ +0.4922491232864558696747f,0.1930142603814601898193f,0.3759337724186480045319f,\ +0.2437626412138342857361f,0.1035623974166810512543f,0.9936000052839517593384f,\ +0.5569599089212715625763f,0.3858396532014012336731f,0.7191527518443763256073f,\ +0.1707325801253318786621f,0.2878904812969267368317f,0.4294657362625002861023f,\ +0.8917979537509381771088f,0.6188817229121923446655f,0.3444608678109943866730f,\ +0.0692929709330201148987f,0.3619817639701068401337f,0.1783103235065937042236f,\ +0.8941529677249491214752f,0.9010278200730681419373f,0.0533773354254662990570f,\ +0.4162023533135652542114f,0.9438270372338593006134f,0.9242387460544705390930f,\ +0.8710649865679442882538f,0.2808376699686050415039f,0.8244629004038870334625f,\ +0.4650857029482722282410f,0.1462343498133122920990f,0.5975636970251798629761f,\ +0.3067605351097881793976f,0.2377215037122368812561f,0.0711208949796855449677f,\ +0.8753139786422252655029f,0.4413500339724123477936f,0.7631150623783469200134f,\ +0.9679268277250230312347f,0.3924236092716455459595f,0.717360940296202898026f,\ +0.8640465112403035163879f,0.7354763629846274852753f,0.0304915383458137512207f,\ +0.6331009590066969394684f,0.4550241930410265922546f,0.3173553734086453914642f,\ +0.8250397499650716781616f,0.2725940425880253314972f,0.3458735281601548194885f,\ +0.5352854127995669841766f,0.7017193175852298736572f,0.9817278520204126834869f,\ +0.2777477568015456199646f,0.1314821145497262477875f,0.366813333705067634583f,\ +0.7377605927176773548126f,0.9103105561807751655579f,0.3637479650788009166718f,\ +0.8207867145538330078125f,0.3059372254647314548492f,0.9788405327126383781433f,\ +0.9970494522713124752045f,0.4636328797787427902222f,0.7769650523550808429718f,\ +0.3400075891986489295959f,0.0353285889141261577606f,0.2607673071324825286865f,\ +0.5790986777283251285553f,0.1250711670145392417908f,0.0372988111339509487152f,\ +0.9382179621607065200806f,0.5585843441076576709747f,0.7192503632977604866028f,\ +0.3599752518348395824432f,0.6758626028895378112793f,0.2222136431373655796051f,\ +0.7860159231349825859070f,0.1736893891356885433197f,0.2674629595130681991577f,\ +0.7357366015203297138214f,0.0550541067495942115784f,0.5923380698077380657196f,\ +0.2162457890808582305908f,0.7718841419555246829987f,0.0926524316892027854919f,\ +0.7626169077120721340179f,0.7347808051854372024536f,0.8017499190755188465118f,\ +0.7732572900131344795227f,0.2559880572371184825897f,0.1179054826498031616f,\ +0.9232815303839743137360f,0.6709534404799342155457f,0.6071323617361485958099f,\ +0.4574467372149229049683f,0.8206311021931469440460f,0.0896153757348656654358f,\ +0.3426358769647777080536f,0.1674894802272319793701f,0.9481152505613863468170f,\ +0.9504805644974112510681f,0.3436607695184648036957f,0.2889420483261346817017f,\ +0.5325344172306358814240f,0.2558945687487721443176f,0.8863505902700126171112f,\ +0.0421485081315040588379f,0.4876015805639326572418f} + +#define CSOURCEI {0.347978035919368267059f,0.2037199228070676326752f,0.5962978359311819076538f,\ +0.8342303414829075336456f,0.6809655660763382911682f,0.9127784068696200847626f,\ +0.5243799723684787750244f,0.7204323844052851200104f,0.3259664541110396385193f,\ +0.1506391367875039577484f,0.9124387521296739578247f,0.6345743131823837757111f,\ +0.9268973069265484809875f,0.7633614349178969860077f,0.5918717086315155029297f,\ +0.9057438620366156101227f,0.3263365356251597404480f,0.3912780000828206539154f,\ +0.4635267537087202072144f,0.0849754814989864826202f,0.5800507226958870887756f,\ +0.7945564310066401958466f,0.3823457323014736175537f,0.3010852993465960025787f,\ +0.5789428642019629478455f,0.2627451247535645961761f,0.5713048521429300308228f,\ +0.1848654565401375293732f,0.9971724869683384895325f,0.4520535501651465892792f,\ +0.0334019884467124938965f,0.4553878181613981723785f,0.7851976407691836357117f,\ +0.4941168962977826595306f,0.9304408635944128036499f,0.7621670593507587909698f,\ +0.9264887655153870582581f,0.7199950958602130413055f,0.3973621018230915069580f,\ +0.8769331262446939945221f,0.6766644334420561790466f,0.8431562236510217189789f,\ +0.7608711589127779006958f,0.8287630719132721424103f,0.0037989662960171699524f,\ +0.9451942699961364269257f,0.6311131268739700317383f,0.0763222672976553440094f,\ +0.4486519275233149528503f,0.1080312891863286495209f,0.8351444136351346969604f,\ +0.3109649871475994586945f,0.1235694894567131996155f,0.0363539229147136211395f,\ +0.6609512977302074432373f,0.9844443709589540958405f,0.0688076755031943321228f,\ +0.5140342987142503261566f,0.3807653579860925674438f,0.1549817589111626148224f,\ +0.6850274773314595222473f,0.0382853033952414989471f,0.5224257782101631164551f,\ +0.7454454028047621250153f,0.4607118470594286918640f,0.4753002314828336238861f,\ +0.8575385268777608871460f,0.8073885519988834857941f,0.7132545644417405128479f,\ +0.0811268086545169353485f,0.5751824118196964263916f,0.884696914348751306534f,\ +0.5624709790572524070740f,0.7315255901776254177094f,0.6099120099097490310669f,\ +0.0705954921431839466095f,0.8552806274965405464172f,0.7045627343468368053436f,\ +0.5928074717521667480469f,0.8517647930420935153961f,0.2603117255493998527527f,\ +0.8596871509216725826263f,0.3943212013691663742065f,0.3333164160139858722687f,\ +0.2511775353923439979553f,0.5570420245639979839325f,0.7276714108884334564209f,\ +0.9383780122734606266022f,0.1971746077761054039001f,0.1607607132755219936371f,\ +0.7815325502306222915649f,0.1760376212187111377716f,0.2801528992131352424622f,\ +0.4699970218352973461151f,0.3507726117968559265137f,0.5713973813690245151520f,\ +0.4563077641651034355164f,0.9214398502372205257416f,0.4339873101562261581421f,\ +0.3514866163022816181183f,0.1816438222303986549377f,0.9070622171275317668915f,\ +0.7665811367332935333252f,0.9807842955924570560455f,0.1198607003316283226013f,\ +0.0508546582423150539398f,0.2581452894955873489380f,0.1401008707471191883087f,\ +0.5514106499031186103821f,0.7882929998449981212616f,0.8028824776411056518555f,\ +0.2425694861449301242828f,0.7024780390784144401550f,0.0922905071638524532318f,\ +0.4318286012858152389526f,0.0804965649731457233429f,0.7126307198777794837952f,\ +0.6893844078294932842255f,0.2756213061511516571045f,0.6968217701651155948639f,\ +0.4598932703956961631775f,0.6099067903123795986176f,0.3065654132515192031860f,\ +0.0749373403377830982208f,0.9619921119883656501770f,0.4158898773603141307831f,\ +0.3287452235817909240723f,0.7406168007291853427887f,0.5725225014612078666687f,\ +0.9504556744359433650970f,0.1849336978048086166382f,0.8698030491359531879425f,\ +0.6907873982563614845276f,0.9524399931542575359344f,0.6490485109388828277588f,\ +0.9960058168508112430573f,0.2040582066401839256287f,0.3800008497200906276703f,\ +0.9729049820452928543091f,0.9110585046000778675079f,0.3810073928907513618469f,\ +0.7869612383656203746796f,0.5560158789157867431641f,0.8529843934811651706696f,\ +0.4350629774853587150574f,0.5956362797878682613373f,0.7071880977600812911987f,\ +0.5747222309000790119171f,0.4764349022880196571350f,0.6098947445861995220184f,\ +0.9666662178933620452881f,0.3874611915089190006256f,0.0715632727369666099548f,\ +0.6122049516998231410980f,0.9575729314237833023071f,0.7723352131433784961700f,\ +0.1287384750321507453918f,0.3884150418452918529510f,0.2353963479399681091309f,\ +0.6542267077602446079254f,0.3286431683227419853210f,0.024017625954002141953f,\ +0.1042741741985082626343f,0.9314296473748981952667f,0.8185661518946290016174f,\ +0.8156488086096942424774f,0.8688247688114643096924f,0.3549220249988138675690f,\ +0.3890381073579192161560f,0.6415715864859521389008f,0.4902750719338655471802f,\ +0.3509976905770599842072f,0.8516392158344388008118f,0.1348936217837035655975f,\ +0.1156354099512100219727f,0.8810075619257986545563f,0.8367286501452326774597f,\ +0.5032693906687200069427f,0.4486711751669645309448f,0.9319602106697857379913f,\ +0.7298459419980645179749f,0.3388367067091166973114f,0.4314213804900646209717f,\ +0.7317318231798708438873f,0.9655342241749167442322f,0.2621376193128526210785f,\ +0.2050140891224145889282f,0.2826355365104973316193f,0.3973353477194905281067f,\ +0.7437736871652305126190f,0.8185287192463874816895f,0.3071001493372023105621f,\ +0.9627068741247057914734f,0.9475456266663968563080f,0.6546552237123250961304f,\ +0.1992082078941166400909f,0.3616109425202012062073f,0.9388273353688418865204f,\ +0.0409001447260379791260f,0.0758434669114649295807f} + +#define CRESULTR {-0.3290495609832542744932f,-0.2133542315965856750459f,-0.2143604594080804615075f,\ +-0.0779993516667897290873f,-0.0881879704812010417614f,-0.0392492308819259588804f,\ +-0.1468107357971605020364f,-0.1080692186653561120968f,-0.1065683791205834785032f,\ +-0.0273353392421778126908f,0.1191283090947614642374f,-0.1819586746730034731989f,\ +-0.0146372370113581271034f,-0.1172624775653131612430f,-0.2254678765990359434745f,\ +-0.0331498720885635145272f,-0.3009243692795003366491f,-0.3306899894153413344000f,\ +-0.3045496213459356615871f,-0.2169562594261553178931f,-0.1622895628928226752219f,\ +-0.0725702069682954281626f,-0.1801817524356017496956f,-0.0638691649231626773497f,\ +0.0382899018433042123699f,-0.5136597137709293381391f,0.0453803311793120195405f,\ +-0.4840630563482673509590f,0.0043573655682720771609f,-0.0053634673446913633602f,\ +-0.2922091972771523882280f,-0.0379710404096835762999f,0.0615264246077369611476f,\ +-0.1177861239572535467790f,-0.0027606815124210713590f,0.0827769612970807588948f,\ +0.0103506258196890514600f,-0.0414069352257771042258f,-0.0028258322392286264017f,\ +0.0191369442490108253307f,-0.1537687128497234601010f,-0.0721417928417731474378f,\ +0.0027147719270748577915f,-0.0735641860746090447964f,-0.0127065691399337477724f,\ +0.0059853142299196512854f,-0.0125407536616094668347f,-0.0108856950196654141821f,\ +-0.3292710076447024625246f,-0.3259617043131136093770f,-0.0020400145634434829929f,\ +-0.1479281118584361010004f,-0.9017915683260822046208f,-0.3542710907015680921184f,\ +-0.0370225124342607042616f,0.0151168335656557354524f,-0.3642515556722971115100f,\ +-0.0288172015063716119299f,-0.4149670396818516682202f,-0.0092330629379009203361f,\ +-0.0106663219864977006773f,-0.7243988137694490347940f,-0.1958487567186202316094f,\ +0.0439375096643265586338f,-0.0920894961670395001407f,-0.0491603497010221490715f,\ +0.0086566739889077232162f,0.0339376585197796801219f,-0.1304877971769988764805f,\ +-0.0630508696074615210270f,-0.2293705604967442579500f,-0.0219724307162800849835f,\ +-0.1224692215475379208911f,-0.0531242407432285373980f,-0.1143402977644937118518f,\ +-0.0234761498308886963626f,0.1091329563146860859302f,-0.0527638328353893792944f,\ +0.0024222192478416683901f,0.0292586204417139908451f,-0.1262209046057715389200f,\ +0.0369593428671423362974f,0.0158795483132631205792f,-0.4767086450021467136651f,\ +-0.1746242034102962470410f,-0.1615510250958859250758f,-0.1371556526467043735096f,\ +0.100945647205856317563f,-0.6837031045647332661019f,-0.0014388289408900174424f,\ +-0.0464403701173962263349f,-0.0582634176897608505041f,-0.0221676835116708763340f,\ +-0.1671127243957707675381f,-0.3975387523773417086659f,-0.1649600652341057516193f,\ +-0.2862269227110153524407f,-0.0328071976308584797866f,0.0351271945689521844503f,\ +-0.1813816670814733522654f,-0.3701233874684188296378f,0.0635430885883380841550f,\ +-0.1049291365916461549190f,0.0095204817066643597501f,-0.3507837205033069172266f,\ +-0.0490285470477662618793f,-0.1735609734951024107907f,-0.4296178908501777637952f,\ +-0.2551225266448440276434f,-0.0617650291008570578866f,-0.0848934350447099472792f,\ +-0.0331679244708535381214f,0.0578595820981543801365f,-0.9721832280456300656724f,\ +-0.2220295759617292030708f,-0.0235337862370093645059f,0.0670980880683051256197f,\ +0.0456584724702859962031f,-0.4050627643604459149351f,0.0332188086620539904659f,\ +-0.1843762947107071559216f,-0.2025989526775586746510f,-0.1728805677287464093173f,\ +-0.5006140240740283298138f,-0.0039574496715991209703f,-0.3747624646211847876387f,\ +-0.0291826804365620078030f,-0.0644170285495881678184f,-0.020449093098134307755f,\ +0.1324382164856784949158f,-0.3626939268757052303727f,0.0521008032215845851010f,\ +0.0438487661958249438920f,0.0803943913989621228300f,-0.1872441239933456957889f,\ +0.0719513030064179159861f,-0.3021736609622284186472f,-0.30531498564977166410f,\ +0.1057250974802272092123f,-0.0218353036625967035500f,-0.2885450025056992551242f,\ +-0.0214746210927109354438f,-0.0480309906528200089570f,0.1141195620733326948626f,\ +-0.2872136450436454380153f,-0.2146876003507041108520f,-0.0987270319138862650910f,\ +-0.0290961734854755134372f,0.0117611124704010052561f,-0.1486623273058947924952f,\ +0.1031611720947231414236f,-0.3065510644941032425415f,-0.0081304707590571338727f,\ +0.0681862604059072646701f,0.0269042920576901857521f,0.0396225366257938194092f,\ +-0.4394191704520844510284f,-0.4089149013992912085058f,-0.4543230131010723149565f,\ +-0.0586330634787295829069f,-0.4539044694277152292017f,-1.3529821933222951901854f,\ +-0.0250304307835438853702f,0.0358632689692895620381f,0.0372933340583203806751f,\ +-0.0498532689013882687745f,0.0416880085188151769393f,-0.3780489142107763544942f,\ +-0.0569883570641069869822f,-0.1773959401592627993516f,-0.2529880791121558170076f,\ +-0.0887499827789579032178f,-0.0688387899649425538673f,-0.2164511122923038211052f,\ +-0.6104407141161303229637f,0.0686738036393797490753f,-0.0747689959340766124862f,\ +-0.0391919696178445325918f,-0.0650297590330818214843f,0.0896829227334642459235f,\ +0.0266548623220910323173f,-0.3719537274000056514822f,-0.3494566550303903618158f,\ +0.0711759971067136287814f,0.0703223378863101489245f,-0.1795974324279027423135f,\ +-0.2999138709331988783546f,-0.0615107548910408530318f,-0.3900685687486248887090f,\ +-0.0867686652200203717422f,-0.0780592259581650849132f,-0.0014744231840779402701f,\ +0.1312513908465361422984f,0.0034351924950619906404f,-0.1453391630458231997824f,\ +-0.2452127202368474256922f,-0.3536012485332969967899f,0.1109696410995756055140f,\ +-1.2311333463434968038541f,-0.3067437997278838479609f} + +#define CRESULTI {0.3633100487665162359185f,0.1474158063550214115001f,0.5885387980009104680335f,\ +0.6572801175741773693773f,0.4285748579481841735728f,0.6638943219025983388804f,\ +0.3587662857455625187164f,0.5117548829580961244901f,0.1866273414364414962030f,\ +0.0699742348195561969515f,0.3328432735187898949825f,0.5666303041879406920955f,\ +0.5568906423318142895340f,0.6796689265398294654830f,0.6374873742133734255688f,\ +0.5900654029247031084893f,0.3087389836998947201252f,0.4314129861802953325167f,\ +0.5242475923033280693630f,0.0610188495832547500575f,0.4354133593463934692736f,\ +0.5297939421633884871099f,0.2681487567918271475165f,0.1547283383009969981448f,\ +0.2426408568390991671304f,0.4474267034848418145287f,0.2347646885151994655683f,\ +0.2599927875089523832131f,0.6126748695156737367640f,0.2064522777477181547656f,\ +0.0284496210471740680614f,0.2258908609011123780341f,0.3256261235849059465508f,\ +0.3061930542060117277359f,0.5264317995551247575392f,0.2959401807089209746060f,\ +0.4910139616058311062829f,0.3969936639609323303368f,0.1786986723204381510843f,\ +0.4324195385396965018998f,0.5655382812237433887148f,0.6410621383118232374798f,\ +0.3723548821340513237388f,0.5990569422252302045351f,0.0016988593650344200551f,\ +0.5214150467894975715666f,0.3070731387905711318176f,0.0340224494974534080738f,\ +0.5552566039785586937683f,0.1002676097220635414997f,0.4323764448196805720848f,\ +0.1964911590800132445978f,0.6084096209152420886568f,0.0357352532897105071297f,\ +0.3489411661881484660874f,0.5453449961026168857359f,0.0694263094757205379004f,\ +0.2525534710601468613156f,0.6206431406119353733075f,0.0690444796836073154678f,\ +0.3380054707664132407352f,0.0887652999217624361084f,0.4176207649503542729263f,\ +0.3210430331362784106553f,0.2631553422310267675854f,0.2437584071473132274477f,\ +0.4336070270779164292918f,0.3661466421575780838538f,0.5640596254022186561983f,\ +0.0407979674024822880352f,0.5856292520126130662916f,0.5194472182924043668351f,\ +0.3655014659417109568196f,0.4226713256320973055580f,0.3981267146771410581074f,\ +0.0323921796076454895918f,0.3160837480759546291864f,0.3995349584181833169083f,\ +0.273802063686018282151f,0.4000313483957886884212f,0.1544145556607701974539f,\ +0.3952425864610250583198f,0.1693632158699578948990f,0.6627611949754427245196f,\ +0.167173661907591114550f,0.4086002639927426849376f,0.6540985540228395622719f,\ +0.3642324586236761474467f,0.5468253741606181606016f,0.0703565244510996889993f,\ +0.4580361055958868110594f,0.0880301024358387529389f,0.1299718766609879727625f,\ +0.3310527463405003034680f,0.4637212462953029801227f,0.4294623340021747059936f,\ +0.4691072369162453403746f,0.6335809675670333040998f,0.1788460444456893838616f,\ +0.2444904068796305007805f,0.1910877540250672246280f,0.3910553307022346936073f,\ +0.5870156732892560791370f,0.5581921905883382439839f,0.1182006499862187365313f,\ +0.0247387920792678586701f,0.1716217468036307647328f,0.1677637778431290971337f,\ +0.6278971871585069530752f,0.4952349292223454657602f,0.5872771345770251283369f,\ +0.1150482129328096875254f,0.2875910738555041423758f,0.4544626742179224132556f,\ +0.3490957130610289338435f,0.0369504335660946620079f,0.2852598765351710419225f,\ +0.2907565249995825995555f,0.3370230396263981242910f,0.3047404031476670938083f,\ +0.33865617237418182972f,0.5799887649794799315828f,0.2058615017488183152050f,\ +0.1040542236456874769512f,0.5769758315245528956794f,0.6086314545246159779524f,\ +0.1560306547104348962041f,0.4487914762887483810516f,0.2795367938070804081363f,\ +0.3371389774796904048593f,0.1912601282140735381443f,0.3826791464254168939618f,\ +0.2928983745329591936724f,0.396613573038569422469f,0.6618005209348483131038f,\ +0.4362846209517689533008f,0.1830850765515834310815f,0.3800035453193333911948f,\ +0.376730811842592550054f,0.5559265822426159298075f,0.3620694326893729719785f,\ +0.4227803813529266152571f,0.2910061310239929199817f,0.3106691139011089619615f,\ +0.435429394944240932830f,0.5878341337089509899272f,0.4743827280867594087255f,\ +0.2874204018606083543830f,0.2094051712928121644630f,0.4486348592544623370415f,\ +0.3764598089790200385885f,0.3919214486831592569871f,0.0316949858971651426964f,\ +0.2391495340218968146395f,0.486361470580685850695f,0.3397962718388538583270f,\ +0.1571941632596165761004f,0.6427949822892967679522f,0.3189060883322832884446f,\ +0.3675164927613087662017f,0.5242598134907254792125f,0.2484566158604845087510f,\ +0.0480705017921116625756f,0.4475807306655288364539f,0.3691029449284471408710f,\ +0.5016842301167260265160f,0.3950665170276177473596f,0.4392508841037601752255f,\ +0.1996012963954646446396f,0.5673662159944875549300f,0.4652972123009525562409f,\ +0.1933199899606511118488f,0.6541522766180654091528f,0.0972438028822732308809f,\ +0.2132613189014408716648f,0.3697245333311866000159f,0.6342931063454819717862f,\ +0.2533327612355570357394f,0.2380763598053285134970f,0.3736506508141989035821f,\ +0.3285546506249918952136f,0.4011970200297387822985f,0.5663267577447791412126f,\ +0.2910519034072798771895f,0.4184422115344140213899f,0.1770121129168618634431f,\ +0.1829818983774834095790f,0.1440504268816359956240f,0.5858489671891115024849f,\ +0.4947061064648006212252f,0.5945317434266266243270f,0.1360392849738219778200f,\ +0.3438694289300276984989f,0.5310838098864226752838f,0.5016736389654107286518f,\ +0.1554601034674029658156f,0.4147310296690985831347f,0.3535773010333992383281f,\ +0.3345663906426585842979f,0.0670148638928397127890f} + + + + void slog10sTest(void) { - /* FIXME : Implement some test here ... */ - printf(">> Float scalar\n"); - printf("slog10s(0) = %f\n", slog10s(0.0f)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=slog10s(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5); + } +} + +void clog10sTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in,out; + int i; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=clog10s(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } +} + +void slog10aTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i,j; + j=1; + slog10a(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5); + } +} + +void clog10aTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex *in,out[200]; + int i; + + in=FloatComplexMatrix(inR,inI,200); + clog10a(in,200,out); + + for (i=0;i<200;i++){ + assert(( (fabs(creals(out[i])-resR[i]))/(fabs(creals(out[i]))) )<1e-5); + assert(( (fabs(cimags(out[i])-resI[i]))/(fabs(cimags(out[i]))) )<1e-6); + } } int testLog10(void) { printf("\n>>>> 10-Based Logarithm Tests\n"); slog10sTest(); - /* FIXME : Implement some test here ... */ - /* - clog10sTest(); - slog10aTest(); - clog10aTest(); - */ + clog10sTest(); + slog10aTest(); + clog10aTest(); return 0; } diff --git a/src/elementaryFunctions/log10/testLog10.h b/src/elementaryFunctions/log10/testLog10.h index 229b1341..5d0ed0a4 100644 --- a/src/elementaryFunctions/log10/testLog10.h +++ b/src/elementaryFunctions/log10/testLog10.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "log10.h" void slog10sTest(void); |