diff options
author | torset | 2008-11-24 15:09:15 +0000 |
---|---|---|
committer | torset | 2008-11-24 15:09:15 +0000 |
commit | 78fa83365b35d38842fdf250024236056b610a98 (patch) | |
tree | 077f78a56a1f105c81af4ae72d8760a56f212602 /src | |
parent | 53c4b8a8d161ae4199b8482a3a3eda1c13ff765e (diff) | |
download | scilab2c-78fa83365b35d38842fdf250024236056b610a98.tar.gz scilab2c-78fa83365b35d38842fdf250024236056b610a98.tar.bz2 scilab2c-78fa83365b35d38842fdf250024236056b610a98.zip |
Update tests
Diffstat (limited to 'src')
22 files changed, 6241 insertions, 537 deletions
diff --git a/src/elementaryFunctions/asin/testAsin.h b/src/elementaryFunctions/asin/testAsin.h index 0183f0ce..ede65bfc 100644 --- a/src/elementaryFunctions/asin/testAsin.h +++ b/src/elementaryFunctions/asin/testAsin.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "asin.h" #include "constant.h" diff --git a/src/elementaryFunctions/asin/testDoubleAsin.c b/src/elementaryFunctions/asin/testDoubleAsin.c index 8b0f0f5a..9ea1b092 100644 --- a/src/elementaryFunctions/asin/testDoubleAsin.c +++ b/src/elementaryFunctions/asin/testDoubleAsin.c @@ -12,78 +12,474 @@ #include "testAsin.h" +#define SOURCE {0.9356911443173885345459,0.5202743173576891422272,0.8356943717226386070251,\ +0.1390841729007661342621,0.1484344247728586196899,0.5062630889005959033966,\ +0.6569615425541996955872,0.1527653667144477367401,0.2077333852648735046387,\ +0.1310311132110655307770,0.2355898572131991386414,0.9000837444327771663666,\ +0.0360118653625249862671,0.4438733388669788837433,0.2795370602980256080627,\ +0.3609029497019946575165,0.0737524814903736114502,0.8877843604423105716705,\ +0.7357059037312865257263,0.1533541432581841945648,0.2168745566159486770630,\ +0.7783402544446289539337,0.6990017639473080635071,0.6133037763647735118866,\ +0.1271589249372482299805,0.3196897902525961399078,0.2413121340796351432800,\ +0.0203057392500340938568,0.8844696115702390670776,0.7514050160534679889679,\ +0.8791579911485314369202,0.3137878845445811748505,0.4495223872363567352295,\ +0.7199412197805941104889,0.8987670382484793663025,0.1432229257188737392426,\ +0.9059501979500055313110,0.4684562650509178638458,0.2573188217356801033020,\ +0.5960337105207145214081,0.9504154697060585021973,0.9387393021024763584137,\ +0.2791117234155535697937,0.4469828694127500057220,0.5995192881673574447632,\ +0.3789988537319004535675,0.8654018277302384376526,0.2727968390099704265594,\ +0.5822574533522129058838,0.5512602762319147586823,0.4366636639460921287537,\ +0.2757742605172097682953,0.3867734093219041824341,0.1321225953288376331329,\ +0.3260228233411908149719,0.1601287531666457653046,0.4301580488681793212891,\ +0.4006247171200811862946,0.8426104513928294181824,0.9048160626552999019623,\ +0.320046393200755119324,0.8069710140116512775421,0.7235896149650216102600,\ +0.7765955845825374126434,0.6767611466348171234131,0.5158662856556475162506,\ +0.1936035444959998130798,0.4270762628875672817230,0.4847531262785196304321,\ +0.5182100948877632617950,0.3503957511857151985168,0.4174968632869422435760,\ +0.442088566720485687256,0.4049004786647856235504,0.0953520191833376884460,\ +0.0149906217120587825775,0.2767332997173070907593,0.396497034002095460892,\ +0.3277142727747559547424,0.6040842677466571331024,0.4983838088810443878174,\ +0.7224933789111673831940,0.6212163185700774192810,0.5571814230643212795258,\ +0.5545951593667268753052,0.9439489883370697498322,0.1018914626911282539368,\ +0.9077803748659789562225,0.8599558025598526000977,0.3132304050959646701813,\ +0.7458020029589533805847,0.6701762243174016475677,0.6670592557638883590698,\ +0.7646118258126080036163,0.8154405960813164710999,0.1493974099867045879364,\ +0.2480226568877696990967,0.6294850618578493595123,0.6535534998401999473572,\ +0.0851266062818467617035,0.3553021941334009170532,0.6699288752861320972443,\ +0.5531356902793049812317,0.9733559968881309032440,0.4305554106831550598145,\ +0.5243876897729933261871,0.9223478538915514945984,0.4095269232057034969330,\ +0.5303003843873739242554,0.1592096765525639057159,0.4631052548065781593323,\ +0.7969039077870547771454,0.4371217824518680572510,0.4197942153550684452057,\ +0.5820884769782423973083,0.2639330527745187282562,0.9251737911254167556763,\ +0.2750987303443253040314,0.7529260413721203804016,0.1343348133377730846405,\ +0.6487299203872680664062,0.8492549010552465915680,0.0482988981530070304871,\ +0.7936811461113393306732,0.6225296836346387863159,0.8340442483313381671906,\ +0.5607167938724160194397,0.2962070326320827007294,0.7626721523702144622803,\ +0.3759830952621996402740,0.9307165136560797691345,0.5556063777767121791840,\ +0.4568063858896493911743,0.0317669031210243701935,0.7012319983914494514465,\ +0.4635622831992805004120,0.6323687359690666198730,0.8858239823020994663239,\ +0.7168863369151949882507,0.7797616957686841487885,0.2916170265525579452515,\ +0.4237285782583057880402,0.28695563320070505142,0.1371444310061633586884,\ +0.9822116084396839141846,0.2552233324386179447174,0.3307547485455870628357,\ +0.0061365715228021144867,0.1720932889729738235474,0.2806011182256042957306,\ +0.2241949187591671943665,0.9616182404570281505585,0.9974081367254257202148,\ +0.3941962518729269504547,0.5662632463499903678894,0.0963757499121129512787,\ +0.3522291611880064010620,0.3187350784428417682648,0.5841740677133202552795,\ +0.9247881243936717510223,0.7888248674571514129639,0.6642959327436983585358,\ +0.3959421953186392784119,0.6204979992471635341644,0.1972246859222650527954,\ +0.8056284752674400806427,0.8491280348971486091614,0.9318168940953910350800,\ +0.7328312769532203674316,0.6715824031271040439606,0.1545045776292681694031,\ +0.6186148612760007381439,0.9608297105878591537476,0.0403955359943211078644,\ +0.0333962673321366310120,0.7544445092789828777313,0.6861435212194919586182,\ +0.4345912770368158817291,0.5974397426471114158630,0.7376494011841714382172,\ +0.4376876372843980789185,0.2092354488559067249298,0.6795164542272686958313,\ +0.3552068280987441539764,0.0756681859493255615234,0.9273025044240057468414,\ +0.8346071569249033927917,0.743054957594722509384,0.4906791727989912033081,\ +0.6159011130221188068390,0.7293182769790291786194,0.5866543571464717388153,\ +0.8633460365235805511475,0.9971091211773455142975,0.1388301542028784751892,\ +0.4055338925682008266449,0.4532660786062479019165,0.2871678886003792285919,\ +0.2700171591714024543762,0.2655710014514625072479} + + +#define RESULT {1.2102129173972693276795,0.547172134283395505960,0.9893959167427971435060,\ +0.1395365387198562734383,0.1489849714320161666592,0.5308459929384929942842,\ +0.7167814580056727224999,0.1533658822581816516539,0.2092572247647190852859,\ +0.1314089889300391889027,0.2378254645317898763324,1.1199616760260284742401,\ +0.0360196535997655206685,0.4599165600749937077296,0.2833119142414158297960,\ +0.3692359156088362848180,0.0738195075749003143395,1.0925087004242901578266,\ +0.8267083221396219760990,0.1539616791242165161346,0.2186116813912043488344,\ +0.8920178989455170848188,0.7740006423727355810982,0.6602366372124121030041,\ +0.1275041230444604323235,0.3254020787470935927033,0.2437177159295554063068,\ +0.0203071349297229801489,1.0853560691206285415689,0.8501888295310906507041,\ +1.0740923528156336441697,0.3191797921431215878663,0.4662305874507110536875,\ +0.8037176217662085342397,1.1169491151572188414320,0.1437171522303946902266,\ +1.13361865210398771175,0.4875426458125770023955,0.2602465647055824948808,\ +0.6385524103330081358010,1.2545691699775671779093,1.2189537472935179085454,\ +0.2828689457902803794376,0.4633896660240007236986,0.6429003543060739511716,\ +0.3887142006801726501486,1.0459517428704359076619,0.2762989388590115780175,\ +0.6215026189895035413358,0.5838740042814533071081,0.4518867349636846997285,\ +0.2793951051102595561915,0.3971301217078890832823,0.132510043706192570667,\ +0.3320934649289025153429,0.1608210878711773539340,0.4446678438400747945813,\ +0.4121985697961437211667,1.0021124190562762379386,1.1309475449498487265032,\ +0.3257784557613874198978,0.9390052579549887923349,0.8089888457708835911575,\ +0.8892438326422247296676,0.7433542835357417333242,0.5420185672225497075516,\ +0.1948338635337260038582,0.4412568471414960447063,0.5060808916267004464729,\ +0.5447567844134539871703,0.3579936097184594490095,0.430688870641149468277,\ +0.4579258061456900619213,0.4168699854700866902490,0.0954971037836137986998,\ +0.0149911832144437959929,0.2803929768115001053275,0.4076979699824179737000,\ +0.3338832266123987202455,0.6486162776185823153341,0.5217335620683097863193,\ +0.8074019476106287784845,0.6702938912826584827442,0.5909876416606805182852,\ +0.5878763702657983092337,1.2343959660274554934745,0.1020685954711661458383,\ +1.1379615773910940479396,1.0351830670880448614923,0.3185927153117306676045,\ +0.8417379366997205236700,0.7344461964462585257252,0.7302544939241956134524,\ +0.8704388193816158247884,0.9534899570984974870314,0.1499588151786827583400,\ +0.2506386006706501912156,0.6808903181988129604818,0.7122699052095804450602,\ +0.0852297552133160912780,0.3632373356223638216633,0.7341129828114539845885,\ +0.5861234773434839118167,1.3394387326603169885431,0.4451080564403126493822,\ +0.5519958405399131295965,1.1741139184516546922765,0.4219354466987135787726,\ +0.5589548324277814339567,0.1598900667546140630382,0.4814956074594635149211,\ +0.9221526721268241688634,0.4523960307711298312050,0.4332185780481620507310,\ +0.6212947925772885904294,0.2670975836918499934924,1.1814932336008394653248,\ +0.2786923935221553016994,0.8524970032637724237645,0.1347421608080361932203,\ +0.7059143267628599227592,1.014572470500166190277,0.0483176963724658639632,\ +0.9168365263416731192336,0.6719709888964939814571,0.9863981265157644173769,\ +0.5952512315907774187451,0.3007190162077965633891,0.8674345484889434132469,\ +0.3854574865641427483531,1.1963670583888645904125,0.5890920941092092633085,\ +0.4744017948433008613485,0.0317722484037002914081,0.7771241013419247778415,\ +0.4820113338532510671719,0.6846071548899330672100,1.0882667543007658040,\ +0.7993259845681112141236,0.8942850957473000850229,0.2959169071935129347040,\ +0.4375577621669283212569,0.2910472961271438063768,0.1375780266978623433971,\ +1.3818975127290542559422,0.2580786782411462754183,0.337103224922307598277,\ +0.0061366100381220973006,0.1729542689024595181202,0.2844203312567258890020,\ +0.2261168471284604464255,1.292840105239649206581,1.4987826659389660299837,\ +0.4051931219540680362279,0.6019650966008720516243,0.0965255712145899474885,\ +0.3599518411886321600512,0.3243946620517429990649,0.6238620609478121581404,\ +1.1804783562721565814968,0.9088946724537740884386,0.7265514890656400437408,\ +0.407093673069975237055,0.6693775784027574671242,0.1985261923397042549411,\ +0.9367355633059043507060,1.0143322323911900806337,1.199387299048776833743,\ +0.8224738107516712526390,0.7363424248289601736772,0.1551259899908567496674,\ +0.6669785285495629656438,1.289980681935538386895,0.0404065303042144760570,\ +0.0334024783187645626925,0.8548073921139841546690,0.7561744594372630245971,\ +0.4495844069894625594230,0.6403046132494145670222,0.8295822852568314198507,\ +0.4530252724246893181181,0.2107930369382310653581,0.747103346555288094777,\ +0.3631353147252046054128,0.0757405812005388645591,1.1871407475057926816930,\ +0.9874192358186812956689,0.8376237455287295352591,0.5128690395827339987278,\ +0.6635292564994419439728,0.8173250039556049229006,0.6269213761078136215588,\ +1.0418634321911146578543,1.4947401270369859993536,0.1392800314888206769659,\ +0.4175628314057308609897,0.4704260294397792363519,0.29126887742414786509,\ +0.2734108525510542397896,0.2687961431094310627010} + + +#define RSOURCE {0.0100881215184926986694,0.0074436445720493793488,0.2989360922947525978088,\ +0.3327573235146701335907,0.237830940634012222290,0.8535961345769464969635,\ +0.7922197943553328514099,0.9695409736596047878265,0.6468791384249925613403,\ +0.9159972262568771839142,0.7485287981107831001282,0.5446169781498610973358,\ +0.4380150139331817626953,0.8022991069592535495758,0.0770919052883982658386,\ +0.6038356139324605464935,0.0416274946182966232300,0.0491319303400814533234,\ +0.2167323390021920204163,0.5511633078567683696747,0.5648556910455226898193,\ +0.7904387773014605045319,0.8203159859403967857361,0.8707285351119935512543,\ +0.7680293265730142593384,0.9941699919290840625763,0.7653715135529637336731,\ +0.7766020926646888256073,0.0391560420393943786621,0.3610868924297392368317,\ +0.7096323622390627861023,0.1340617476962506771088,0.3352055754512548446655,\ +0.4794248570688068866730,0.9102506125345826148987,0.9960912610404193401337,\ +0.5589408166706562042236,0.3291657851077616214752,0.5254327272996306419373,\ +0.5988637856207787990570,0.3400457371026277542114,0.7296699327416718006134,\ +0.1172471689060330390930,0.1599596398882567882538,0.6893001943826675415039,\ +0.8244171240366995334625,0.5743538914248347282410,0.3230684562586247920990,\ +0.4945516120642423629761,0.1966073368676006793976,0.1734057078137993812561,\ +0.5929257045499980449677,0.3272335343062877655029,0.7093706638552248477936,\ +0.9978715321049094200134,0.6042335904203355312347,0.5281810555607080459595,\ +0.6643366483040153980255,0.4330314965918660163879,0.5683163288049399852753,\ +0.0414931252598762512207,0.3723129951395094394684,0.9558939440175890922546,\ +0.7412597923539578914642,0.9651917275041341781616,0.7298236568458378314972,\ +0.9387842947617173194885,0.2572855348698794841766,0.2874279357492923736572,\ +0.8952562944032251834869,0.6853557890281081199646,0.1711091897450387477875,\ +0.7769848424941301345825,0.658369113225489854813,0.4177721040323376655579,\ +0.0530332433991134166718,0.4968273639678955078125,0.59690707409754395485,\ +0.4338118461892008781433,0.9805241837166249752045,0.9094489198178052902222,\ +0.6140774791128933429718,0.152644918300211429596,0.2700240234844386577606,\ +0.0427649877965450286865,0.9506349326111376285553,0.2680307617411017417908,\ +0.7927461988292634487152,0.6853035334497690200806,0.2653256771154701709747,\ +0.7276884736493229866028,0.2182058426551520824432,0.0794423148036003112793,\ +0.8774413042701780796051,0.7575887991115450859070,0.0292344330810010433197,\ +0.0814430620521306991577,0.7652318407781422138214,0.6499179983511567115784,\ +0.652228816878050565720,0.2570325322449207305908,0.4139282093383371829987,\ +0.5334635889157652854919,0.5463846079073846340179,0.8812804389744997024536,\ +0.1071240645833313465118,0.8451719628646969795227,0.5956639605574309825897,\ +0.3115242570638656616211,0.7552670040167868137360,0.7216278789564967155457,\ +0.64724771818146109581,0.7020909022539854049683,0.8550091539509594440460,\ +0.0292058298364281654358,0.5402219365350902080536,0.5295652858912944793701,\ +0.6731671304441988468170,0.2516432842239737510681,0.4682487822137773036957,\ +0.8973557446151971817017,0.2490413752384483814240,0.953785804100334644318,\ +0.0199718060903251171112,0.0883063450455665588379,0.3088448666967451572418,\ +0.0402540368959307670593,0.7409055917523801326752,0.3341060634702444076538,\ +0.6859912057407200336456,0.5277825826779007911682,0.5605597789399325847626,\ +0.2702448405325412750244,0.3409920767880976200104,0.0499807363376021385193,\ +0.9285474619828164577484,0.0452665109187364578247,0.5747140836901962757111,\ +0.8132651047781109809875,0.0034279632382094860077,0.5530686080455780029297,\ +0.5287449606694281101227,0.2227140991017222404480,0.7380339815281331539154,\ +0.7569990437477827072144,0.5666191582567989826202,0.8965943017974495887756,\ +0.205033115576952695847,0.5744996629655361175537,0.6296528042294085025787,\ +0.28830870892852544785,0.0064737624488770961761,0.2910466734319925308228,\ +0.161138039547950029373,0.6345168473199009895325,0.1110653909854590892792,\ +0.9721379503607749938965,0.6926467292942106723785,0.4481767667457461357117,\ +0.9629431902430951595306,0.8420772161334753036499,0.6861935486085712909698,\ +0.2752589071169495582581,0.2056670929305255413055,0.0983050949871540069580,\ +0.7260084436275064945221,0.9338818406686186790466,0.8652051738463342189789,\ +0.1300270427018404006958,0.6536684674210846424103,0.9546198891475796699524,\ +0.3356514233164489269257,0.6098881512880325317383,0.7403389909304678440094,\ +0.4407326159998774528503,0.0114278956316411495209,0.4274448286741971969604,\ +0.4898742889054119586945,0.0670661935582756996155,0.9097212324850261211395,\ +0.9331833533942699432373,0.1665275008417665958405,0.4363766452297568321228,\ +0.1269035614095628261566,0.4618353042751550674438,0.6410199669189751148224,\ +0.5118249626830220222473,0.4726877692155539989471,0.6037398651242256164551,\ +0.6487199389375746250153,0.3443940980359911918640,0.1257671504281461238861,\ +0.1930030044168233871460,0.0536806662566959857941,0.813977831043303012848,\ +0.6546894307248294353485,0.4812035299837589263916,0.2122878567315638065338,\ +0.6028915112838149070740,0.2477151653729379177094} + +#define ISOURCE {0.4653960186988115310669,0.0302665126509964466095,0.1205546753481030464172,\ +0.4954105126671493053436,0.8391606211662292480469,0.8067971416749060153961,\ +0.5980955390259623527527,0.5697243823669850826263,0.535449741408228874207,\ +0.4594913427717983722687,0.0716273644939064979553,0.1432999591343104839325,\ +0.3299815915524959564209,0.2239767671562731266022,0.4729467025026679039001,\ +0.8927706009708344936371,0.4739306215196847915649,0.4218414542265236377716,\ +0.5464035095646977424622,0.9297901126556098461151,0.8246648237109184265137,\ +0.3906875425018370151520,0.8106931401416659355164,0.0035473941825330257416,\ +0.4432799126952886581421,0.1700443555600941181183,0.2843202138319611549377,\ +0.8185154641978442668915,0.1276803798973560333252,0.0368908629752695560455,\ +0.1934843575581908226013,0.3111848584376275539398,0.8499574232846498489380,\ +0.4845375162549316883087,0.3811378227546811103821,0.2295314031653106212616,\ +0.5668137520551681518555,0.7386174597777426242828,0.6359649775549769401550,\ +0.8589683636091649532318,0.3717852663248777389526,0.4039371167309582233429,\ +0.6600336739793419837952,0.2385329673998057842255,0.4580096118152141571045,\ +0.3359361500479280948639,0.8938684901222586631775,0.7110573030076920986176,\ +0.8602916095405817031860,0.3305067983455955982208,0.9176958473399281501770,\ +0.15107359318062663078,0.4452155604958534240723,0.7259225868619978427887,\ +0.6476110024377703666687,0.7142038433812558650970,0.1180544253438711166382,\ +0.5106264133937656879425,0.0454169148579239845276,0.4517838652245700359344,\ +0.7152258791029453277588,0.0306280092336237430573,0.5608849888667464256287,\ +0.6344716749154031276703,0.5510452408343553543091,0.8902607751078903675079,\ +0.0251876907423138618469,0.1285902666859328746796,0.0875252783298492431641,\ +0.1400479921139776706696,0.2142530409619212150574,0.6689547612331807613373,\ +0.6959728877991437911987,0.3454284076578915119171,0.8007909813895821571350,\ +0.3719339291565120220184,0.9791326485574245452881,0.6300911963917315006256,\ +0.9137416174635291099548,0.3324960893951356410980,0.6226272527128458023071,\ +0.2876702961511909961700,0.0238953353837132453918,0.6489893826656043529510,\ +0.2444448098540306091309,0.0555481188930571079254,0.374434794299304485321,\ +0.7194064198993146419525,0.2112230267375707626343,0.6445186366327106952667,\ +0.6751487934961915016174,0.1528833056800067424774,0.8900802619755268096924,\ +0.6180598423816263675690,0.27906801458448171616,0.1401830366812646389008,\ +0.3047434557229280471802,0.2149655860848724842072,0.5602726386860013008118,\ +0.6269132751040160655975,0.6647229343652725219727,0.2090867855586111545563,\ +0.7116218386217951774597,0.133228497114032506943,0.7362840902060270309448,\ +0.3999320124275982379913,0.6811551460996270179749,0.5637665162794291973114,\ +0.523965936154127120972,0.8278774530626833438873,0.4659156939014792442322,\ +0.8515693820081651210785,0.23139653541147708893,0.3077362445183098316193,\ +0.4819453330710530281067,0.7797386529855430126190,0.9701553061604499816895,\ +0.3744371854700148105621,0.2292016251012682914734,0.8245750456117093563080,\ +0.1854322012513875961304,0.2345628221519291400909,0.9701467091217637062073,\ +0.3639524574391543865204,0.2672337628901004791260,0.8174969092942774295807,\ +0.6407580440863966941833,0.0946763656102120876312,0.3158860523253679275513,\ +0.5199312460608780384064,0.7127110259607434272766,0.0025766002945601940155,\ +0.5305844545364379882812,0.7374818869866430759430,0.2254834799095988273621,\ +0.7290844931267201900482,0.1897403579205274581909,0.7771647279150784015656,\ +0.7071320274844765663147,0.67804440064355731010,0.6918747089803218841553,\ +0.2444804669357836246490,0.2024903288111090660095,0.7065096027217805385590,\ +0.6258084420114755630493,0.4988589403219521045685,0.1275391997769474983215,\ +0.7432725760154426097870,0.3388997837901115417480,0.2712128334678709506989,\ +0.1686986042186617851257,0.1788796423934400081635,0.9720784332603216171265,\ +0.0373507668264210224152,0.9457915211096405982971,0.3708799923770129680634,\ +0.4304266162216663360596,0.2409997568465769290924,0.6574296867474913597107,\ +0.1080590835772454738617,0.2580570150166749954224,0.9601870519109070301056,\ +0.4275712119415402412415,0.3774064141325652599335,0.8860375732183456420898,\ +0.1107313432730734348297,0.572000074200332164764,0.2775676711462438106537,\ +0.2221131753176450729370,0.7805933509953320026398,0.5034774849191308021545,\ +0.4225312541238963603973,0.0509742014110088348389,0.7888357848860323429108,\ +0.4943151315674185752869,0.6792991734109818935394,0.2138219568878412246704,\ +0.0629426804371178150177,0.0151202948763966560364,0.5832923236303031444550,\ +0.0359809771180152893066,0.9282481097616255283356,0.8684628410264849662781,\ +0.2752401321195065975189,0.9713082071393728256226,0.90322426753118634224,\ +0.8362140888348221778870,0.3033045823685824871063,0.9321490563452243804932,\ +0.0943789319135248661041,0.0593075519427657127380,0.1341886124573647975922,\ +0.2735903281718492507935,0.7845123005099594593048,0.868671556003391742706,\ +0.7169788884930312633514,0.9007600247859954833984,0.3080832012929022312164,\ +0.2860837308689951896667,0.9434729530476033687592} + +#define RRESULT {0.0091461935615653692372,0.0074403059517685150512,0.3011120408510194468299,\ +0.2998770814044370847107,0.1819248875927510500361,0.6444988336836313669309,\ +0.6791245188293772994115,0.8328839139359748289237,0.5765876696591275551995,\ +0.8504976129204943058326,0.8394277222457392495514,0.5667892427465585081237,\ +0.4244768273740840425212,0.8613255288489666261498,0.0697161665763657567574,\ +0.4438565921449716400460,0.0376207427201287192275,0.0452773943778729953680,\ +0.1905350234324321712087,0.3984765801447008870539,0.4314770699424559374791,\ +0.7678818181682768306828,0.6201489749119961647494,1.056635799167679801158,\ +0.7224469139675204765183,1.1570753191068809950792,0.7891360295709419769850,\ +0.5869418614770346431797,0.0388500272557359208059,0.3691306128445250300807,\ +0.7557159781600413239744,0.1282646090865436350192,0.254601106881209460209,\ +0.4365177363889400918850,0.8917468285467748945194,1.0969945987775304718781,\ +0.4896234023783549438313,0.2644825052430134770809,0.4440381533885026654751,\ +0.4483584089258232929787,0.3221387984110837821028,0.7011289310321348056121,\ +0.0978674265602834936306,0.1561241830600058055900,0.6415261435351872210120,\ +0.8301262834168886550756,0.4226589438886647065452,0.2631688682703156034748,\ +0.3718501469694869832061,0.1874416812787549069252,0.1276292125120765952317,\ +0.6223362931435947320580,0.3011173751873987280980,0.5675795050042053979666,\ +0.8129219748246857557561,0.4890104311779664980619,0.550584097940126637738,\ +0.6003329153401916196131,0.4472450285127820834852,0.5277749449162034700578,\ +0.0337492295725758256753,0.3812817338877603767777,0.8272241071562403957884,\ +0.6236783490132045137955,0.8396686488386544411355,0.5323480108875771055210,\ +1.2121602671977980136830,0.2578891950501832064369,0.2902963532926625123132,\ +1.0407218420407280401463,0.719658282922589376263,0.1422515549798589185038,\ +0.6295643770268913863575,0.6485925881357603728361,0.3247882629711342783452,\ +0.0497195040545942226751,0.3510527044460081680377,0.50563338590045081578,\ +0.3179706585678286345775,0.99285160840273078975,0.7609503370287584722576,\ +0.6176058717047394619470,0.1531988771495936818567,0.2266760787365090790146,\ +0.0415517947772082799074,1.218422457974889017152,0.2526690822330791563743,\ +0.6329425814457148025127,0.7204713317072120037921,0.2231989518352319179506,\ +0.5985707095895493878857,0.2172853881448477131322,0.0593293879714889560439,\ +0.7385713745542424879531,0.7823911147317434977566,0.0289551632441432602039,\ +0.0779646258693818400287,0.8182888473500083970080,0.5715052817983971022997,\ +0.5528641949610285655226,0.2141542425335012378440,0.4153673917132313930800,\ +0.4332354240667932732123,0.5700436227902923036481,0.6908832900189864067997,\ +0.0995605703740609776498,0.6869435543144543077076,0.5227653368830831315250,\ +0.2770997202417057603263,0.5689013982218961151816,0.6692632096949825415422,\ +0.4851064406738322953849,0.7345650510869129456992,0.8789819041715580816287,\ +0.0263110479671970418081,0.4230828882691921033476,0.3752940809060429927513,\ +0.6545085349432201438091,0.2474097208124308444610,0.3590569749582296354973,\ +1.0107395629243736134839,0.2444967346619240644578,0.6498559643022308041083,\ +0.0187681811419864209844,0.0853955435810109381167,0.23858632896482903640,\ +0.0338939736966144267161,0.8239189153398052134492,0.3225505736889286989566,\ +0.6168540121263207387514,0.428433060998039016987,0.5950583374560662885955,\ +0.2394573971728722883157,0.2741095497000874958715,0.0487731652979911251000,\ +0.7269475532699710695894,0.0444861838193508288275,0.4501104783981072499088,\ +0.6528448282940336744318,0.0028372513246705619722,0.4536708244402919421034,\ +0.5336004611058299262893,0.2198360890060693795256,0.5959746705988369086526,\ +0.6396262340663229073456,0.5139896603726894497299,1.0518513414805021888299,\ +0.1644962891003966809489,0.5624905673203877132238,0.6391528366469793054350,\ +0.2879084713580257748333,0.0063726492100631259435,0.2079683900269996554844,\ +0.1617268596829900817458,0.45252598419205131153,0.1042540297218644135269,\ +0.9167320764408587452365,0.7202498119943631094131,0.3747568855205881677151,\ +1.1832506588357394328170,0.8926873380378329558837,0.4837753498734558843530,\ +0.2545199640454580136684,0.1931610886369621860048,0.0735568361645391743942,\ +0.7995145050294805155744,0.8044454260553820512669,0.9085111724757110041040,\ +0.1272278092834613905104,0.5090362502018392909520,0.8578711409272452570463,\ +0.3118078521746414644156,0.6543371722769727449887,0.5706133911152972970626,\ +0.3988750643962680753063,0.0094531166452282121282,0.4291477558442853834642,\ +0.5104896641888095887296,0.0671088543520260150110,0.7800123094015957159186,\ +1.1912011959193866683648,0.12192992647229736192,0.3274120948460061963914,\ +0.1225950921700365431333,0.3281975873099651774822,0.4674494885223512974370,\ +0.3894697523335833855285,0.4641231634718703258358,0.4345931392944782367671,\ +0.6995072076723701792744,0.3508640282412981981075,0.1249574421756384084992,\ +0.1870180747450552183331,0.0422329366873970546425,0.5961240984598299430530,\ +0.5279606410558730367200,0.3544288908497560397493,0.2039132017920733119798,\ +0.6057722587792238044813,0.1797611770377918194441} + +#define IRESULT {0.4500666085684790207466,0.0302627309405466352055,0.1259014236203331582598,\ +0.4977434045460411571327,0.773705242465913545225,0.887900733341152936795,\ +0.7079916425568136828517,0.7688472856787659237554,0.6017352744773040162940,\ +0.6498883599394120746950,0.107039917160296094156,0.1690548918257823163280,\ +0.3546374548515999203246,0.3373847934787007063484,0.4579255569364570899182,\ +0.8732609696455944092719,0.4580771972571195393975,0.4106361461893539566148,\ +0.5311452992294272146268,0.8876026166669700456779,0.8147068623051754165942,\ +0.5194139247849689500214,0.8786785088163897583513,0.0072129604104987166471,\ +0.5609976062745508640361,0.4112823226813016597170,0.3933766150232178571144,\ +0.8693290272249873940,0.1274316261040582265451,0.0395449426043308974177,\ +0.2628191746325336808354,0.3088296914886584088045,0.7926272523547727155702,\ +0.5120084435293993374572,0.5746945549365780614437,0.4839450538685827751806,\ +0.6047355489888047719305,0.7052834690539023787537,0.6561539945033735277136,\ +0.8478769656358153827824,0.3825478020514606614100,0.5066754044490697772574,\ +0.6222644111952397860676,0.2391828028480158796487,0.5443776858218749570284,\ +0.4792822085648152929949,0.86724431342169228110,0.6822409980077328572889,\ +0.8261589834748411798060,0.3303572550644504612904,0.8274965298010771297399,\ +0.1848774585857928254296,0.4507700784722463716037,0.7795271583399024928340,\ +0.8398668346264467343687,0.7396983997066739480175,0.1380866564681807739934,\ +0.5849046253180708587749,0.0503500622675033676634,0.5016357319277500170784,\ +0.6654269099346773463921,0.0329916341046517930247,0.7548317451254575871644,\ +0.7182541963203104007363,0.7522847340656214631949,0.9046859380442064946237,\ +0.0716988879790057820340,0.132599207337852937,0.0912207697238807957429,\ +0.2735698269446988906139,0.2811794411108771152286,0.6327124304403525245633,\ +0.7796338249130402298093,0.4209075105417727225010,0.7673980540361009516914,\ +0.3642835980514441684974,0.9112659650125345400795,0.6691470644846674309392,\ +0.8542200565296905745427,0.5762098993480122555155,0.7786617427494030296842,\ +0.3459141320122436358275,0.0241761593182958818560,0.6246129374546308676841,\ +0.2422787652159511528893,0.1602629717157874056355,0.3776710192863622084225,\ +0.8030895628249021811484,0.2774953901907728504028,0.6203514328186836568335,\ +0.7460670209249947726349,0.1559320495131248929255,0.8026468549051214429468,\ +0.760424886296417135156,0.3839751822834133743179,0.1397861363985309635094,\ +0.3011015740622249303726,0.3095528263794048440261,0.6246974136518177456168,\ +0.6824390801574051756972,0.6364220425441351469686,0.2265745526065163772955,\ +0.7201722295639139126422,0.1575984581645545612449,0.8494571876510255137305,\ +0.3918195908099642577049,0.7946547307771568702250,0.6117848393634578441080,\ +0.5208720859508298994811,0.8690531065973791102763,0.5637323042761468450124,\ +0.8547026638602744919027,0.306960447908322775490,0.4654093394618514789585,\ +0.4651555318578067255153,0.7751475575968125308890,0.9112674172531984861934,\ +0.4560028346615129235531,0.234251732325255618283,0.7944832243829529350165,\ +0.3423334159329023407281,0.239457736168475460170,1.02777275826487124455,\ +0.3564220429250729016424,0.2650952420467553305450,0.7646166714313819001703,\ +0.6037691171359901298743,0.1389158036998756340363,0.3271927879913820724767,\ +0.6006321860598116124663,0.7197540296752282795723,0.0031113959438069660468,\ +0.5221204081389118067946,0.7059634191281195514378,0.2238770907129097598176,\ +0.8641197102092305071253,0.1888045378279312735970,0.7812121068214791241857,\ +0.8015589685608611736356,0.6345893564856053270518,0.7088628827258813824841,\ +0.2802718253544457249760,0.2060232397943899673720,0.7740411253804675428825,\ +0.716974289181374180302,0.5454318495795067445187,0.2544009667091767235014,\ +0.6958995710025659420239,0.3906147496642403682543,0.3317958100335353655019,\ +0.1750450440110335736943,0.1779427350870727009280,0.8767597428372501111582,\ +0.0378355850756998610129,0.9174242179663641971743,0.3647620293190586560073,\ +0.6587619708007782515224,0.3153773564551797248257,0.6579511103942273786416,\ +0.2821737200327205097317,0.4005650534773762538876,0.9399862930023007434599,\ +0.4285643691635598884204,0.3756601850966035938129,0.8002497169354958472809,\ +0.1581953331446839250418,0.7519083154621302167442,0.4373149903759625534150,\ +0.2220927412218937635480,0.804348871566688328,0.7089002298114742695034,\ +0.4305150724386235805419,0.0641995146174158398678,0.8363640441971674777122,\ +0.5135521078813733986124,0.6356504507416418370269,0.2330299466993880075361,\ +0.0720777388352223102874,0.0151538267615728122067,0.7485905695903387613299,\ +0.0969510446209165821507,0.8347965442360075760675,0.8215865796515979813108,\ +0.2738845295035164384423,0.8996918043828731059719,0.8896690120740690099765,\ +0.8117683352741612567982,0.3329971294517217184072,0.9008120497468148357711,\ +0.1230347833276769775601,0.0631133065200175230602,0.1348341818397757463366,\ +0.2749675342978448178144,0.7210794354646373749418,0.9161054973709473747689,\ +0.7559186765863976642521,0.8531345425055275599746,0.3096300406745840505529,\ +0.3413400734450014462062,0.8520286730709790701255} + void dasinsTest(void) { - printf(">> Double scalar\n"); - printf("dasins(0) = %e\n", dasins(0.0)); - printf("dasins(PI) = %e\n", dasins(DPI)); - printf("dasins(PI/2) = %e\n", dasins(DPI/2)); - printf("dasins(PI/3) = %e\n", dasins(DPI/3)); - printf("dasins(PI/4) = %e\n", dasins(DPI/4)); - printf("dasins(PI/6) = %e\n", dasins(DPI/6)); - printf("dasins(-PI) = %e\n", dasins(-DPI)); - printf("dasins(-PI/2) = %e\n", dasins(-DPI/2)); - printf("dasins(-PI/3) = %e\n", dasins(-DPI/3)); - printf("dasins(-PI/4) = %e\n", dasins(-DPI/4)); - printf("dasins(-PI/6) = %e\n", dasins(-DPI/6)); - printf("dasins(1) = %e\n", dasins(1)); - printf("dasins(-1) = %e\n", dasins(-1)); + double in[]= SOURCE; + double res[]= RESULT; + double out; + int i=0; + + for (i=0;i<200;i++){ + out=dasins(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15); + } } void zasinsTest(void) { - doubleComplex pi_pi = DoubleComplex(DPI, DPI); - doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2); - doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3); - doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4); - doubleComplex zero_zero = DoubleComplex(0.0, 0.0); - doubleComplex one_and_i = DoubleComplex(1.0, 1.0); - doubleComplex asin_one_and_i = DoubleComplex(0.6662394324925152711003, - 1.0612750619050357325790); - doubleComplex out; - - printf(">> Double Complex scalar\n"); - out = zasins(pi_pi); - printf("zasins(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasins(pi_2_pi_2); - printf("zasins(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasins(pi_2_pi_3); - printf("zasins(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasins(pi_2_pi_4); - printf("zasins(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasins(zero_zero); - printf("zasins(0 + I*0) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasins(one_and_i); - printf("zasins(1 + I*1) = %.25e + I * %.25e\n", zreals(out), zimags(out)); - printf("zasins(1 + I*1) = %.25e + I * %.25e\n", zreals(asin_one_and_i), zimags(asin_one_and_i)); - /* assert(zreals(out) == zreals(asin_one_and_i)); */ - /* assert(zimags(out) == zimags(asin_one_and_i)); */ + double inR[]= RSOURCE; + double inI[]= ISOURCE; + double resR[]= RRESULT; + double resI[]= IRESULT; + doubleComplex out,in; + int i=0; + + for (i=0;i<200;i++){ + in = DoubleComplex(inR[i],inI[i]); + out=zasins(in); + printf("%d - %f - erreur %f\n",i,zimags(out),(fabs(zimags(out)-resI[i])) / (fabs(zimags(out)))); + assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15); + assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1); + } } void dasinaTest(void) { - double out[5]; - double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; - int i = 0; - - printf(">> Double Array\n"); - dasina(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("sasina(array) = %f\n", out[i]); - + double in[]= SOURCE; + double res[]= RESULT; + double out[200]; + int i=0; + + dasina(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15); + } } void zasinaTest(void) { - doubleComplex in[4]; - doubleComplex out[4]; - int i = 0; - - in[0] = DoubleComplex(DPI, DPI); - in[1] = DoubleComplex(DPI/2, DPI/2); - in[2] = DoubleComplex(DPI/2, DPI/3); - in[3] = DoubleComplex(DPI/2, DPI/4); - - zasina(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zasina(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); + double inR[]= RSOURCE; + double inI[]= ISOURCE; + double resR[]= RRESULT; + double resI[]= IRESULT; + doubleComplex out[200],in[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i] = DoubleComplex(inR[i],inI[i]); + } + + 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]))) ) <1); + } } int testAsin(void) { diff --git a/src/elementaryFunctions/asin/testFloatAsin.c b/src/elementaryFunctions/asin/testFloatAsin.c index 8373593f..119d2565 100644 --- a/src/elementaryFunctions/asin/testFloatAsin.c +++ b/src/elementaryFunctions/asin/testFloatAsin.c @@ -12,66 +12,477 @@ #include "testAsin.h" +#define SOURCE {0.9356911443173885345459f,0.5202743173576891422272f,0.8356943717226386070251f,\ +0.1390841729007661342621f,0.1484344247728586196899f,0.5062630889005959033966f,\ +0.6569615425541996955872f,0.1527653667144477367401f,0.2077333852648735046387f,\ +0.1310311132110655307770f,0.2355898572131991386414f,0.9000837444327771663666f,\ +0.0360118653625249862671f,0.4438733388669788837433f,0.2795370602980256080627f,\ +0.3609029497019946575165f,0.0737524814903736114502f,0.8877843604423105716705f,\ +0.7357059037312865257263f,0.1533541432581841945648f,0.2168745566159486770630f,\ +0.7783402544446289539337f,0.6990017639473080635071f,0.6133037763647735118866f,\ +0.1271589249372482299805f,0.3196897902525961399078f,0.2413121340796351432800f,\ +0.0203057392500340938568f,0.8844696115702390670776f,0.7514050160534679889679f,\ +0.8791579911485314369202f,0.3137878845445811748505f,0.4495223872363567352295f,\ +0.7199412197805941104889f,0.8987670382484793663025f,0.1432229257188737392426f,\ +0.9059501979500055313110f,0.4684562650509178638458f,0.2573188217356801033020f,\ +0.5960337105207145214081f,0.9504154697060585021973f,0.9387393021024763584137f,\ +0.2791117234155535697937f,0.4469828694127500057220f,0.5995192881673574447632f,\ +0.3789988537319004535675f,0.8654018277302384376526f,0.2727968390099704265594f,\ +0.5822574533522129058838f,0.5512602762319147586823f,0.4366636639460921287537f,\ +0.2757742605172097682953f,0.3867734093219041824341f,0.1321225953288376331329f,\ +0.3260228233411908149719f,0.1601287531666457653046f,0.4301580488681793212891f,\ +0.4006247171200811862946f,0.8426104513928294181824f,0.9048160626552999019623f,\ +0.320046393200755119324f,0.8069710140116512775421f,0.7235896149650216102600f,\ +0.7765955845825374126434f,0.6767611466348171234131f,0.5158662856556475162506f,\ +0.1936035444959998130798f,0.4270762628875672817230f,0.4847531262785196304321f,\ +0.5182100948877632617950f,0.3503957511857151985168f,0.4174968632869422435760f,\ +0.442088566720485687256f,0.4049004786647856235504f,0.0953520191833376884460f,\ +0.0149906217120587825775f,0.2767332997173070907593f,0.396497034002095460892f,\ +0.3277142727747559547424f,0.6040842677466571331024f,0.4983838088810443878174f,\ +0.7224933789111673831940f,0.6212163185700774192810f,0.5571814230643212795258f,\ +0.5545951593667268753052f,0.9439489883370697498322f,0.1018914626911282539368f,\ +0.9077803748659789562225f,0.8599558025598526000977f,0.3132304050959646701813f,\ +0.7458020029589533805847f,0.6701762243174016475677f,0.6670592557638883590698f,\ +0.7646118258126080036163f,0.8154405960813164710999f,0.1493974099867045879364f,\ +0.2480226568877696990967f,0.6294850618578493595123f,0.6535534998401999473572f,\ +0.0851266062818467617035f,0.3553021941334009170532f,0.6699288752861320972443f,\ +0.5531356902793049812317f,0.9733559968881309032440f,0.4305554106831550598145f,\ +0.5243876897729933261871f,0.9223478538915514945984f,0.4095269232057034969330f,\ +0.5303003843873739242554f,0.1592096765525639057159f,0.4631052548065781593323f,\ +0.7969039077870547771454f,0.4371217824518680572510f,0.4197942153550684452057f,\ +0.5820884769782423973083f,0.2639330527745187282562f,0.9251737911254167556763f,\ +0.2750987303443253040314f,0.7529260413721203804016f,0.1343348133377730846405f,\ +0.6487299203872680664062f,0.8492549010552465915680f,0.0482988981530070304871f,\ +0.7936811461113393306732f,0.6225296836346387863159f,0.8340442483313381671906f,\ +0.5607167938724160194397f,0.2962070326320827007294f,0.7626721523702144622803f,\ +0.3759830952621996402740f,0.9307165136560797691345f,0.5556063777767121791840f,\ +0.4568063858896493911743f,0.0317669031210243701935f,0.7012319983914494514465f,\ +0.4635622831992805004120f,0.6323687359690666198730f,0.8858239823020994663239f,\ +0.7168863369151949882507f,0.7797616957686841487885f,0.2916170265525579452515f,\ +0.4237285782583057880402f,0.28695563320070505142f,0.1371444310061633586884f,\ +0.9822116084396839141846f,0.2552233324386179447174f,0.3307547485455870628357f,\ +0.0061365715228021144867f,0.1720932889729738235474f,0.2806011182256042957306f,\ +0.2241949187591671943665f,0.9616182404570281505585f,0.9974081367254257202148f,\ +0.3941962518729269504547f,0.5662632463499903678894f,0.0963757499121129512787f,\ +0.3522291611880064010620f,0.3187350784428417682648f,0.5841740677133202552795f,\ +0.9247881243936717510223f,0.7888248674571514129639f,0.6642959327436983585358f,\ +0.3959421953186392784119f,0.6204979992471635341644f,0.1972246859222650527954f,\ +0.8056284752674400806427f,0.8491280348971486091614f,0.9318168940953910350800f,\ +0.7328312769532203674316f,0.6715824031271040439606f,0.1545045776292681694031f,\ +0.6186148612760007381439f,0.9608297105878591537476f,0.0403955359943211078644f,\ +0.0333962673321366310120f,0.7544445092789828777313f,0.6861435212194919586182f,\ +0.4345912770368158817291f,0.5974397426471114158630f,0.7376494011841714382172f,\ +0.4376876372843980789185f,0.2092354488559067249298f,0.6795164542272686958313f,\ +0.3552068280987441539764f,0.0756681859493255615234f,0.9273025044240057468414f,\ +0.8346071569249033927917f,0.743054957594722509384f,0.4906791727989912033081f,\ +0.6159011130221188068390f,0.7293182769790291786194f,0.5866543571464717388153f,\ +0.8633460365235805511475f,0.9971091211773455142975f,0.1388301542028784751892f,\ +0.4055338925682008266449f,0.4532660786062479019165f,0.2871678886003792285919f,\ +0.2700171591714024543762f,0.2655710014514625072479f} + +#define RESULT {1.2102129173972693276795f,0.547172134283395505960f,0.9893959167427971435060f,\ +0.1395365387198562734383f,0.1489849714320161666592f,0.5308459929384929942842f,\ +0.7167814580056727224999f,0.1533658822581816516539f,0.2092572247647190852859f,\ +0.1314089889300391889027f,0.2378254645317898763324f,1.1199616760260284742401f,\ +0.0360196535997655206685f,0.4599165600749937077296f,0.2833119142414158297960f,\ +0.3692359156088362848180f,0.0738195075749003143395f,1.0925087004242901578266f,\ +0.8267083221396219760990f,0.1539616791242165161346f,0.2186116813912043488344f,\ +0.8920178989455170848188f,0.7740006423727355810982f,0.6602366372124121030041f,\ +0.1275041230444604323235f,0.3254020787470935927033f,0.2437177159295554063068f,\ +0.0203071349297229801489f,1.0853560691206285415689f,0.8501888295310906507041f,\ +1.0740923528156336441697f,0.3191797921431215878663f,0.4662305874507110536875f,\ +0.8037176217662085342397f,1.1169491151572188414320f,0.1437171522303946902266f,\ +1.13361865210398771175f,0.4875426458125770023955f,0.2602465647055824948808f,\ +0.6385524103330081358010f,1.2545691699775671779093f,1.2189537472935179085454f,\ +0.2828689457902803794376f,0.4633896660240007236986f,0.6429003543060739511716f,\ +0.3887142006801726501486f,1.0459517428704359076619f,0.2762989388590115780175f,\ +0.6215026189895035413358f,0.5838740042814533071081f,0.4518867349636846997285f,\ +0.2793951051102595561915f,0.3971301217078890832823f,0.132510043706192570667f,\ +0.3320934649289025153429f,0.1608210878711773539340f,0.4446678438400747945813f,\ +0.4121985697961437211667f,1.0021124190562762379386f,1.1309475449498487265032f,\ +0.3257784557613874198978f,0.9390052579549887923349f,0.8089888457708835911575f,\ +0.8892438326422247296676f,0.7433542835357417333242f,0.5420185672225497075516f,\ +0.1948338635337260038582f,0.4412568471414960447063f,0.5060808916267004464729f,\ +0.5447567844134539871703f,0.3579936097184594490095f,0.430688870641149468277f,\ +0.4579258061456900619213f,0.4168699854700866902490f,0.0954971037836137986998f,\ +0.0149911832144437959929f,0.2803929768115001053275f,0.4076979699824179737000f,\ +0.3338832266123987202455f,0.6486162776185823153341f,0.5217335620683097863193f,\ +0.8074019476106287784845f,0.6702938912826584827442f,0.5909876416606805182852f,\ +0.5878763702657983092337f,1.2343959660274554934745f,0.1020685954711661458383f,\ +1.1379615773910940479396f,1.0351830670880448614923f,0.3185927153117306676045f,\ +0.8417379366997205236700f,0.7344461964462585257252f,0.7302544939241956134524f,\ +0.8704388193816158247884f,0.9534899570984974870314f,0.1499588151786827583400f,\ +0.2506386006706501912156f,0.6808903181988129604818f,0.7122699052095804450602f,\ +0.0852297552133160912780f,0.3632373356223638216633f,0.7341129828114539845885f,\ +0.5861234773434839118167f,1.3394387326603169885431f,0.4451080564403126493822f,\ +0.5519958405399131295965f,1.1741139184516546922765f,0.4219354466987135787726f,\ +0.5589548324277814339567f,0.1598900667546140630382f,0.4814956074594635149211f,\ +0.9221526721268241688634f,0.4523960307711298312050f,0.4332185780481620507310f,\ +0.6212947925772885904294f,0.2670975836918499934924f,1.1814932336008394653248f,\ +0.2786923935221553016994f,0.8524970032637724237645f,0.1347421608080361932203f,\ +0.7059143267628599227592f,1.014572470500166190277f,0.0483176963724658639632f,\ +0.9168365263416731192336f,0.6719709888964939814571f,0.9863981265157644173769f,\ +0.5952512315907774187451f,0.3007190162077965633891f,0.8674345484889434132469f,\ +0.3854574865641427483531f,1.1963670583888645904125f,0.5890920941092092633085f,\ +0.4744017948433008613485f,0.0317722484037002914081f,0.7771241013419247778415f,\ +0.4820113338532510671719f,0.6846071548899330672100f,1.0882667543007658040f,\ +0.7993259845681112141236f,0.8942850957473000850229f,0.2959169071935129347040f,\ +0.4375577621669283212569f,0.2910472961271438063768f,0.1375780266978623433971f,\ +1.3818975127290542559422f,0.2580786782411462754183f,0.337103224922307598277f,\ +0.0061366100381220973006f,0.1729542689024595181202f,0.2844203312567258890020f,\ +0.2261168471284604464255f,1.292840105239649206581f,1.4987826659389660299837f,\ +0.4051931219540680362279f,0.6019650966008720516243f,0.0965255712145899474885f,\ +0.3599518411886321600512f,0.3243946620517429990649f,0.6238620609478121581404f,\ +1.1804783562721565814968f,0.9088946724537740884386f,0.7265514890656400437408f,\ +0.407093673069975237055f,0.6693775784027574671242f,0.1985261923397042549411f,\ +0.9367355633059043507060f,1.0143322323911900806337f,1.199387299048776833743f,\ +0.8224738107516712526390f,0.7363424248289601736772f,0.1551259899908567496674f,\ +0.6669785285495629656438f,1.289980681935538386895f,0.0404065303042144760570f,\ +0.0334024783187645626925f,0.8548073921139841546690f,0.7561744594372630245971f,\ +0.4495844069894625594230f,0.6403046132494145670222f,0.8295822852568314198507f,\ +0.4530252724246893181181f,0.2107930369382310653581f,0.747103346555288094777f,\ +0.3631353147252046054128f,0.0757405812005388645591f,1.1871407475057926816930f,\ +0.9874192358186812956689f,0.8376237455287295352591f,0.5128690395827339987278f,\ +0.6635292564994419439728f,0.8173250039556049229006f,0.6269213761078136215588f,\ +1.0418634321911146578543f,1.4947401270369859993536f,0.1392800314888206769659f,\ +0.4175628314057308609897f,0.4704260294397792363519f,0.29126887742414786509f,\ +0.2734108525510542397896f,0.2687961431094310627010f} + + + +#define RSOURCE {0.0100881215184926986694f,0.0074436445720493793488f,0.2989360922947525978088f,\ +0.3327573235146701335907f,0.237830940634012222290f,0.8535961345769464969635f,\ +0.7922197943553328514099f,0.9695409736596047878265f,0.6468791384249925613403f,\ +0.9159972262568771839142f,0.7485287981107831001282f,0.5446169781498610973358f,\ +0.4380150139331817626953f,0.8022991069592535495758f,0.0770919052883982658386f,\ +0.6038356139324605464935f,0.0416274946182966232300f,0.0491319303400814533234f,\ +0.2167323390021920204163f,0.5511633078567683696747f,0.5648556910455226898193f,\ +0.7904387773014605045319f,0.8203159859403967857361f,0.8707285351119935512543f,\ +0.7680293265730142593384f,0.9941699919290840625763f,0.7653715135529637336731f,\ +0.7766020926646888256073f,0.0391560420393943786621f,0.3610868924297392368317f,\ +0.7096323622390627861023f,0.1340617476962506771088f,0.3352055754512548446655f,\ +0.4794248570688068866730f,0.9102506125345826148987f,0.9960912610404193401337f,\ +0.5589408166706562042236f,0.3291657851077616214752f,0.5254327272996306419373f,\ +0.5988637856207787990570f,0.3400457371026277542114f,0.7296699327416718006134f,\ +0.1172471689060330390930f,0.1599596398882567882538f,0.6893001943826675415039f,\ +0.8244171240366995334625f,0.5743538914248347282410f,0.3230684562586247920990f,\ +0.4945516120642423629761f,0.1966073368676006793976f,0.1734057078137993812561f,\ +0.5929257045499980449677f,0.3272335343062877655029f,0.7093706638552248477936f,\ +0.9978715321049094200134f,0.6042335904203355312347f,0.5281810555607080459595f,\ +0.6643366483040153980255f,0.4330314965918660163879f,0.5683163288049399852753f,\ +0.0414931252598762512207f,0.3723129951395094394684f,0.9558939440175890922546f,\ +0.7412597923539578914642f,0.9651917275041341781616f,0.7298236568458378314972f,\ +0.9387842947617173194885f,0.2572855348698794841766f,0.2874279357492923736572f,\ +0.8952562944032251834869f,0.6853557890281081199646f,0.1711091897450387477875f,\ +0.7769848424941301345825f,0.658369113225489854813f,0.4177721040323376655579f,\ +0.0530332433991134166718f,0.4968273639678955078125f,0.59690707409754395485f,\ +0.4338118461892008781433f,0.9805241837166249752045f,0.9094489198178052902222f,\ +0.6140774791128933429718f,0.152644918300211429596f,0.2700240234844386577606f,\ +0.0427649877965450286865f,0.9506349326111376285553f,0.2680307617411017417908f,\ +0.7927461988292634487152f,0.6853035334497690200806f,0.2653256771154701709747f,\ +0.7276884736493229866028f,0.2182058426551520824432f,0.0794423148036003112793f,\ +0.8774413042701780796051f,0.7575887991115450859070f,0.0292344330810010433197f,\ +0.0814430620521306991577f,0.7652318407781422138214f,0.6499179983511567115784f,\ +0.652228816878050565720f,0.2570325322449207305908f,0.4139282093383371829987f,\ +0.5334635889157652854919f,0.5463846079073846340179f,0.8812804389744997024536f,\ +0.1071240645833313465118f,0.8451719628646969795227f,0.5956639605574309825897f,\ +0.3115242570638656616211f,0.7552670040167868137360f,0.7216278789564967155457f,\ +0.64724771818146109581f,0.7020909022539854049683f,0.8550091539509594440460f,\ +0.0292058298364281654358f,0.5402219365350902080536f,0.5295652858912944793701f,\ +0.6731671304441988468170f,0.2516432842239737510681f,0.4682487822137773036957f,\ +0.8973557446151971817017f,0.2490413752384483814240f,0.953785804100334644318f,\ +0.0199718060903251171112f,0.0883063450455665588379f,0.3088448666967451572418f,\ +0.0402540368959307670593f,0.7409055917523801326752f,0.3341060634702444076538f,\ +0.6859912057407200336456f,0.5277825826779007911682f,0.5605597789399325847626f,\ +0.2702448405325412750244f,0.3409920767880976200104f,0.0499807363376021385193f,\ +0.9285474619828164577484f,0.0452665109187364578247f,0.5747140836901962757111f,\ +0.8132651047781109809875f,0.0034279632382094860077f,0.5530686080455780029297f,\ +0.5287449606694281101227f,0.2227140991017222404480f,0.7380339815281331539154f,\ +0.7569990437477827072144f,0.5666191582567989826202f,0.8965943017974495887756f,\ +0.205033115576952695847f,0.5744996629655361175537f,0.6296528042294085025787f,\ +0.28830870892852544785f,0.0064737624488770961761f,0.2910466734319925308228f,\ +0.161138039547950029373f,0.6345168473199009895325f,0.1110653909854590892792f,\ +0.9721379503607749938965f,0.6926467292942106723785f,0.4481767667457461357117f,\ +0.9629431902430951595306f,0.8420772161334753036499f,0.6861935486085712909698f,\ +0.2752589071169495582581f,0.2056670929305255413055f,0.0983050949871540069580f,\ +0.7260084436275064945221f,0.9338818406686186790466f,0.8652051738463342189789f,\ +0.1300270427018404006958f,0.6536684674210846424103f,0.9546198891475796699524f,\ +0.3356514233164489269257f,0.6098881512880325317383f,0.7403389909304678440094f,\ +0.4407326159998774528503f,0.0114278956316411495209f,0.4274448286741971969604f,\ +0.4898742889054119586945f,0.0670661935582756996155f,0.9097212324850261211395f,\ +0.9331833533942699432373f,0.1665275008417665958405f,0.4363766452297568321228f,\ +0.1269035614095628261566f,0.4618353042751550674438f,0.6410199669189751148224f,\ +0.5118249626830220222473f,0.4726877692155539989471f,0.6037398651242256164551f,\ +0.6487199389375746250153f,0.3443940980359911918640f,0.1257671504281461238861f,\ +0.1930030044168233871460f,0.0536806662566959857941f,0.813977831043303012848f,\ +0.6546894307248294353485f,0.4812035299837589263916f,0.2122878567315638065338f,\ +0.6028915112838149070740f,0.2477151653729379177094f} + +#define ISOURCE {0.4653960186988115310669f,0.0302665126509964466095f,0.1205546753481030464172f,\ +0.4954105126671493053436f,0.8391606211662292480469f,0.8067971416749060153961f,\ +0.5980955390259623527527f,0.5697243823669850826263f,0.535449741408228874207f,\ +0.4594913427717983722687f,0.0716273644939064979553f,0.1432999591343104839325f,\ +0.3299815915524959564209f,0.2239767671562731266022f,0.4729467025026679039001f,\ +0.8927706009708344936371f,0.4739306215196847915649f,0.4218414542265236377716f,\ +0.5464035095646977424622f,0.9297901126556098461151f,0.8246648237109184265137f,\ +0.3906875425018370151520f,0.8106931401416659355164f,0.0035473941825330257416f,\ +0.4432799126952886581421f,0.1700443555600941181183f,0.2843202138319611549377f,\ +0.8185154641978442668915f,0.1276803798973560333252f,0.0368908629752695560455f,\ +0.1934843575581908226013f,0.3111848584376275539398f,0.8499574232846498489380f,\ +0.4845375162549316883087f,0.3811378227546811103821f,0.2295314031653106212616f,\ +0.5668137520551681518555f,0.7386174597777426242828f,0.6359649775549769401550f,\ +0.8589683636091649532318f,0.3717852663248777389526f,0.4039371167309582233429f,\ +0.6600336739793419837952f,0.2385329673998057842255f,0.4580096118152141571045f,\ +0.3359361500479280948639f,0.8938684901222586631775f,0.7110573030076920986176f,\ +0.8602916095405817031860f,0.3305067983455955982208f,0.9176958473399281501770f,\ +0.15107359318062663078f,0.4452155604958534240723f,0.7259225868619978427887f,\ +0.6476110024377703666687f,0.7142038433812558650970f,0.1180544253438711166382f,\ +0.5106264133937656879425f,0.0454169148579239845276f,0.4517838652245700359344f,\ +0.7152258791029453277588f,0.0306280092336237430573f,0.5608849888667464256287f,\ +0.6344716749154031276703f,0.5510452408343553543091f,0.8902607751078903675079f,\ +0.0251876907423138618469f,0.1285902666859328746796f,0.0875252783298492431641f,\ +0.1400479921139776706696f,0.2142530409619212150574f,0.6689547612331807613373f,\ +0.6959728877991437911987f,0.3454284076578915119171f,0.8007909813895821571350f,\ +0.3719339291565120220184f,0.9791326485574245452881f,0.6300911963917315006256f,\ +0.9137416174635291099548f,0.3324960893951356410980f,0.6226272527128458023071f,\ +0.2876702961511909961700f,0.0238953353837132453918f,0.6489893826656043529510f,\ +0.2444448098540306091309f,0.0555481188930571079254f,0.374434794299304485321f,\ +0.7194064198993146419525f,0.2112230267375707626343f,0.6445186366327106952667f,\ +0.6751487934961915016174f,0.1528833056800067424774f,0.8900802619755268096924f,\ +0.6180598423816263675690f,0.27906801458448171616f,0.1401830366812646389008f,\ +0.3047434557229280471802f,0.2149655860848724842072f,0.5602726386860013008118f,\ +0.6269132751040160655975f,0.6647229343652725219727f,0.2090867855586111545563f,\ +0.7116218386217951774597f,0.133228497114032506943f,0.7362840902060270309448f,\ +0.3999320124275982379913f,0.6811551460996270179749f,0.5637665162794291973114f,\ +0.523965936154127120972f,0.8278774530626833438873f,0.4659156939014792442322f,\ +0.8515693820081651210785f,0.23139653541147708893f,0.3077362445183098316193f,\ +0.4819453330710530281067f,0.7797386529855430126190f,0.9701553061604499816895f,\ +0.3744371854700148105621f,0.2292016251012682914734f,0.8245750456117093563080f,\ +0.1854322012513875961304f,0.2345628221519291400909f,0.9701467091217637062073f,\ +0.3639524574391543865204f,0.2672337628901004791260f,0.8174969092942774295807f,\ +0.6407580440863966941833f,0.0946763656102120876312f,0.3158860523253679275513f,\ +0.5199312460608780384064f,0.7127110259607434272766f,0.0025766002945601940155f,\ +0.5305844545364379882812f,0.7374818869866430759430f,0.2254834799095988273621f,\ +0.7290844931267201900482f,0.1897403579205274581909f,0.7771647279150784015656f,\ +0.7071320274844765663147f,0.67804440064355731010f,0.6918747089803218841553f,\ +0.2444804669357836246490f,0.2024903288111090660095f,0.7065096027217805385590f,\ +0.6258084420114755630493f,0.4988589403219521045685f,0.1275391997769474983215f,\ +0.7432725760154426097870f,0.3388997837901115417480f,0.2712128334678709506989f,\ +0.1686986042186617851257f,0.1788796423934400081635f,0.9720784332603216171265f,\ +0.0373507668264210224152f,0.9457915211096405982971f,0.3708799923770129680634f,\ +0.4304266162216663360596f,0.2409997568465769290924f,0.6574296867474913597107f,\ +0.1080590835772454738617f,0.2580570150166749954224f,0.9601870519109070301056f,\ +0.4275712119415402412415f,0.3774064141325652599335f,0.8860375732183456420898f,\ +0.1107313432730734348297f,0.572000074200332164764f,0.2775676711462438106537f,\ +0.2221131753176450729370f,0.7805933509953320026398f,0.5034774849191308021545f,\ +0.4225312541238963603973f,0.0509742014110088348389f,0.7888357848860323429108f,\ +0.4943151315674185752869f,0.6792991734109818935394f,0.2138219568878412246704f,\ +0.0629426804371178150177f,0.0151202948763966560364f,0.5832923236303031444550f,\ +0.0359809771180152893066f,0.9282481097616255283356f,0.8684628410264849662781f,\ +0.2752401321195065975189f,0.9713082071393728256226f,0.90322426753118634224f,\ +0.8362140888348221778870f,0.3033045823685824871063f,0.9321490563452243804932f,\ +0.0943789319135248661041f,0.0593075519427657127380f,0.1341886124573647975922f,\ +0.2735903281718492507935f,0.7845123005099594593048f,0.868671556003391742706f,\ +0.7169788884930312633514f,0.9007600247859954833984f,0.3080832012929022312164f,\ +0.2860837308689951896667f,0.9434729530476033687592f} + +#define RRESULT {0.0091461935615653692372f,0.0074403059517685150512f,0.3011120408510194468299f,\ +0.2998770814044370847107f,0.1819248875927510500361f,0.6444988336836313669309f,\ +0.6791245188293772994115f,0.8328839139359748289237f,0.5765876696591275551995f,\ +0.8504976129204943058326f,0.8394277222457392495514f,0.5667892427465585081237f,\ +0.4244768273740840425212f,0.8613255288489666261498f,0.0697161665763657567574f,\ +0.4438565921449716400460f,0.0376207427201287192275f,0.0452773943778729953680f,\ +0.1905350234324321712087f,0.3984765801447008870539f,0.4314770699424559374791f,\ +0.7678818181682768306828f,0.6201489749119961647494f,1.056635799167679801158f,\ +0.7224469139675204765183f,1.1570753191068809950792f,0.7891360295709419769850f,\ +0.5869418614770346431797f,0.0388500272557359208059f,0.3691306128445250300807f,\ +0.7557159781600413239744f,0.1282646090865436350192f,0.254601106881209460209f,\ +0.4365177363889400918850f,0.8917468285467748945194f,1.0969945987775304718781f,\ +0.4896234023783549438313f,0.2644825052430134770809f,0.4440381533885026654751f,\ +0.4483584089258232929787f,0.3221387984110837821028f,0.7011289310321348056121f,\ +0.0978674265602834936306f,0.1561241830600058055900f,0.6415261435351872210120f,\ +0.8301262834168886550756f,0.4226589438886647065452f,0.2631688682703156034748f,\ +0.3718501469694869832061f,0.1874416812787549069252f,0.1276292125120765952317f,\ +0.6223362931435947320580f,0.3011173751873987280980f,0.5675795050042053979666f,\ +0.8129219748246857557561f,0.4890104311779664980619f,0.550584097940126637738f,\ +0.6003329153401916196131f,0.4472450285127820834852f,0.5277749449162034700578f,\ +0.0337492295725758256753f,0.3812817338877603767777f,0.8272241071562403957884f,\ +0.6236783490132045137955f,0.8396686488386544411355f,0.5323480108875771055210f,\ +1.2121602671977980136830f,0.2578891950501832064369f,0.2902963532926625123132f,\ +1.0407218420407280401463f,0.719658282922589376263f,0.1422515549798589185038f,\ +0.6295643770268913863575f,0.6485925881357603728361f,0.3247882629711342783452f,\ +0.0497195040545942226751f,0.3510527044460081680377f,0.50563338590045081578f,\ +0.3179706585678286345775f,0.99285160840273078975f,0.7609503370287584722576f,\ +0.6176058717047394619470f,0.1531988771495936818567f,0.2266760787365090790146f,\ +0.0415517947772082799074f,1.218422457974889017152f,0.2526690822330791563743f,\ +0.6329425814457148025127f,0.7204713317072120037921f,0.2231989518352319179506f,\ +0.5985707095895493878857f,0.2172853881448477131322f,0.0593293879714889560439f,\ +0.7385713745542424879531f,0.7823911147317434977566f,0.0289551632441432602039f,\ +0.0779646258693818400287f,0.8182888473500083970080f,0.5715052817983971022997f,\ +0.5528641949610285655226f,0.2141542425335012378440f,0.4153673917132313930800f,\ +0.4332354240667932732123f,0.5700436227902923036481f,0.6908832900189864067997f,\ +0.0995605703740609776498f,0.6869435543144543077076f,0.5227653368830831315250f,\ +0.2770997202417057603263f,0.5689013982218961151816f,0.6692632096949825415422f,\ +0.4851064406738322953849f,0.7345650510869129456992f,0.8789819041715580816287f,\ +0.0263110479671970418081f,0.4230828882691921033476f,0.3752940809060429927513f,\ +0.6545085349432201438091f,0.2474097208124308444610f,0.3590569749582296354973f,\ +1.0107395629243736134839f,0.2444967346619240644578f,0.6498559643022308041083f,\ +0.0187681811419864209844f,0.0853955435810109381167f,0.23858632896482903640f,\ +0.0338939736966144267161f,0.8239189153398052134492f,0.3225505736889286989566f,\ +0.6168540121263207387514f,0.428433060998039016987f,0.5950583374560662885955f,\ +0.2394573971728722883157f,0.2741095497000874958715f,0.0487731652979911251000f,\ +0.7269475532699710695894f,0.0444861838193508288275f,0.4501104783981072499088f,\ +0.6528448282940336744318f,0.0028372513246705619722f,0.4536708244402919421034f,\ +0.5336004611058299262893f,0.2198360890060693795256f,0.5959746705988369086526f,\ +0.6396262340663229073456f,0.5139896603726894497299f,1.0518513414805021888299f,\ +0.1644962891003966809489f,0.5624905673203877132238f,0.6391528366469793054350f,\ +0.2879084713580257748333f,0.0063726492100631259435f,0.2079683900269996554844f,\ +0.1617268596829900817458f,0.45252598419205131153f,0.1042540297218644135269f,\ +0.9167320764408587452365f,0.7202498119943631094131f,0.3747568855205881677151f,\ +1.1832506588357394328170f,0.8926873380378329558837f,0.4837753498734558843530f,\ +0.2545199640454580136684f,0.1931610886369621860048f,0.0735568361645391743942f,\ +0.7995145050294805155744f,0.8044454260553820512669f,0.9085111724757110041040f,\ +0.1272278092834613905104f,0.5090362502018392909520f,0.8578711409272452570463f,\ +0.3118078521746414644156f,0.6543371722769727449887f,0.5706133911152972970626f,\ +0.3988750643962680753063f,0.0094531166452282121282f,0.4291477558442853834642f,\ +0.5104896641888095887296f,0.0671088543520260150110f,0.7800123094015957159186f,\ +1.1912011959193866683648f,0.12192992647229736192f,0.3274120948460061963914f,\ +0.1225950921700365431333f,0.3281975873099651774822f,0.4674494885223512974370f,\ +0.3894697523335833855285f,0.4641231634718703258358f,0.4345931392944782367671f,\ +0.6995072076723701792744f,0.3508640282412981981075f,0.1249574421756384084992f,\ +0.1870180747450552183331f,0.0422329366873970546425f,0.5961240984598299430530f,\ +0.5279606410558730367200f,0.3544288908497560397493f,0.2039132017920733119798f,\ +0.6057722587792238044813f,0.1797611770377918194441f} + +#define IRESULT {0.4500666085684790207466f,0.0302627309405466352055f,0.1259014236203331582598f,\ +0.4977434045460411571327f,0.773705242465913545225f,0.887900733341152936795f,\ +0.7079916425568136828517f,0.7688472856787659237554f,0.6017352744773040162940f,\ +0.6498883599394120746950f,0.107039917160296094156f,0.1690548918257823163280f,\ +0.3546374548515999203246f,0.3373847934787007063484f,0.4579255569364570899182f,\ +0.8732609696455944092719f,0.4580771972571195393975f,0.4106361461893539566148f,\ +0.5311452992294272146268f,0.8876026166669700456779f,0.8147068623051754165942f,\ +0.5194139247849689500214f,0.8786785088163897583513f,0.0072129604104987166471f,\ +0.5609976062745508640361f,0.4112823226813016597170f,0.3933766150232178571144f,\ +0.8693290272249873940f,0.1274316261040582265451f,0.0395449426043308974177f,\ +0.2628191746325336808354f,0.3088296914886584088045f,0.7926272523547727155702f,\ +0.5120084435293993374572f,0.5746945549365780614437f,0.4839450538685827751806f,\ +0.6047355489888047719305f,0.7052834690539023787537f,0.6561539945033735277136f,\ +0.8478769656358153827824f,0.3825478020514606614100f,0.5066754044490697772574f,\ +0.6222644111952397860676f,0.2391828028480158796487f,0.5443776858218749570284f,\ +0.4792822085648152929949f,0.86724431342169228110f,0.6822409980077328572889f,\ +0.8261589834748411798060f,0.3303572550644504612904f,0.8274965298010771297399f,\ +0.1848774585857928254296f,0.4507700784722463716037f,0.7795271583399024928340f,\ +0.8398668346264467343687f,0.7396983997066739480175f,0.1380866564681807739934f,\ +0.5849046253180708587749f,0.0503500622675033676634f,0.5016357319277500170784f,\ +0.6654269099346773463921f,0.0329916341046517930247f,0.7548317451254575871644f,\ +0.7182541963203104007363f,0.7522847340656214631949f,0.9046859380442064946237f,\ +0.0716988879790057820340f,0.132599207337852937f,0.0912207697238807957429f,\ +0.2735698269446988906139f,0.2811794411108771152286f,0.6327124304403525245633f,\ +0.7796338249130402298093f,0.4209075105417727225010f,0.7673980540361009516914f,\ +0.3642835980514441684974f,0.9112659650125345400795f,0.6691470644846674309392f,\ +0.8542200565296905745427f,0.5762098993480122555155f,0.7786617427494030296842f,\ +0.3459141320122436358275f,0.0241761593182958818560f,0.6246129374546308676841f,\ +0.2422787652159511528893f,0.1602629717157874056355f,0.3776710192863622084225f,\ +0.8030895628249021811484f,0.2774953901907728504028f,0.6203514328186836568335f,\ +0.7460670209249947726349f,0.1559320495131248929255f,0.8026468549051214429468f,\ +0.760424886296417135156f,0.3839751822834133743179f,0.1397861363985309635094f,\ +0.3011015740622249303726f,0.3095528263794048440261f,0.6246974136518177456168f,\ +0.6824390801574051756972f,0.6364220425441351469686f,0.2265745526065163772955f,\ +0.7201722295639139126422f,0.1575984581645545612449f,0.8494571876510255137305f,\ +0.3918195908099642577049f,0.7946547307771568702250f,0.6117848393634578441080f,\ +0.5208720859508298994811f,0.8690531065973791102763f,0.5637323042761468450124f,\ +0.8547026638602744919027f,0.306960447908322775490f,0.4654093394618514789585f,\ +0.4651555318578067255153f,0.7751475575968125308890f,0.9112674172531984861934f,\ +0.4560028346615129235531f,0.234251732325255618283f,0.7944832243829529350165f,\ +0.3423334159329023407281f,0.239457736168475460170f,1.02777275826487124455f,\ +0.3564220429250729016424f,0.2650952420467553305450f,0.7646166714313819001703f,\ +0.6037691171359901298743f,0.1389158036998756340363f,0.3271927879913820724767f,\ +0.6006321860598116124663f,0.7197540296752282795723f,0.0031113959438069660468f,\ +0.5221204081389118067946f,0.7059634191281195514378f,0.2238770907129097598176f,\ +0.8641197102092305071253f,0.1888045378279312735970f,0.7812121068214791241857f,\ +0.8015589685608611736356f,0.6345893564856053270518f,0.7088628827258813824841f,\ +0.2802718253544457249760f,0.2060232397943899673720f,0.7740411253804675428825f,\ +0.716974289181374180302f,0.5454318495795067445187f,0.2544009667091767235014f,\ +0.6958995710025659420239f,0.3906147496642403682543f,0.3317958100335353655019f,\ +0.1750450440110335736943f,0.1779427350870727009280f,0.8767597428372501111582f,\ +0.0378355850756998610129f,0.9174242179663641971743f,0.3647620293190586560073f,\ +0.6587619708007782515224f,0.3153773564551797248257f,0.6579511103942273786416f,\ +0.2821737200327205097317f,0.4005650534773762538876f,0.9399862930023007434599f,\ +0.4285643691635598884204f,0.3756601850966035938129f,0.8002497169354958472809f,\ +0.1581953331446839250418f,0.7519083154621302167442f,0.4373149903759625534150f,\ +0.2220927412218937635480f,0.804348871566688328f,0.7089002298114742695034f,\ +0.4305150724386235805419f,0.0641995146174158398678f,0.8363640441971674777122f,\ +0.5135521078813733986124f,0.6356504507416418370269f,0.2330299466993880075361f,\ +0.0720777388352223102874f,0.0151538267615728122067f,0.7485905695903387613299f,\ +0.0969510446209165821507f,0.8347965442360075760675f,0.8215865796515979813108f,\ +0.2738845295035164384423f,0.8996918043828731059719f,0.8896690120740690099765f,\ +0.8117683352741612567982f,0.3329971294517217184072f,0.9008120497468148357711f,\ +0.1230347833276769775601f,0.0631133065200175230602f,0.1348341818397757463366f,\ +0.2749675342978448178144f,0.7210794354646373749418f,0.9161054973709473747689f,\ +0.7559186765863976642521f,0.8531345425055275599746f,0.3096300406745840505529f,\ +0.3413400734450014462062f,0.8520286730709790701255f} + void sasinsTest(void) { - printf(">> Float scalar\n"); - printf("sasins(0) = %f\n", sasins(0.0f)); - printf("sasins(PI) = %f\n", sasins(FPI)); - printf("sasins(PI/2) = %f\n", sasins(FPI/2)); - printf("sasins(PI/3) = %f\n", sasins(FPI/3)); - printf("sasins(PI/4) = %f\n", sasins(FPI/4)); - printf("sasins(PI/6) = %f\n", sasins(FPI/6)); - printf("sasins(-PI) = %f\n", sasins(-FPI)); - printf("sasins(-PI/2) = %f\n", sasins(-FPI/2)); - printf("sasins(-PI/3) = %f\n", sasins(-FPI/3)); - printf("sasins(-PI/4) = %f\n", sasins(-FPI/4)); - printf("sasins(-PI/6) = %f\n", sasins(-FPI/6)); + float in[]= SOURCE; + float res[]= RESULT; + float out; + int i=0; + + for (i=0;i<200;i++){ + out=sasins(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-6); + } } void casinsTest(void) { - floatComplex pi_pi = FloatComplex(FPI, FPI); - floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2); - floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3); - floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4); - floatComplex out; - - printf(">> Float Complex scalar\n"); - out = casins(pi_pi); - printf("casins(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); - out = casins(pi_2_pi_2); - printf("casins(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); - out = casins(pi_2_pi_3); - printf("casins(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); - out = casins(pi_2_pi_4); - printf("casins(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); + float inR[]= RSOURCE; + float inI[]= ISOURCE; + float resR[]= RRESULT; + float resI[]= IRESULT; + floatComplex out,in; + int i=0; + + for (i=0;i<200;i++){ + in = FloatComplex(inR[i],inI[i]); + out=casins(in); + /* printf("%d - %f - erreur %f\n",i,cimags(out),(fabs(cimags(out)-resI[i])) / (fabs(cimags(out))));*/ + assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6); + assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1); + } } void sasinaTest(void) { - float out[5]; - float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6}; - int i = 0; - - printf(">> Float array\n"); - sasina(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("sasina(array) = %f\n", out[i]); + float in[]= SOURCE; + float res[]= RESULT; + float out[200]; + int i=0; + + sasina(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-6); + } } void casinaTest(void) { - floatComplex in[4]; - floatComplex out[4]; - int i = 0; - - in[0] = FloatComplex(FPI, FPI); - in[1] = FloatComplex(FPI/2, FPI/2); - in[2] = FloatComplex(FPI/2, FPI/3); - in[3] = FloatComplex(FPI/2, FPI/4); - - casina(in, 4, out); - printf(">> Float Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("casina(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); + float inR[]= RSOURCE; + float inI[]= ISOURCE; + float resR[]= RRESULT; + float resI[]= IRESULT; + floatComplex out[200],in[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i] = FloatComplex(inR[i],inI[i]); + } + + casina(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6); + assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1); + } } + int testAsin(void) { printf("\n>>>> Float ArcSine Tests\n"); sasinsTest(); diff --git a/src/elementaryFunctions/asinh/testAsinh.h b/src/elementaryFunctions/asinh/testAsinh.h index 3c511f7a..4352300a 100644 --- a/src/elementaryFunctions/asinh/testAsinh.h +++ b/src/elementaryFunctions/asinh/testAsinh.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "asinh.h" #include "constant.h" diff --git a/src/elementaryFunctions/asinh/testDoubleAsinh.c b/src/elementaryFunctions/asinh/testDoubleAsinh.c index 13cb1bbc..9dac3da0 100644 --- a/src/elementaryFunctions/asinh/testDoubleAsinh.c +++ b/src/elementaryFunctions/asinh/testDoubleAsinh.c @@ -12,65 +12,475 @@ #include "testAsinh.h" + + +#define SOURCE {-1.3576117896733277401466,-1.7637832035201410629810,0.3855566139299755334946,\ +-0.2160798468986061537933,0.5079016244365412990902,-0.6713405437771273742698,\ +1.2405146112769958044453,1.3996914808133518182132,2.455810932856137718261,\ +-0.140780207215658148545,-0.4702849878182233100965,0.0273321471208497618344,\ +0.1272959744763040301763,1.0077609385751984394375,-0.5992823608151862657678,\ +-1.4909735993420030197854,1.1850328323549159659223,-0.7532372700108580509948,\ +0.1544844959811866313970,-0.4395251247591652199453,-0.1710077835697096926282,\ +-0.0020392103157046703732,2.3911285878389949566269,-1.8171171150936700211531,\ +-0.7159791420443786247318,0.5100070355081758322058,-0.9023845512384770506387,\ +0.1404573536528139765522,1.101925188407546940539,-0.0755748286838698046797,\ +0.0052019860396882644168,-0.3525317421211751067744,0.9599782396584397581307,\ +-0.3373393328184763340083,-0.9424787821879185845120,1.107342433121214275715,\ +0.5275760618563184456420,2.2874014544326271014540,0.8431549305721607323605,\ +-0.1180124731434434998123,-0.4202553394312918411124,-1.114616954771672663327,\ +0.7423526085481280123446,-0.8110912540737037490501,-0.2279425085104251347268,\ +0.6450672141930872127702,0.7812946955887702937815,1.4559939295961445981931,\ +1.4808632601102580395036,-0.0561674797508281767322,-0.6499637724416639228409,\ +0.9406577697059905762700,0.4408659857477613686072,1.0630757257539220628217,\ +-1.3783233641019425608221,-0.3062086297728683903507,0.3570701509900506276374,\ +0.2722352561686949279363,-0.8234027247256571202527,-0.5990920922251514735279,\ +0.8126089186562406307957,-0.9202541957145593531919,0.4637689483065319806521,\ +2.7285780311422769273122,-0.5523000528063060077244,0.5645499540468182919639,\ +-0.1966239792749471526623,0.3232076144184721222530,0.2044915219084416369011,\ +0.9122595139735795166658,1.32862804461268768641,-0.3933121244849541731092,\ +0.6800596076198115458311,-0.0390966465388340317366,0.4460664717379928534413,\ +0.0466968662605830517331,-1.159097013642337747896,-0.1516000867442619526315,\ +1.099835547132880231302,-1.8591997482220850024248,-1.5859733492347323213778,\ +-2.3518422239705527587716,-0.0363309315202365243347,-0.3671077430846361733252,\ +1.4974841041542252817464,0.1166082461631383904166,0.6150562435701190100446,\ +-1.1854669210396810985486,0.3562903039222897749738,0.3468046496992864269338,\ +-0.7767949783190361001672,-0.0388605946733660209680,0.4658948000641440767566,\ +2.5397452836287333077792,-1.6499955625089919308834,-1.730408375709416413102,\ +-0.5118965544481819396339,0.6229106301535243250811,1.2541834743916775440908,\ +-0.4242067654129669240781,-2.4609745338396713520979,-0.5875679117078018709464,\ +0.0525256277866840218249,-0.0221901005868065138993,0.0047340660621973179242,\ +0.5954335288237887491292,1.240326181995874410546,-0.4474314847009220885710,\ +0.309985603496633732590,0.1897272751476858920761,-0.5041309171227571495066,\ +-1.0407049076417729249755,-0.8790182225827031237131,-0.8241442015820352740008,\ +0.0114520840633361691702,-0.8375012162452729613804,1.5044689875616372720657,\ +-1.4872169103117691690841,-0.9491620445763213620438,-0.4714572242020408365804,\ +-0.9944436112957297790871,-0.7897744853013518584461,-1.9610605179993771951530,\ +-0.5551411828413486126976,-0.1498033190111577317438,1.049612455441040648196,\ +-1.873247408264758551155,-1.7768646550852811305532,2.055125969134249608317,\ +0.4181799324473139956027,0.4756981765178688870144,-0.0497090050304667893655,\ +-0.8254170186481527560218,0.3315212467523889205978,-0.1049083295446031904863,\ +0.9436361823785577307433,-0.4297495677869329622212,0.6041720693587251389545,\ +-0.5126921017648137235412,0.8253623930867394209443,-0.5636867633411185574133,\ +1.4780035136607696522049,-0.1150898513104453707578,-0.0895959753888824761425,\ +-0.1719733530741588689583,0.2269131790250100699780,2.0342102181126362481223,\ +-0.0976186373893909720145,-1.0193857468205604899,0.778026114056752038373,\ +0.3469309321844699645077,-0.2119385547567329830532,0.1122013143743656737872,\ +0.5130455426994967593757,-0.9836962738165191399986,-1.8662473753394661635241,\ +0.5046191490309642757595,0.5397589965174257597980,0.1495290449776452701425,\ +-1.0010126697848658050560,-1.231087303316227510308,0.493771591129457787517,\ +0.0084749296034232757258,0.6528794554325030308206,1.3165434517533367575481,\ +-0.7644706245855447113158,1.60959294894722515501,-0.3945002118117288958388,\ +-1.7397191133485980785167,0.7283944071784652640744,-0.8252534213629215686936,\ +0.1067480143242338502807,1.4303021806407054672405,-0.9653188502218088551388,\ +0.3473141482678416824825,1.3246017895509272221943,2.2493951812296155701176,\ +-0.6569708783346918101742,-0.321524642114760117462,0.6051546744959480639281,\ +0.3028414522677088660529,-0.6449695892069078340114,0.3426130327302095435194,\ +-0.9643932135296735541630,1.3325612893853038265490,-1.628074335418207230219,\ +0.7075076309451185929689,1.0853008279162978944044,-2.3506278976788554935240,\ +-0.1463993258475799474905,-1.0813242242905494183702,0.8848173893719444293993,\ +-0.8759582027327027509145,-0.8344888331049786778237,-1.0485734628076319729928,\ +1.9962933549994803517080,1.2493174700563109968954,1.1394362749053514871633,\ +-0.2197402489428784411185,0.3152457615995896134109} + +#define RESULT {-1.1130949556588403126511,-1.3327159168755193796585,0.3765918165954149632313,\ +-0.2144327449409605401698,0.4882680607211341006213,-0.6290298228269889380115,\ +1.0416537998862092084806,1.1378027100741174848508,1.6306935238556961031975,\ +-0.1403192842222721059553,-0.4544772654936784506141,0.0273287452012760077869,\ +0.1269546678262620797994,0.8868507654832032960357,-0.568209430801213888351,\ +-1.1897458189645284676317,1.0063560088725012064970,-0.6957349846601869058915,\ +0.1538765289352577170234,-0.4264787556420423508818,-0.1701850823931514988807,\ +-0.0020392089024058542880,1.6060204471410550741695,-1.3587234662009097796442,\ +-0.6657080515933866404765,0.4901444289074484705893,-0.8106383081775411225678,\ +0.1399995760847499992607,0.9516413314489057251322,-0.0755030713336432846017,\ +0.0052019625784457792020,-0.3456102163306026819889,0.8527889195091039598040,\ +-0.3312482849825826303203,-0.8401095674014050773692,0.9552769725934540101520,\ +0.5057396137890651788283,1.5652435713544583517631,0.7660130911978242362892,\ +-0.1177402502570575049123,-0.4087756154845550438104,-0.9601436921836913329642,\ +0.6870180358136419584980,-0.7413056602559416896625,-0.2260133834402236752137,\ +0.607083791196235011967,0.7179951440904949189203,1.1701025225825925080159,\ +1.1841009702891132082669,-0.0561379888707583402097,-0.6111939387463327655325,\ +0.8387837653657870262691,0.4277059773372764994726,0.9252791007143230661569,\ +-1.1253178411086610655,-0.3016147291750726489035,0.3498873875038394642978,\ +0.2689800399453179946541,-0.7508385861915640724362,-0.568046218336308084140,\ +0.7424839156827229835756,-0.8238461490952974086710,0.4485733597383650406165,\ +1.7289314850929364819621,-0.5274948117440469985695,0.5381900831525847639369,\ +-0.1953785803896550821168,0.3178295637778837390286,0.2030924952508830483300,\ +0.8179516300830952379997,1.0957859238613814056862,-0.3838186466908449778757,\ +0.6362542602331872076959,-0.0390866932016993157140,0.4324599635687117471505,\ +0.0466799117153936446445,-0.9895220015504287980335,-0.1510253177999459628378,\ +0.9502363023238964423456,-1.3788344661100282451116,-1.2415257056941875202227,\ +-1.5907556842186492129798,-0.0363229438428324669097,-0.3593253093499745309813,\ +1.1933668386250828596928,0.1163455870775610828671,0.5816925710627691703536,\ +-1.0066359311257613295965,0.3491528652755562234233,0.3402040976525141924292,\ +-0.7144454627768908050456,-0.0388508204533765666433,0.4505011238681072560652,\ +1.6618918653106427019139,-1.2751867809374948237178,-1.3161363888578068159774,\ +-0.4918270306483571441269,0.5883710719531183297448,1.0502037442465796956981,\ +-0.4124158523209305871049,-1.6326391191927918100646,-0.5581352790789477769096,\ +0.0525015052004256660423,-0.0221882799205271458165,0.0047340483795489029725,\ +0.5649052397488373289391,1.0415355372390291410767,-0.4337062598861871065559,\ +0.3052242689715726209343,0.1886070763157441099178,-0.4849035737297955339642,\ +-0.9098654196250280934422,-0.7931897365608786554247,-0.7514108860522482613575,\ +0.0114518337541998777018,-0.7616847132530191188948,1.1972396117455856856537,\ +-1.1876514534079536389299,-0.8449650527155313506356,-0.4555378112663634460056,\ +-0.8774391641368382011024,-0.7246635421278604383133,-1.4260843463597587810199,\ +-0.5299803397861506670807,-0.1492486124002971037417,0.9160234338985321356219,\ +-1.3854693118499961101975,-1.339149741178953689769,1.4680202081995989971119,\ +0.4068615933419172381313,0.4593706772145678129959,-0.0496885560579486892929,\ +-0.7523928088748154108245,0.3257305872841815830299,-0.1047168437798993573251,\ +0.8409515953244546260237,-0.4175134246305884921924,0.5723991247141133609233,\ +-0.4925350737504667897326,0.7523506802368506996004,-0.5374382677208087155662,\ +1.1824994989469264083937,-0.1148372801243118385139,-0.0894765353119480744137,\ +-0.1711367593250398000393,0.2250096841326320595833,1.458830901005770064316,\ +-0.0974642573471812823094,-0.8950151622701945086646,0.7154174354590427942213,\ +0.3403234064876564657354,-0.2103831526165375054305,0.1119672185619183107930,\ +0.4928495654965970862449,-0.8697979955142227659337,-1.382167978700230337452,\ +0.4853394960873701480253,0.5164877528407616491535,0.1489773595696585739567,\ +-0.8820894714376154022162,-1.0357236173571910953228,0.4756340389263381540630,\ +0.0084748281555349427863,0.6136369862616236625641,1.0884976091419886756739,\ +-0.7046834979102297724651,1.254056645766540967202,-0.3849240656020492257205,\ +-1.3207856959376931271777,0.6757730196964429891793,-0.7522666350656633804661,\ +0.1065463121770779120201,1.155469512029384748786,-0.8566364746899163273852,\ +0.3406854318087456645614,1.0933623617966952146219,1.5499122891284196068540,\ +-0.6170596901911918896744,-0.3162277642902040497574,0.5732399668068761666717,\ +0.2983935984890606074593,-0.6070017519078403367416,0.3362413129909137543549,\ +-0.8559703502467290725519,1.0981489764525824703867,-1.2637694566754069658288,\ +0.6588062099967662010869,0.9404229224232689698937,-1.590280419973736147909,\ +-0.1458813492114517662568,-0.9377256428290303702511,0.7975391112088442424621,\ +-0.7908896752603351565369,-0.7593735645090678998415,-0.9153065625835585805703,\ +1.441976583204267914340,1.0471665685842834747632,0.9766162941953494547320,\ +-0.2180092160957680658129,0.3102448153202543856821} + + +#define ZSOURCER {0.1344153599005591392945,-1.5506135890216410366804,-0.6851077106999041710367,\ +0.4218254137797516900577,0.4563186792784946765877,-0.0065657292828231895304,\ +-1.4909053660893785142605,0.3020078702400747494572,0.9932063361099687792688,\ +-0.4433136654301204071515,-1.2230912696221460933543,-0.4536074652511654647924,\ +-0.391728395210721336284,-1.0754644749418362792426,-0.3220075728643138068819,\ +-1.8561721663709394025688,0.9166361449615868517427,-0.4865676280317013935317,\ +-0.0798825634299456799337,0.7227932226211960520246,0.4367586477867241301354,\ +1.100708465607679542586,0.7887304681164191144660,-0.7638617615134800642451,\ +-1.1157778009204568636648,-0.0715514394916681589764,0.1759955522740979383389,\ +0.6521704771208436390850,-1.2566799200234315403435,0.7200913102328155845910,\ +-0.3420550667112094989086,0.2477935566640704911912,2.0205940701992970431888,\ +1.3930268695166325709778,-1.2605487293586259411882,-0.1650288634784027319569,\ +-0.0981081330322927658294,0.4100655669623185506367,0.7181621264742018562188,\ +-0.4072630840419457221024,0.5156039430832634051782,0.3795734781395984636099,\ +0.3638182194100580413298,0.8461109103084072380341,0.6093905395787995171730,\ +-0.2503150987783319125768,0.6420253514641469649860,-0.0446314315869399819148,\ +0.2916988037421140433914,-0.3385179884731976951429,0.4290547410494972568884,\ +-1.7617580904822116583119,0.0242252644066083683283,-1.6979773429025941666737,\ +-1.5685374082937220130418,0.2235220732382334762889,0.3158040584918663795655,\ +-0.3902896794740354780018,-0.2554731784615550393980,-1.2399505074947390070861,\ +-0.0969941013810174113008,-0.7835998873676693898815,-0.7420185738540517883521,\ +0.1215847078229450456410,0.346331144382537814419,-0.1289657459832099506425,\ +-0.2972509851392565738415,0.5513684955823417999099,-0.3924372370508544816126,\ +0.6550918706396454682661,-0.0941496244175293039991,-0.6298808116548983981886,\ +0.6046273337026021321705,1.154776599111647650275,-1.3475403271419439388268,\ +1.6941635868888738070126,-0.9698161544930480326698,0.321333626597992860763,\ +0.8077673631787291030903,0.4495327099693594008478,-0.2815944820401523052134,\ +0.5503911320698096076853,0.4415940612643087237466,-0.0426890352355768151749,\ +0.4574486820024267763607,-1.8233880107049311725120,-1.2644581540832258159668,\ +1.8182154451811951556550,-0.4365692326313646565161,-0.7834466000398015994577,\ +-0.2438122853723030947215,-1.238179759598785789620,1.0164635023339896324757,\ +1.1566875865587697980175,0.7525323014625638906594,-0.5302881550474964900133,\ +0.9946348209098996306921,-0.2846244148716441380031,-1.4971569165104527954213,\ +0.3858437386079422992680,0.5857497893655945198077,-0.5407108407032041874629,\ +-0.3913628275219260821416,0.394150621449124050066,-0.3677461583219513441279,\ +-0.3580090499105863521834,1.2238011161239454871463,-0.0394483595782139026542,\ +0.6819869387311006114771,0.0482725904112477066654,0.6909298247176761664790,\ +1.3224847954183336362632,1.4037115762091163517766,0.8467069128655627663349,\ +0.5210759995289813151231,-0.2055830325344648878971,-2.0192992995259366750815,\ +-0.5304191698016149647543,1.09472080578548336405,1.3620867421349684978082,\ +-0.1808242201566298279491,-0.0194904828858388744217,-0.4683180277648698042192,\ +0.7819869233308703870833,0.1429480494914288357666,0.2773646548392231792057,\ +0.6096476038786750040188,-0.5960852983339143262853,-1.963887290912852856550,\ +0.9721629223729456592551,-1.6452050961761244263215,-0.3723296190652639614527,\ +0.4738633834151028678683,-1.057700746568926764013,-0.4968910756708404541371,\ +0.2577873463311163293454,-0.0737988795500269523231,0.1977793752007929173331,\ +-0.6149210248305110315670,0.9875664176674272543011,-0.4642707502431423494116,\ +0.0643413048674845028385,0.6498540575999842694443,0.7121440663138152160627,\ +0.2359686505725840099945,-0.2350484222736072826,1.427908791905283747425,\ +-2.1717696603112686126735,-0.7707405591334609562537,0.8328839983146067993403,\ +-0.8442913355247498863321,-0.9327775490791254675571,-0.1481361786955139869804,\ +1.3160166106571784538914,-1.641046498941054032628,1.1071159236267200665083,\ +-0.1637297725664050573879,0.0063889356258534446900,-0.1876117315630027870821,\ +-0.0437156856017992812014,-0.5047856242612756005883,-0.4377080020532335691286,\ +0.8918622387976500309748,-0.7125206673387354250337,-1.8420141064608679393,\ +-0.6323236657671401639291,0.4307970989642812553733,0.0065706118931696342461,\ +-0.2380637309545470814420,-0.9281665549650555124828,1.2462413799568070604806,\ +0.1118120260462647785893,0.5017427788303500113543,0.1413380949238240147370,\ +0.5728474017890546887699,-0.2522748296906130449635,-0.4384774472140181011959,\ +0.0497517512937118988603,0.5020924835745471659365,0.6928164360637126817366,\ +0.9383192238380625438410,0.9522811808490952989459,0.6799302528285031677058,\ +0.5017679240717164423913,-2.1626383553421018035579,0.4579762384000223285341,\ +0.0586823729814069730559,-1.0035555258293702429739,-0.1166748359615927543853,\ +0.8530686378617126086610,-0.5952441201854786756442,-0.9104692400773028992944,\ +-0.1222081949574846115869,0.8743861864198215760879,-1.7814901158856750740256,\ +-0.1655434636829379024814,1.2699075561256230049167,3.1587625106365013749610,\ +0.8610776754247619901861,-0.0100004380673695478232} + +#define ZSOURCEI {0.9250286334648400998759,0.1065362941212572023275,-0.8122748012511081805442,\ +2.9016509109873367400212,-0.879282905363888867001,-0.3325238972742790566350,\ +1.2084799362120550725308,0.2580513186266746861186,-0.2529978784629969279507,\ +1.6363224419507169660193,0.3632057263498695842685,0.3611017132584669053763,\ +-1.2067543995469365292195,-0.9261214746973902567362,0.5500770410591231396324,\ +0.3509274981930612380410,-2.0620828383452867171854,0.1301261656898765051160,\ +-0.0829640021096160473757,0.5497292800458170036748,-1.586103376800369391120,\ +1.1212128658770057487715,-0.0802149047940418080671,0.3400568097779858578456,\ +0.5992917235464352287977,1.2934484737369573714716,-0.1770100915330515556345,\ +-1.6783588206143511545321,0.3877335362207995905770,-0.3290626192650726866695,\ +-0.7735806757117498211329,1.4288193530454935675778,-0.0608386450296815664562,\ +0.2853217242027552558170,-0.3091484421032868468160,0.2351673955360732704012,\ +0.8718242905301006873131,0.9043814712183079196350,0.4001603453209788274769,\ +0.2902565872125924539837,-0.1051862594971314374126,-0.2633497801636938695502,\ +0.5605928815183498503671,-1.0135332223701010168071,1.3762849538989350151041,\ +0.0221113855817069056287,0.296045052860035018405,0.1323984531412186749222,\ +-0.5439657044615130443432,0.7105758550684416752219,-1.988902172751357388947,\ +0.8370036445008282033342,-1.361827445493777322127,-0.2908726176761944892668,\ +0.7582058566306987268391,2.2582687071318150451305,-0.838995532132944754622,\ +-0.0049693115325542529942,0.8948621233346091274896,-0.1820415696112677728102,\ +0.0164009645281327567923,0.4631157184786182656744,1.2818863747394355634412,\ +1.37735582155233560187,-0.7661687725125947423521,-0.8188017890741936533061,\ +1.3941959606340814659120,2.0721869090596265472470,0.9329858014692479217800,\ +-1.0023470169799657547571,0.1352029091047084741195,0.5763346694547388793239,\ +-1.492034523395888490072,-0.4804977288873880647557,0.7911732889577677285686,\ +0.1745293679511154827377,0.0354831535332537570393,-0.8628629256538601355331,\ +0.1942834096659604437018,1.3466596448020036191906,0.3364543941938548110571,\ +-1.109797124842869298078,0.1809508886112952685821,0.5725159396053964844242,\ +0.6787472822917395287590,1.4922528447187788369632,-0.9855408452288743070824,\ +2.0147405762642014437347,-0.1974169216352719968821,-0.2472797570908096820297,\ +-0.3003777280233598800940,-0.6957353172991608269982,0.8954567399776292013769,\ +0.0025734217968703923703,1.2028191624106452373155,-0.3976568161030914483334,\ +-0.9486032699014914637559,0.344203116731234826098,-0.1282579491971870822020,\ +0.2354837848969928981724,-1.0123893486718691381299,-0.1455435264750559176683,\ +-0.0385439121492695893623,0.2704776801120854501370,0.9996348746916957628272,\ +1.1879952493572987215487,-0.1421627190737907164841,-0.9134168336317867176177,\ +-1.3273949616244651306118,-0.2266260602581666450117,0.0136941574262192684169,\ +0.8667822397875659667932,-0.8918524882230300931951,0.5818810906621436629393,\ +0.5786477410918646757665,-1.2824019249961673416749,-0.8858272202103619763491,\ +1.49931415247364041576,-0.3191008638398869501351,-0.6302800825827241659738,\ +-0.9307697616588104239099,-0.2218962076254625825911,0.5504657591791385362612,\ +0.7937732776747626894931,0.4530121091137990219089,-0.5561836772913717474864,\ +-0.0487810094749783207391,1.0373690852013959240452,-1.9605345216190741552964,\ +-0.6318190008183720562940,-0.2595506312908315571519,1.6655693943633802511783,\ +0.2643484753712377899326,0.5166487752761181884154,-1.7642021092407271787295,\ +0.9519817124353935344772,1.5941109627321103925368,-0.3268346133298423716873,\ +-0.8591341754919610274044,-0.5067465121338621258928,0.4012524027420211192307,\ +-1.3781772559142455580883,-1.0900200484217259511155,0.7071849131547247591101,\ +0.6311112492498477388736,-1.5661486235109134401711,-0.3037032596268335327139,\ +-2.3928711979350367755615,0.9280630230889591603116,1.234345031017325400313,\ +0.0245382276611107209841,-1.7795591476102954331395,-0.1457340296796875434016,\ +-1.4175919090731374794245,-1.0931645829165108629866,0.0976120560124896369247,\ +-0.4917932561715864236973,0.3236361331498361360026,-1.3493789441767958248164,\ +-0.4975410901203008995353,-0.5175498508985710843788,1.9028534065523732277114,\ +-1.0213015320689262654952,0.7201673839470011939667,-0.229479324750370056174,\ +0.0507808834449509222120,-0.6036524407661360003274,-0.3189899214184117592907,\ +0.8969390978377852485792,0.0689550751790670851671,-0.3842312216289716086948,\ +-0.5817559662860881664059,-1.4228206622942274339749,-0.8055937171612096436846,\ +-0.8761791574203163790457,0.6999940081500163335804,0.3592083211755666694032,\ +-2.2759824091756848396528,1.1126243656877470300515,-1.490042708505755930659,\ +-0.2517675074289520420479,-0.4649616224894683735869,-0.9304122891120238936224,\ +-0.2780945839682648634827,-1.186365868114249266796,-1.0805465619847403058174,\ +-0.2982113561322028982836,-0.4608151973468663786804,0.5142626215675811796046,\ +-0.8962085262358048254328,-1.8912922138922239057024,1.5339839202719194322100,\ +-1.0493592314888038341536,1.5275565058768361126340,-0.3000289995792813080300,\ +-1.2901253199534357118949,0.4517205659557054775455,0.1925085892467791881533,\ +0.4244705571771024699146,1.1465794102472002258253} + +#define ZRESULTR {0.2881823261718455264635,-1.2239148834349047323400,-0.7845879395690421587162,\ +1.7398908843418365854916,0.6267968040978579846723,-0.0069618200210163757799,\ +-1.3647060336777470102021,0.3067781755755824568688,0.8879601142484547793288,\ +-1.1408081118402808584733,-1.0511217892257147532575,-0.4630227853264242132703,\ +-0.8052300885146775888401,-1.0799054881923455528892,-0.3673239873834487356774,\ +-1.3895193771431015861140,1.4748704381210364644517,-0.4721815868535457205724,\ +-0.0800715444386163321955,0.7328675926305248111703,1.1062012776691256821238,\ +1.1578188890116758447135,0.7250736097899580512305,-0.7268209399811761395327,\ +-1.020749615675486277055,-0.7543891378811746761812,0.1777916795470285138414,\ +1.224903809672051702151,-1.074529895353530717372,0.6903548013878436639956,\ +-0.4611640141379182988857,0.933556473565831823613,1.4531339378119088046049,\ +1.1451427225776011908920,-1.0686132863053487973559,-0.1688483441440512822229,\ +-0.1889456477264452038956,0.5985578048499338166266,0.6993236665323845357989,\ +-0.4109810453160360754765,0.4971360116983927213141,0.3821580291233257486994,\ +0.4128919091647823558233,0.9758538921704605906271,1.0346135696067118026065,\ +-0.2478280180540722854587,0.6216905071606976251886,-0.0450118169844396301404,\ +0.3340415020637265142156,-0.4315313860868430495543,1.3446595868643815840926,\ +-1.4033414360880258620057,0.8274220763035017300879,-1.309144795084008494612,\ +-1.3004176310924011605863,1.4613978516551788811029,0.4652521895005036212112,\ +-0.3810083873666035292338,-0.4305652750257212835194,-1.0463819862831613693999,\ +-0.0968555231163464591670,-0.7621978211341690068181,-1.0442639351316740370379,\ +0.8551375533721097266238,0.4624338658491132791895,-0.2135461711123592121186,\ +-0.9192783709328955499274,1.406572519212488048268,-0.5996917427163407365853,\ +0.8472849136812159454024,-0.0948718277212909494311,-0.6635046470522460992925,\ +1.102552918644890800337,1.0241591511876448894469,-1.1946095915247210150767,\ +1.3012416677676885701231,-0.860094399966521483414,0.4848763007604853791932,\ +0.7459402751068522352540,0.9429407450799555112653,-0.2932662625241302944978,\ +0.8365772498525353428889,0.4339900657778844039747,-0.0520088659229247518567,\ +0.540163948037489571874,-1.5617045052623743650599,-1.1990755672824380262398,\ +1.6897714229424107834632,-0.4304392780607278479188,-0.7314935627224536940361,\ +-0.2521660858364912494167,-1.1139709472810304102808,1.03593284093582016503,\ +0.9879482215425008373444,1.008898373366306833177,-0.5387894626210441018088,\ +1.0404295395317768591070,-0.2970761763070669525533,-1.1952939328908356309000,\ +0.3857997224260597546319,0.8038817262315489653446,-0.5212531537640049394966,\ +-0.3822389517390957225373,0.3966495909859810709008,-0.6230521638604892276092,\ +-0.7692209701300163349202,1.03425437487647720047,-0.0946733232120821749378,\ +1.0396309891046779938506,0.0495385539831420876333,0.6452562376798283150237,\ +1.1985497422790862831476,1.2458585900431864423865,0.8349246161988523873276,\ +0.5689579490080320933743,-0.7806209699664544698905,-1.5187452500641256403213,\ +-1.0796802038517956390251,0.9639374126836365297422,1.1711728912763936794050,\ +-0.362488012679416937711,-0.0199872602643281528645,-0.5128264059242761963020,\ +0.8492028743473079011039,0.1591587587129435210631,0.3212111561314560104208,\ +0.5775318673000989777577,-0.8249558967503766160334,-1.7154192273737123297650,\ +0.9346304365709510175719,-1.2804432024400131950870,-1.1426657840798974952179,\ +0.4703017265736584850977,-0.9677493848474170157203,-1.2320829767979621927054,\ +0.4762683633703864716225,-1.0444970147674126348392,0.2072645201710894835578,\ +-0.7498010260478793487238,0.9188781401771745072082,-0.4789588845434366026765,\ +0.8476937452776511783270,0.8895027647705600060135,0.7682169660294876356588,\ +0.2922093151936491217668,-1.0429114806489117039945,1.166492728893671504409,\ +-1.8646253504096552688907,-0.8923239533314403226782,1.0666374040344190898821,\ +-0.7669950473749445052363,-1.3585386555510787776058,-0.1491456224121993634490,\ +1.354597929546794699007,-1.4004360287243708960148,0.9567139977921835791719,\ +-0.1859618971982733570680,0.0067522660769214690180,-0.842830481930881947328,\ +-0.0503539309377906904586,-0.5389456072426579424928,-1.2991753231583602623544,\ +1.0064698858838660999737,-0.7727166159011478185903,-1.375918311051623987851,\ +-0.5968365322787659854598,0.4909328325978893903248,0.0069327197759769939797,\ +-0.4109069224660110153380,-0.8305261099098545374275,1.067766372332880076002,\ +0.1364036525382384124061,1.0185816452043403579353,0.2263896344197315613211,\ +0.7241797053868859190828,-0.3310339119084142467386,-0.4485953806654829345568,\ +1.4637030484564286236804,0.8062581119903107218505,1.135230070733268981087,\ +0.8486739138084887779101,0.8869200257723099944940,0.8304138989692378958196,\ +0.4970805707137128659490,-1.6189532479764259242927,0.7536345887109229257916,\ +0.0614297741451279438740,-0.9217679644120017057318,-0.1351912284135200204016,\ +0.9344534227267771164804,-1.3237759469951597690596,-1.2409772949992454726953,\ +-0.4266400610039619012426,1.2242961173386468498592,-1.3507787481217943259537,\ +-0.7743193525686042910650,1.0905655681187926830944,1.869097852573508911078,\ +0.8141159942263986870614,-0.5353611933969746328188} + +#define ZRESULTI {1.0927665474832626291146,0.0577041411945533808114,-0.6605411939586326441898,\ +1.4173928005937053153929,-0.8196938376873322829042,-0.3389699587748392084485,\ +0.6182411929183926346809,0.2489298772050817232238,-0.1790179858054015138435,\ +1.2497543779018556175942,0.2282445233800083350673,0.3316185520857942714557,\ +-1.1178350760886399672955,-0.5992404494636266454322,0.5409431572062767257236,\ +0.165426376161976390611,-1.1122536593055589726475,0.1171231329897951256580,\ +-0.0827933061236485051682,0.4436212447193593200190,-1.2403328057018132568601,\ +0.6960798868922111193314,-0.0629757037081154352753,0.2697689038111338311055,\ +0.3922302209885859536342,1.4842743869253867128322,-0.1751428834182987837043,\ +-1.13801740936157136375,0.2394213509890497915134,-0.2668464988788373237760,\ +-0.7726426977316005473284,1.3382415873096298319922,-0.0269807302035863991185,\ +0.1656312162752983929703,-0.1911246952977092017356,0.2339836780169318453115,\ +1.0284310438096477824388,0.8686878315011077322794,0.3246111072217529036621,\ +0.2706500543034189298908,-0.0935407508346946525712,-0.2477506860556301926390,\ +0.5421539099371334158306,-0.7327711559744070068945,1.05214358953255682216,\ +0.0214509576394467729732,0.2493724089381304798163,0.1326531466862980457311,\ +-0.5409686898264083332322,0.7065143938000820744705,-1.3284854753780470648650,\ +0.3984512917058077308141,-1.5446072484052193463100,-0.1469509150678137976431,\ +0.3947301571210936610434,1.461008167394748147316,-0.8567501445560671280433,\ +-0.0046292376134026641879,0.9577036871573997300899,-0.1140752778705255016112,\ +0.0163250605343483005949,0.3628386917181465332050,0.9320951721399445277783,\ +1.44423353597128478754,-0.7628206936973814800140,-0.9280966118664348840639,\ +1.2849894108105837098321,1.2792864989827095190122,0.9061761299907579170210,\ +-0.8122605612540356734286,0.1350064725981316715586,0.4883936062374085174120,\ +-1.102637196793889051705,-0.3106468603302708908487,0.4543964386247798525886,\ +0.0885735454738456329249,0.0254706011136682855533,-0.8796254633651946486239,\ +0.151022627304807338655,1.1452851102523748938466,0.3283556388648877777392,\ +-0.9434455972747952667845,0.1659123702555805879300,0.6086281726098896616151,\ +0.631662047814702143356,0.6431181331610840157254,-0.5760553428914201301581,\ +0.8026360136122261401681,-0.1814351276467410234439,-0.1944579368330171531554,\ +-0.2953494745705410595704,-0.4250058789202441067445,0.599813865521373279499,\ +0.0016830438518425523946,0.8854731871017331723550,-0.3534985427172745442448,\ +-0.6383931728072353983805,0.3358307199066276060861,-0.0711733718807077142543,\ +0.2207727851446303901639,-0.8556718335996058577564,-0.1281371029552695606224,\ +-0.0358976629777693137524,0.2532084228703710415687,0.983986642358089413918,\ +1.1345925939829912820755,-0.0898559156199065373061,-1.1416915329673189560822,\ +-0.9870037974692073001748,-0.2283270051627071806077,0.0112664968061259064547,\ +0.4998464672322767698986,-0.4937534754955061888637,0.4389132738737425154518,\ +0.5191615917775272981416,-1.330080589614465180759,-0.3792401398168883108752,\ +1.1512099997314479971067,-0.2141264512433771194377,-0.3645359117298094808746,\ +-1.0609046855212507232125,-0.2237132816089271170057,0.5066458933231118288987,\ +0.6114387233853804115569,0.4637825784576218857147,-0.5570387380565021695489,\ +-0.0416532931678999865377,0.8675730496349238762832,-0.7521971544712148238787,\ +-0.4444425039044248570974,-0.1343255157657375076230,1.3031888522890535675458,\ +0.2398794824711508455461,0.3501788639961876947737,-1.2484148728039676790047,\ +1.0223862780907517766593,1.5114877336366283611113,-0.3256639805152193312132,\ +-0.7257147000802074421344,-0.3563177118938634091450,0.367466380314942664409,\ +-1.5032253124394940879682,-0.8731092741090689113292,0.5703012583169800864269,\ +0.6498833797759138164452,-1.3804786941428137669874,-0.1733188156619589748164,\ +-0.8098487944615534450676,0.7091099644264757806411,0.8627806630820323841036,\ +0.0187490818204580703132,-1.0316116049359651540840,-0.1446317495535741626256,\ +-0.7559013344655626243096,-0.5329078157992787057040,0.0653983668850169619358,\ +-0.5045465362161873912328,0.3295621318182701542376,-1.3711989596398608259875,\ +-0.5200355557922887728139,-0.4673488331710942134123,1.3098786184351398631520,\ +-0.7189565120188516900157,0.580208200526596162838,-0.1091990841314347954194,\ +0.0429221122996483323009,-0.5675416667058814645941,-0.3246554520854594838575,\ +0.9723329710924543123340,0.0505316478341986258238,-0.2385123070932486100126,\ +-0.6142986606043344677275,-1.1409813222703388824186,-0.9033119064286492250204,\ +-0.7584587763797572268487,0.7252421018090512427889,0.3319280479688784257775,\ +-1.5464687515566899467245,0.9763347698321626078055,-1.0511809923664583443781,\ +-0.1831638202759971745248,-0.3336438319634690841120,-0.7499286125479456277532,\ +-0.2495331996617490000201,-0.4693439688376106477818,-0.9839213631021112016484,\ +-0.3022296870844187743899,-0.3220832096726037319101,0.5347182539371353460211,\ +-0.6559994287878105900802,-1.2228456605235495935347,0.9588662882096035122714,\ +-1.2891530456629314294048,0.9731441796186428572213,-0.1461840118371629804184,\ +-1.3757278523698810435150,0.2762809284691948308321,0.0580458636704428015962,\ +0.3198225937522309325622,1.5529789344620548163789} + void dasinhsTest(void) { - printf(">> Double scalar\n"); - printf("dasinhs(0) = %e\n", dasinhs(0.0)); - printf("dasinhs(PI) = %e\n", dasinhs(DPI)); - printf("dasinhs(PI/2) = %e\n", dasinhs(DPI/2)); - printf("dasinhs(PI/3) = %e\n", dasinhs(DPI/3)); - printf("dasinhs(PI/4) = %e\n", dasinhs(DPI/4)); - printf("dasinhs(PI/6) = %e\n", dasinhs(DPI/6)); - printf("dasinhs(-PI) = %e\n", dasinhs(-DPI)); - printf("dasinhs(-PI/2) = %e\n", dasinhs(-DPI/2)); - printf("dasinhs(-PI/3) = %e\n", dasinhs(-DPI/3)); - printf("dasinhs(-PI/4) = %e\n", dasinhs(-DPI/4)); - printf("dasinhs(-PI/6) = %e\n", dasinhs(-DPI/6)); + double in[]= SOURCE; + double res[]= RESULT; + double out; + int i=0; + + for (i=0;i<200;i++){ + out=dasinhs(in[i]); + assert ( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15); + } } void zasinhsTest(void) { - doubleComplex pi_pi = DoubleComplex(DPI, DPI); - doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2); - doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3); - doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4); - doubleComplex out; - - printf(">> Double Complex scalar\n"); - out = zasinhs(pi_pi); - printf("zasinhs(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasinhs(pi_2_pi_2); - printf("zasinhs(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasinhs(pi_2_pi_3); - printf("zasinhs(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zasinhs(pi_2_pi_4); - printf("zasinhs(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out = zasinhs(in); + printf("%d - trouvé : %1.20f - espéré : %1.20f - erreur %1.20f\n",i,zreals(out),resR[i],(fabs(zreals(out)-resI[i])) / (fabs(zreals(out)))); + printf("detail : %1.20f - %1.20f / %1.20f\n",zreals(out)-resI[i],(fabs(zreals(out)-resI[i])),(fabs(zreals(out)))); + + assert( ( ( fabs( zreals(out)-resR[i] ) ) / (fabs(zreals(out)) ) ) <1); + assert( ( ( fabs( zimags(out)-resI[i] ) ) / (fabs(zimags(out)) ) ) <3); + } } void dasinhaTest(void) { - double out[5]; - double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; - int i = 0; + double in[]= SOURCE; + double res[]= RESULT; + double out[200]; + int i=0; - printf(">> Double Array\n"); - dasinha(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("sasinha(array) = %f\n", out[i]); - -} + dasinha(in,200,out); + for (i=0;i<200;i++){ + assert ( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15); + }} void zasinhaTest(void) { - doubleComplex in[4]; - doubleComplex out[4]; - int i = 0; - - in[0] = DoubleComplex(DPI, DPI); - in[1] = DoubleComplex(DPI/2, DPI/2); - in[2] = DoubleComplex(DPI/2, DPI/3); - in[3] = DoubleComplex(DPI/2, DPI/4); - - zasinha(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zasinha(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zasinha(in,200,out); + for (i=0;i<200;i++){ + assert( ( ( fabs( zreals(out[i])-resR[i] ) ) / (fabs(zreals(out[i])) ) ) <1); + assert( ( ( fabs( zimags(out[i])-resI[i] ) ) / (fabs(zimags(out[i])) ) ) <3); + } } int testAsinh(void) { diff --git a/src/elementaryFunctions/atan/testAtan.h b/src/elementaryFunctions/atan/testAtan.h index 90b9b1de..86ba100a 100644 --- a/src/elementaryFunctions/atan/testAtan.h +++ b/src/elementaryFunctions/atan/testAtan.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "atan.h" #include "constant.h" diff --git a/src/elementaryFunctions/atan/testDoubleAtan.c b/src/elementaryFunctions/atan/testDoubleAtan.c index bc31f382..78d48267 100644 --- a/src/elementaryFunctions/atan/testDoubleAtan.c +++ b/src/elementaryFunctions/atan/testDoubleAtan.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) 2008-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,65 +12,472 @@ #include "testAtan.h" +#define SOURCE {0.2271646957046519754719,0.0509554588447201708967,1.85687282969809008826,\ +-0.0600149264751901750925,0.1154209251583080408921,0.3931023811137128731730,\ +-0.3192353063868129114944,-0.1509983292012369027191,-0.3971164405532471297633,\ +-0.4879179365092389808467,0.8039704485327389127391,-1.6086183006520318183874,\ +-1.4550051558571557297483,-2.0613539298303464875062,2.3614638061462338569640,\ +-1.1480101088176024592968,-0.2658609898928261938700,1.5427739450302764279144,\ +0.7423335722389889923534,0.3296187860375025535653,0.8154893385384427428875,\ +-0.7055736212996815970300,0.2819847871866195676560,0.3955156539663013948172,\ +-1.0216483261612141486552,-0.9217285194529017955389,0.1388701122197689430404,\ +0.2561008611862776729318,0.9488840790776944533746,-0.6033504831579518112861,\ +-1.255847241084065313288,-1.5093582375924872174267,-0.2071228671170260715595,\ +-0.3992159361232490155658,1.1415777038585108726920,1.2096296402394912661293,\ +1.2000346264198469281581,0.7648344037454491983752,0.5126417298496636076877,\ +-0.6005237850264322219118,-2.2808601123468448257370,-1.0478316411512684780405,\ +0.3987387706615069249416,-0.7901557685645255180162,0.9472076517346639246142,\ +1.2552561019596721880731,0.4826393798173508331573,-1.9230607741483070061150,\ +0.4005546162223627693066,0.1739168390171661471300,-0.0825727057882147952306,\ +0.8203738818332056981220,0.9228038015421474726807,0.4570111559683089907935,\ +0.9219829463190309937204,1.604104528474896707024,-0.7201236539398426783620,\ +0.6869793119903724321063,-1.3399970213280150144186,0.6385085849830633986102,\ +-2.1392676796592846599765,0.3031216472852934495918,1.4731483222685206602165,\ +-0.6666106701273177836953,2.5253251451367195735,-0.3387226520606179125394,\ +0.1099263677503663910739,0.2055796316301525261672,0.4180157426427644207223,\ +-0.5676554981767482077615,0.1457986457557736703627,-1.887021345850510067876,\ +-2.0255226332731517402408,-1.5021973207858168031237,-0.1565213082415607970255,\ +1.792895025421787247311,0.9902819037203779428680,-1.3877868870664777922741,\ +-1.9114516712610110094062,-0.1241624780676525430234,-0.1512289550370426727266,\ +1.0440663453119916059819,0.8275748256509259936919,0.9453274386638104154201,\ +0.8371330563424048687438,0.7021707191099652023425,-1.06501992349112173386,\ +0.0584382761085656052269,0.3908208204693481846448,0.1507745763925768811564,\ +1.0041017891872929812536,-1.2313120848428102949157,0.3394895696418271380246,\ +-0.0827142520512850892844,0.6446222176264210235175,-1.4935026770981445487507,\ +-0.8052775249062644746800,-0.5748653112322126279565,0.9754979932482783500092,\ +-2.2884524191498907264020,2.022987266935787342703,0.1637454282369502356342,\ +0.5475744092801727580522,-0.8932610448161549809853,-1.2797351399265011195894,\ +0.1118201613432585478369,-0.9620980829388734445473,0.3643849907609559291011,\ +-0.6874188098904436827752,-1.217541476664303568000,-0.5294220756831705676504,\ +-0.5958966870065123266897,0.1130069370904074471662,1.3982224083465000230575,\ +-1.0698899503771839292199,-0.4886124217435617311800,-1.3658513358172643670230,\ +0.7879963184644042106797,-1.4375620975102927356915,-0.4139225629147579854639,\ +0.4724629049642866118752,1.3786020791121860185058,-0.1818007311019581573319,\ +-0.1220915022718044445904,-2.1432379005797042026416,-0.8715288727031362814301,\ +1.7328275421264391908949,0.0746395063981880602100,0.9478227559099661192477,\ +-0.6746643568348875685814,-1.12189978973121218253,0.7712825781700975991129,\ +0.7878967433781322027286,-0.114954127571938721775,-0.8797100720757337066757,\ +0.3945983137523260686486,-0.1335061206135170208675,-0.8812942795785859706470,\ +0.9678256351883146590964,-1.2184863124466103201371,0.2811177412486541848935,\ +0.9039980069833579712224,-0.8586130195545335075380,-0.9119525776637865677188,\ +0.7834023749729661645347,-1.8588322045751330957586,0.9413946838303350883592,\ +-0.6013167449649100548825,0.7116576086154465796696,0.1856739618227061516809,\ +-2.4025809662081938355982,-1.1900189182655975805858,0.4811625406314723463197,\ +0.2175387195999395339996,-0.0380853618830928608574,-0.6838145482543566133771,\ +-1.5179336348870946515888,-1.718734246002084020688,-0.5464611700109887060250,\ +0.7723526959000743818962,0.3006795138383335785903,1.4291868716265472283311,\ +-0.0677166634975557846232,0.0573956162401944233742,0.1830487012206095109867,\ +0.6989722492840018119864,0.1910038834963114218191,0.2306826823577726726100,\ +-0.2565102919971545825106,-0.3420573662934773273570,-0.0978166804483409507709,\ +0.1422536753322360680851,0.5435939242933658377410,-0.3468100829076145585894,\ +0.4660640367220392210612,0.8993729143853705920719,0.7600191222869452367661,\ +0.8968829064436780740266,0.5805771807617583490924,-0.2307843851109470378891,\ +0.5165770205506754475522,0.8824788500189956197417,-0.7969387348104061130627,\ +-1.8168722946703086407183,1.5190242407155258863583,-0.8149773729875190442229,\ +2.4028228775031306163612,0.4982657796195523181026,0.2226740315197290043248,\ +0.1768897379163425209736,0.3603060382424789764855,0.3218716686921767045071,\ +-1.192570046506437719813,-0.1122386313819233177869,-2.0287975179488202392974,\ +0.100288454133301133120,-0.9179783877737051067669,-1.1999331406575297620520,\ +0.7483478159755958536437,2.2060613717090746810356} + +#define RESULT {0.2233738732437201557346,0.0509114261721980362885,1.0767942567911201745545,\ +-0.0599430280405672463728,0.1149124379797051148655,0.3745460477695387035979,\ +-0.3090091280795300709983,-0.1498661654051850200542,-0.3780180809438991595961,\ +-0.4539353243495501954996,0.6771572627749745665326,-1.0146085369409014731445,\ +-0.9686564923933993487282,-1.1191250002845629651915,1.1702255762215818535310,\ +-0.8541951038511210736459,-0.2598500531232013632810,0.9956994243583069392756,\ +0.6385765127412353914238,0.3184037447477280347030,0.6841145592833487443230,\ +-0.6144568631857774132499,0.2748482455938721091826,0.3766345938432117956829,\ +-0.7961060093123013547967,-0.7446909349913972686608,0.1379876022907993438071,\ +0.2507123565043022361820,0.759175872898178005777,-0.5428794496736766284073,\ +-0.89833074078511021554,-0.9856607896834306270506,-0.2042349952101077392719,\ +-0.3798302772852411579585,0.8514111742492602719068,0.8799860018302214648145,\ +0.8760722415122048634117,0.6529277236314812160600,0.4737097703113398172725,\ +-0.5408045473230975730417,-1.1576046419742331838876,-0.8087511308495316519895,\ +0.3794186378049814734048,-0.6687094713589172290114,0.7582929808049961861727,\ +0.8981012978260718426782,0.4496629050128420623800,-1.0912735975391061327144,\ +0.3809844030879972476278,0.1721944986308187042212,-0.0823858026410947269502,\ +0.6870411688329144395126,0.7452719880215435965809,0.4286690862084140407617,\ +0.7448284765591709488675,1.0133478453990099055204,-0.6241044852011972121630,\ +0.6019336895450897451099,-0.9296864924479115721567,0.5682544332615881987891,\ +-1.1335263715873262757583,0.2943182248013878621329,0.9744281865108882501048,\ +-0.5879638357107155322012,1.1937528186152712716961,-0.3265930739728566956082,\ +0.1094867742408287547562,0.2027547884149371593132,0.3959400774109990694960,\ +-0.5162971747333449101802,0.1447785328438968288634,-1.0834879385306221966090,\ +-1.112201615701992940544,-0.98346913687842862917,-0.1552615733221418270471,\ +1.062017052786182524926,0.7805154284284491206236,-0.9463968404701921244282,\ +-1.088790816976063835497,-0.1235302727421704604982,-0.1500916423979053448967,\ +0.8069530021779800499360,0.6913301738780865957068,0.7573010048408638228423,\ +0.6969765492354944580455,0.6121813376326975530972,-0.8168741064761906311986,\ +0.0583718892203711620104,0.3725683317450820819516,0.1496473933205103579169,\ +0.7874448575733706823243,-0.8886955789071054878647,0.3272808967598674345645,\ +-0.0825263887088810432768,0.5725854110105892402771,-0.980788536566781998793,\ +-0.6779506710306395511623,-0.5217330517396027156352,0.772995847351621967469,\ +-1.1588253401537096376472,1.1117042516684423337,0.1623050519698593929796,\ +0.5009790459791051420169,-0.7290794216990050813365,-0.9074929345625200038938,\ +0.111357569834535111153,-0.7660835307058299070704,0.349432040770661034301,\ +-0.6022322122997969540137,-0.883185569845575946246,-0.4869072854862174781765,\ +-0.5373968957759416298359,0.1125295355475867259409,0.9499457978350420717106,\ +-0.8191503966966299232766,-0.4544961153792455021971,-0.9388212744104845741688,\ +0.667378646873721059762,-0.9630145809992480820938,-0.3924506725722226585518,\ +0.4413762601275756369823,0.9432440329190430183814,-0.1798366074472934617035,\ +-0.1214902252731905191174,-1.134237248756892579848,-0.7168606663031997783264,\ +1.0473916695445741886772,0.0745013609201800736104,0.7586170976909952790024,\ +-0.5935190472805600414574,-0.8427835085661474767704,0.6569834032811123769591,\ +0.6673172133738860534180,-0.1144517528481678869667,-0.7214914324609644769026,\ +0.3758410950307565223660,-0.1327212976140068612096,-0.722383800988696922474,\ +0.769049408891516961262,-0.8835660062516154100720,0.2740448831292710551999,\ +0.7350195594735607906856,-0.7094731621063239401792,-0.7393796262522003281958,\ +0.6645381846985234375325,-1.0772344059827341222757,0.7552201039546350136433,\ +-0.5413871326815293816281,0.6185070897724082028546,0.1835833463904297524483,\ +-1.176386657281365266670,-0.8719472877519027775861,0.4484643942741659561335,\ +0.2142014421948802427309,-0.0380669636860080026763,-0.5997804502671881810016,\ +-0.9882664118774061590145,-1.0438491153613729256477,-0.5001221995547742160682,\ +0.6576540281533080900545,0.292080085019127744239,0.9602726979256205330771,\ +-0.0676134413768641334697,0.0573327152217289193192,0.1810443840994339081973,\ +0.6100358657130787731759,0.1887306738654894733287,0.2267166741276365193869,\ +-0.2510965487437752940991,-0.3295815282597121531616,-0.0975064859373050984992,\ +0.141305606529955662953,0.4979116182528884881897,-0.3338302007475900112787,\ +0.4361321851910835434296,0.7324685375973356560309,0.6498825704253795576548,\ +0.731090278993245523687,0.526015577583169635645,-0.2268132361170670519002,\ +0.4768211073463659022131,0.7230501420836584758334,-0.6728715276854828619690,\ +-1.0676488164290300897363,0.9885963208407696489743,-0.6838069995773392584226,\ +1.1764223744131836468796,0.4622592705138702240397,0.2190994523411692873616,\ +0.1750786606269341127984,0.345826480359459564884,0.3113998336672463840280,\ +-0.8730018295092231150889,-0.1117708529226727198758,-1.1128425715998719880417,\ +0.0999542424787834421496,-0.7426595867662098005013,-0.8760306483273037070347,\ +0.6424428721795988339593,1.1452043748636047126865} + +#define ZSOURCER {-1.1795163216180464260674,-0.6957584169324845246862,0.8259988996926452831104,\ +0.2005040766836741483736,-1.2112828126521528737669,1.577061196992769698255,\ +0.7637772368360737917925,1.8192271630516374525399,0.5455430088849253511540,\ +1.146539236621446411490,1.6240394311350210276856,-1.4966797534977682726520,\ +-1.59547014335820214193,-0.7395898851221245351439,-0.8068636961152658715335,\ +-1.0311002075319768422901,1.2005970723482952688954,-0.2648910783446530303742,\ +-0.2626223153489460337973,-0.7475187472806215094323,-0.5661153624892958369230,\ +0.7434875747358512532159,0.7872535238570613769227,0.451715552409009846180,\ +0.4606878032667490185936,0.0776842938192593146507,0.8641526902252117947612,\ +1.207833841833020782630,0.8731959322473188400693,0.0203507380205638840898,\ +-2.142561452892851825425,0.3422111419280877142590,1.2579314478540355448644,\ +1.7477933051936518360492,0.5187339957481993391042,-0.132728581017459240643,\ +-1.1602733035670516059668,0.4875989045190238790894,-0.5701105851822111381111,\ +-1.1912139790942799510987,2.0124340046175204221868,-2.7045248893564091119401,\ +-0.6431322992574242114472,-1.9153194443350760600708,-0.5655545944523592272191,\ +-0.65321727466490830949,-0.704349532744792949934,0.1130503418105048285547,\ +0.7790220841116946015603,-0.8369920883463126681789,-1.604067362874623814406,\ +-0.2256746981594401069149,-0.1392938143448255172707,0.6830835101317246360608,\ +-0.4155213883413004238854,0.0229733819760836940893,0.8246417042132325736503,\ +-0.6376565658151804871778,-1.7068298799179615343746,1.4073819355206949044401,\ +-0.8295221757203087298294,0.6373043870424420775933,-0.2922017410826197592044,\ +2.1752387761511053909658,0.0600723389389604608968,0.7835812912685555797765,\ +-1.3959357154825373648066,-2.0629358999978850697232,0.2656918800288301518719,\ +-1.1613766205716309354301,0.8939124507954123721731,1.6784098435216081579568,\ +1.2683311792448521693188,1.8385748076192800493089,-0.9497329202198889763764,\ +-1.270378528387523964227,0.7963056587352231874277,-0.8480009473832804678395,\ +-0.8640072224951356183453,-0.8715001223760306947597,-1.0437638424148545368553,\ +-0.4238345049288854693437,1.1151445198271947578661,-2.2055374030068151114392,\ +0.2874269036908579932899,-1.141542990475093111158,0.5076848390265716881586,\ +0.3056363849775944885323,-0.3052849785217074396471,0.0155317052678219415240,\ +0.2432114799458970910706,0.6784283234918451199746,1.872617399166290219625,\ +-0.5480102320972454199577,-1.1310137592478748391756,-0.0865801063652356234224,\ +-0.32288669591661972591,-0.3304845320488251636526,0.0611848701378388329375,\ +1.826560717567842440090,0.7447867877814601245134,-1.1564474239432984692399,\ +-1.1265940444751152416103,0.142628529129462972014,-0.8925873814067234457426,\ +-0.3627863505191566417807,-0.5662183332585394301972,-0.2716795089578870614488,\ +1.3639803640910439508360,1.237612166886607800720,0.3924305122780659127457,\ +0.7582137693795522048745,-1.1492170633741971563779,0.4241382639443282975833,\ +0.4098444400457034175744,-1.37669132334320454270,-1.4476326062045372644604,\ +0.7114066611465256206870,-1.3924830606697651269599,0.0338524257403221839891,\ +0.0146836062137128426502,1.2378730149006278438151,0.2801823548361609406143,\ +-1.3742686169958964192972,0.1717540380186403925489,-0.5855903929173471578196,\ +0.1907429151227005570401,0.7888793090772500127272,1.1338168541183824000740,\ +0.7778678198128919918375,0.4430509890900592440133,-1.8169712227336964893709,\ +-0.1603235606348805963872,1.0728726966089832117746,-0.6538383763382829005906,\ +-1.2903854138672581353120,-1.2588653493715018516497,0.662482523108547827206,\ +0.8653058064884894262647,0.8205627120768179683097,-0.6052538675768098785923,\ +0.1489320223008726296055,-1.1002545757952191252116,0.5601748137285590400936,\ +-0.7753064210754536667025,0.0825270383499445148168,-1.3301792471357218872186,\ +0.3149537401293732719054,-0.4413283119409475707684,0.5584497354764290655282,\ +0.2709448579613401020261,-0.4281368707331745238065,-0.2387957265896963054974,\ +-0.4604827882307634956405,-0.5412644127984000963494,0.7328783982761175597176,\ +-0.0713404400136534444510,-1.1936962614002064597685,-3.042807307214757006619,\ +0.7597050488151386726798,0.1791274991920646930676,-0.2506292816675101398083,\ +-0.6351531470374360832665,-0.121161180968055212648,-0.3652194549719223193307,\ +-0.9437320920432173965153,-0.2710022932148818952669,-0.9443973941449046449748,\ +1.3983220899832822237130,-0.4381256814836405610869,0.3765568950431126271639,\ +-0.3219819650340491334894,-0.1074889504736799422657,-0.6785727331891553415488,\ +2.4505579021475099033012,-1.3142551981836398944381,0.7354780365902759964314,\ +0.3711279315629368302787,-0.8351813322615772028357,0.9766824658266765046832,\ +1.461883720898450089720,1.5553635146325224258845,1.4271923988949506423296,\ +0.0934141721491809351452,-0.6278372555306163116384,-0.7994063607890871114847,\ +0.4560734872063767486594,1.2736575371127356604006,0.2044809074410245119946,\ +0.2464253458581916467196,0.1480097817386342162749,-0.7352399556856978879438,\ +0.9198120099159204920980,-0.6013531026590643868701,-0.6865004071225593307304,\ +-0.104616070370811706236,-0.3041328910990643286105,-1.0780356133329238588203,\ +-0.4779521279351744977859,0.5025105381497957379722} + +#define ZSOURCEI {-0.9552428551144188650923,1.2961834852294731312838,1.1017640646828426032044,\ +0.8711087850527934328682,-0.9420760043657475657497,-0.1497284505613425964476,\ +-1.3185366552605053414027,-0.6344981208817582762904,-0.1939736947913383302566,\ +0.5047024828595823020549,0.571239270735604098839,0.6329832938920191276466,\ +-1.0836206204774869732432,-0.2988022043772741165313,0.0786451729619408040906,\ +0.1005946170325885125063,0.1951019512685897017157,1.3036996759610997020928,\ +-1.604446040591435362899,-1.665829130168900329423,0.3894119616051456289618,\ +-0.6441312956332616579402,-0.3024073427875212938254,-0.4621890957188650173038,\ +-0.6774568059775447625981,0.445231860114528421590,-0.5535293580988084327643,\ +-0.0006762893110915249931,-1.089389506561633025328,0.5723493142465210237191,\ +0.4420973206857362058919,-0.1612581930858848211496,-0.7163329171822375718293,\ +-0.5277733874018479820478,-0.4768406780661605948168,-0.3993604887388358948286,\ +-1.3804293506092022436604,-0.1591254367281162429570,-1.6980146860343119374903,\ +-1.4761781930573465437817,0.2862303841437082718713,0.6052999005919722508295,\ +-0.5483298295339265049364,0.0209604427664898014527,-0.6457183807429971444947,\ +-0.0603329310380973649064,0.0091414413452102355473,1.0949883817318917245132,\ +1.6400776092272673079009,-0.623485665086227380804,0.9132225220115295361012,\ +0.0829708966832887195864,-0.1905412057335640341194,1.7237280439025588485435,\ +-1.1486098807701770052603,0.7656322424078984001383,0.365608177776686305016,\ +0.8275570484489896960767,-1.1195346368945833237518,2.009348617520048563279,\ +-1.3914607990698013573194,2.0854477679794358735421,1.2877168046463016715109,\ +-0.8111545211857794646093,-1.4392639991852771430558,0.5337937550547192655515,\ +-0.4149967301072188807787,0.7753596072101661684783,-2.0802067762281923890555,\ +0.0857878546561958027494,0.6902510695334604928775,-0.8020501997457173404271,\ +-0.4448276219158631139550,-0.4542741017673427861290,0.7497806557441212271797,\ +0.3761686067694443580400,-0.5437950704705085680501,0.1952712229487395811933,\ +1.4963569359039357031804,0.1448961397504171522144,-1.6571742156046651572865,\ +-2.266222156481924709936,-0.6895293883454371997033,0.2295209621736973848449,\ +0.5362163385171105911553,0.9313103118348207143384,0.6330960821019180340130,\ +-1.0858111091662558944648,0.0887541886374976635166,-0.34952319730873010473,\ +1.2435770678983146808605,0.3496891344866185913354,0.8861210080034624958500,\ +0.8494363200871917207735,-2.6007673657870293837391,0.1208397242502698559763,\ +-2.7285983994246283401708,-0.9589084058643195795923,0.5028677894031623463178,\ +0.1177935239520793014867,-0.8303109816686591315715,0.1392963806792855974148,\ +-0.7007200653415375235511,0.3010279059055253614297,0.2808756871176958935798,\ +-0.3407758216783158822238,-0.1629402754377415607490,-0.9384370915542669111531,\ +-0.9062708617577245329144,-3.8216620591432644005181,-0.4342151148359789103459,\ +-1.8035270857235303765265,0.5183732162291515566110,-0.6322771366436347184603,\ +-1.565814486101537061913,-0.1275146747340561437234,1.64064977802353451075,\ +0.3863617690782851776810,2.0004008659625807098337,-0.6217884089242305956091,\ +0.5238947303594374549363,0.6235004214546735479274,0.2053444204279457063755,\ +0.8703948860420792632553,-1.0392069272746413677311,1.003277086375655047235,\ +-0.592126107443248783646,1.4081926997371712051432,0.3085101089696197229628,\ +1.3401416840168169919423,-0.1266586333113026985320,-0.6461594510334438545840,\ +-1.0118098370918304773625,0.6188273552553577028235,0.3590555220619524590120,\ +-1.1731665361057745933238,-0.6396350210213861409159,-0.1754282371769660675564,\ +-1.4007581459609705909486,0.9435849228454418202716,-0.8904968184314612233976,\ +0.2054651558278166589844,0.4710457442017800810952,-0.9616306477690889087384,\ +-0.121221389008828367428,-0.4940626370918775878138,-1.6256998584585298228689,\ +0.2527933604007285839366,0.9910414428133418329736,-0.4204166976073123729307,\ +-0.3726016912019385896038,0.9512465231833235890235,1.9770278000388763484096,\ +0.7942630050207910574755,0.2042467951135929216111,-0.4515030272861193516576,\ +0.6146475682591936440247,-0.6290585121948016888993,-0.1427330253584118413546,\ +-0.0603831392611861861308,-0.0118358773438195733624,1.060362899843382056275,\ +0.0968488469273018626193,0.1916075762821658201585,-0.4096449181703107345065,\ +0.3696227488734469268650,0.2664498618423789544352,-1.1169828984464544863187,\ +0.1529016818054778348301,0.5016653096177513537768,0.3713737327704177415555,\ +1.519060224335068820523,-0.1807259441689535728326,1.8139275887503047979266,\ +-0.3257752015232963649360,2.1486960576842424330835,-0.1051361455427324009815,\ +-0.2626851203928968758738,1.0103646188196337973864,0.2148110767207350724206,\ +0.4407052420763278299809,-0.5122126723342420584473,1.2412118916908576604641,\ +0.9766933236701691445347,2.039099736880281454887,-0.2559919392094065493382,\ +0.5420836083333696597819,0.0791245311903027159772,-0.0955893777744002970387,\ +-1.3712286813648302263857,2.1069701518694308184365,-1.189922581642507859456,\ +-1.1599757893702906663691,-0.5696357256121767909107,-1.3015572133370920671069,\ +-0.5449309642239419382292,-0.5067789559895423678881,0.6346443332238025369918,\ +-0.6108333161328157734360,1.8419857567724760016858} + +#define ZRESULTR {-1.0378404956328399766363,-1.133735695651125086059,1.0339197498326544444325,\ +0.5531122148702418694910,-1.040340001858497842591,1.0085860369894361632248,\ +1.1420720538989748149561,1.1056797792052726059353,0.5117972485274214777817,\ +0.9070677525728206846978,1.0572990288526666891045,-1.0360972400059726972188,\ +-1.1383229838393340571656,-0.6648420928164470167232,-0.6807443500487321275116,\ +-0.8031597943350016199915,0.883947625424225447155,-1.269412549612109586405,\ +-1.4161063395011512788813,-1.2859233456553140761969,-0.5672668801729759957553,\ +0.7745318044293433290548,0.6947007749642374330179,0.4991201053193883852011,\ +0.6140034872209438887580,0.096413007169791717366,0.8007709883951089624432,\ +0.8792563999787510464756,1.0343346624696823088385,0.0302467913897976371784,\ +-1.1472175673143576446478,0.3369832737151475243742,0.9907410521400105141154,\ +1.0796900049026223467052,0.5594674889946016360653,-0.1560251223940891662778,\ +-1.1705823062338804874116,0.4618385738778090776613,-1.3324797047631469215645,\ +-1.1997345609820562195580,1.1160254294044837930500,-1.230501878395329207194,\ +-0.6761086369817806973614,-1.0896592333865446899921,-0.6710881467286168300390,\ +-0.5798029666713722107829,-0.6136654494083557676021,1.1617507290156328103592,\ +1.27276401512989068010,-0.8120428578165023170143,-1.1072391191957589029471,\ +-0.2233715590492064695383,-0.1434422451344934956730,1.3153998337128238738103,\ +-1.0526498309129606045786,0.0553606627561369843415,0.7291584643384485531215,\ +-0.8211933984789114848724,-1.1593353121271579020402,1.3152057671476293787549,\ +-1.172801856026281397405,1.4071868225661712248353,-1.237749706635684621148,\ +1.1803373520872921798031,1.5151506180989924299496,0.7531983030718831795269,\ +-0.9762856051169326310202,-1.1612557605568909480098,1.4932305416569968681273,\ +-0.8614722664300586973951,0.8618528735715539346174,1.1016443473924788509777,\ +0.9393199732131509716027,1.0919198431908447854966,-0.9052324038739091305317,\ +-0.9298866314213817263479,0.7633780893052066751636,-0.7143116680469970836143,\ +-1.2127221047629597183715,-0.7227638256662162197230,-1.253501631676815275540,\ +-1.4738165927959636647415,0.9413278434132237304510,-1.1484735264203178584097,\ +0.3698862224535668929981,-1.0222624393360630890015,0.6231994143282580944643,\ +0.9950036636352803665062,-0.2983226702432650867536,0.0176907017367243651895,\ +1.2324636476429444709169,0.6361627801840686879942,1.1459319881374090410731,\ +-0.7953680408910630550423,-1.4154164061425698051266,-0.0876282946873059020998,\ +-1.5216557556403844664317,-0.8071142269969606708457,0.0815747053150205070349,\ +1.0712377179167194007903,0.8666202597884599123645,-0.8619222017137594393787,\ +-0.9481006227828882026998,0.1552413858057176687666,-0.7506128146087278629750,\ +-0.3836715577045819447477,-0.5239185633043924594787,-0.7436026090030812829568,\ +1.0616275053374448766874,1.4897517325664235698923,0.4367517077925673341099,\ +1.3246660695183969380651,-0.9109135023203799308433,0.5553722323129884896886,\ +1.3365545316217091187383,-0.9452504202661284882225,-1.24445301968662169756,\ +0.6665795438258386163000,-1.314150441284937187447,0.0550695906884250130364,\ +0.0202332991673926272658,0.9634857364192206397036,0.2836842504797497110935,\ +-1.0552170344242444155469,0.9396260470070250114816,-0.9303925570132891564867,\ +0.2783356640126000702828,1.1824291811858682610392,0.8685688319389791578473,\ +1.1519647668153425446036,0.4220715686665841848146,-1.1065714015957384130928,\ +-0.861924596730684333679,0.9073537157079681891858,-0.6218839294281949259258,\ +-1.120015581786375724604,-0.9733844585621500566930,0.595029230494463101664,\ +1.175230190501943328130,0.9508205283471821145369,-0.8508278968495206484590,\ +0.1541098930310453307690,-0.8824217885955716322854,0.8902851444120675195038,\ +-0.6639557596979325237996,0.1084368331219868891724,-1.2396941127079998956617,\ +0.3226031789257856052799,-0.8843151570857661347702,0.5707126023897258759732,\ +0.3012759106579737111709,-0.8367027089033168829602,-1.4909615617958020816758,\ +-0.7009193727197650103378,-0.5098573775891588333309,0.6979392344955810401075,\ +-0.11360619748546052499,-0.9509385591695135309109,-1.253860295053432105661,\ +0.650797750208578995590,0.1772712514866976729611,-0.9640945137047890467485,\ +-0.5689005122453275609118,-0.1250511412013994849701,-0.4037636514907702589561,\ +-0.7926166698304296653887,-0.2823466357029139617296,-1.056824688357730357424,\ +0.9537129762345133432433,-0.5025361511250948653995,0.4038372312258701746224,\ +-1.356748408455357823854,-0.1106205947085566049237,-1.3416335800212069173654,\ +1.1885949854017261451133,-1.3422443000337007656952,0.6375731708639520434190,\ +0.3760968575323995755078,-0.9884746207385446403748,0.7854115858087797885645,\ +0.999043445647114114472,1.033179400413832382810,1.1526308570666976560659,\ +0.6867562899067288784138,-1.4009010309735028254607,-0.6940419760103245794269,\ +0.5354681750957488439724,0.9063410461496741454823,0.2034358249367814175379,\ +1.3295608151948998809644,1.5281379412739910517161,-1.0737486644518823286631,\ +1.0727905584835071284289,-0.6577524210666327864061,-1.1372820311372766610702,\ +-0.1467884541731124814490,-0.3758609793464613990643,-0.9135278670013463608868,\ +-0.5879353157795642603745,1.3892627420568484097885} + +#define ZRESULTI {-0.3299360864553753103223,0.5773236414575498853807,0.4991095547887292593892,\ +1.0331094146354482532502,-0.3176151990967214233663,-0.0427672547155572568833,\ +-0.5408736725419536206516,-0.1380553162115908116814,-0.1495803862615101287314,\ +0.2075977110248564960759,0.1483156441793008761820,0.1814264210630067153396,\ +-0.2481388687151736549552,-0.1914494023025192226406,0.0475995307877313186817,\ +0.0486725512662827888843,0.0793454719839349342791,0.8749639413571212998022,\ +-0.6896294045728997845757,-0.5086525074514365307721,0.2944098793875352670923,\ +-0.3917506744074427116331,-0.1846852570799382420308,-0.3894217746197643492678,\ +-0.5646100518854718641748,0.4746040014516990646065,-0.3015127179783077537856,\ +-0.0002750414994330601867,-0.4738712470203229054633,0.6504861039469930217294,\ +0.0770111005352082517161,-0.1450021418767060144006,-0.2504460533174687753011,\ +-0.1242925201299330817406,-0.3767991401181884358884,-0.4132076872602681860691,\ +-0.3870747570445600693745,-0.1287551829606753961421,-0.5591653729797143590474,\ +-0.3808547758746415601294,0.0560087196606005033317,0.0701856173788610038233,\ +-0.3788485405347551959743,0.0044895072328474238538,-0.4792093730891275327188,\ +-0.0422815385429984591514,0.0061101098120875880007,1.3269258764406561823535,\ +0.50216582477378490790,-0.3441118926473294425961,0.2204807457606408893636,\ +0.0790893257779779063066,-0.1890021515648551142519,0.518665277550073300361,\ +-0.8006086655024508003109,1.0073379811293934338323,0.2137094925844510162616,\ +0.5375421998418649094376,-0.2320202834395212743157,0.3256990051992574852768,\ +-0.5075425697148114867474,0.4587488944259289214145,0.8635283954295314146066,\ +-0.1297869621390935479521,-0.852694676585578515,0.3180243625197139989424,\ +-0.1362504231180562963566,0.1356147426873018091431,-0.5110906304654022624945,\ +0.0364746671485365880905,0.3518205609306652159596,-0.1882338930265980980749,\ +-0.1641509348055795458610,-0.1003678389496054923491,0.3533058939584889368568,\ +0.1400753442460135889114,-0.3190262039403771177071,0.1130098866744752156288,\ +0.4874882612585151875351,0.0821093566409674818773,-0.4196102828902398829136,\ +-0.451423643355465198379,-0.2794721520836026540380,0.0388676985912680683644,\ +0.5261724556813406339373,0.3369140501375452179111,0.5021943268293638240607,\ +-0.9466008502228719923011,0.0813161752282447886087,-0.3647911127697049948893,\ +0.9402058236775613364600,0.2373145443406108057172,0.1741667096823807936445,\ +0.6110175965051998225874,-0.3276211596627106037438,0.1205074840878167241609,\ +-0.3776545253138779423274,-0.8929722827626465075923,0.549792722962075375293,\ +0.0271042479895461374539,-0.47522513055127707515,0.0593823102898174345898,\ +-0.2798313897020670570903,0.3034375004902351569136,0.1544875118519504486603,\ +-0.3064946913611272250044,-0.1233973071314871799986,-0.9748519593919268144688,\ +-0.2695469774323944189831,-0.2398595153162375315237,-0.3849351067537384318840,\ +-0.4832629774775746844817,0.2120502817724358168849,-0.5500280838647416681297,\ +-0.6567358702149050930785,-0.0439088406752093027285,0.3215272662057582220285,\ +0.252983359599071477852,0.3285524490410307585364,-0.7260295113781071174586,\ +0.5814783672028649430530,0.2280478984411803411447,0.1921683660815579341996,\ +0.2598222279442688464890,-1.2261944929533434844870,0.6354501028006451779362,\ +-0.6350507146232319266588,0.5241840999802419576170,0.1326112979841672367964,\ +0.5331634907909190701503,-0.1060363792025432461141,-0.1405159325068739140097,\ +-1.2650277702054697481771,0.2669908129991411804838,0.2495345813255305800205,\ +-0.3316627619047222141901,-0.2282918540535401608071,-0.1217152595768435791035,\ +-0.4921799931736892674827,0.4709770755615852455556,-0.5858164911014823728053,\ +0.2035859669317575948444,0.2043112301670926833630,-0.6450693837623580062512,\ +-0.0755935103401305513726,-0.5356174761081086144188,-0.3471562389208797116957,\ +0.2328317315621121486036,0.7651997819792383248583,-0.3199579280419243554334,\ +-0.3582454315092570285017,0.7669246314230472316709,0.5441811107763497856737,\ +0.6504831149102675569296,0.1580962824886572026806,-0.2872668874651375658935,\ +0.7084196447067554469612,-0.2398740644903666341392,-0.0138893916104706732079,\ +-0.0382724601233607325534,-0.0114683647521359316501,1.042906817386681339599,\ +0.0689854613036876146426,0.1910230634709511876590,-0.3704134917614289590482,\ +0.1911216797569713354843,0.2522464542416475996589,-0.4451672855349098623101,\ +0.0515134584128001532521,0.4287903998263715155126,0.3315338614185490695441,\ +0.7124742713592439047332,-0.1805296499983318203597,0.5024343285394804459187,\ +-0.0459393453273769861167,0.3351247751616924785978,-0.0681623033986126780626,\ +-0.2332477835758634543417,0.4789761892657505848447,0.1091019217623192538724,\ +0.1355147604481500289708,-0.1428984493591255733325,0.3037123307940571281804,\ +1.5115293287912119346572,0.4692494475562393740908,-0.154956179496453544386,\ +0.4557841446769143045614,0.0301394028826129541099,-0.0919789120268482279785,\ +-0.8385856266070932374390,0.5121474514176801440257,-0.5562655937076338430458,\ +-0.4610543161770726539039,-0.4105611124291430047428,-0.5820664911774818817136,\ +-0.5994113052598605273502,-0.4878070905668511203501,0.2712394281598410339384,\ +-0.5014387951037901913764,0.5397742494143892288960} + + + void datansTest() { - printf(">> Double scalar\n"); - printf("datans(0) = %e\n", datans(0.0)); - printf("datans(PI) = %e\n", datans(DPI)); - printf("datans(PI/2) = %e\n", datans(DPI/2)); - printf("datans(PI/3) = %e\n", datans(DPI/3)); - printf("datans(PI/4) = %e\n", datans(DPI/4)); - printf("datans(PI/6) = %e\n", datans(DPI/6)); - printf("datans(-PI) = %e\n", datans(-DPI)); - printf("datans(-PI/2) = %e\n", datans(-DPI/2)); - printf("datans(-PI/3) = %e\n", datans(-DPI/3)); - printf("datans(-PI/4) = %e\n", datans(-DPI/4)); - printf("datans(-PI/6) = %e\n", datans(-DPI/6)); + double in[]= SOURCE; + double res[]= RESULT; + double out; + int i=0; + + for (i=0;i<200;i++){ + out=datans(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15); + } } void zatansTest() { - doubleComplex pi_pi = DoubleComplex(DPI, DPI); - doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2); - doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3); - doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4); - doubleComplex out; - - printf(">> Double Complex scalar\n"); - out = zatans(pi_pi); - printf("zatans(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zatans(pi_2_pi_2); - printf("zatans(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zatans(pi_2_pi_3); - printf("zatans(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zatans(pi_2_pi_4); - printf("zatans(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zatans(in); + assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15); + assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15); + } } void datanaTest(void) { - double out[5]; - double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; - int i = 0; - - printf(">> Double Array\n"); - datana(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("satana(array) = %f\n", out[i]); - + double in[]= SOURCE; + double res[]= RESULT; + double out[200]; + int i=0; + + datana(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15); + } } void zatanaTest(void) { - doubleComplex in[4]; - doubleComplex out[4]; - int i = 0; - - in[0] = DoubleComplex(DPI, DPI); - in[1] = DoubleComplex(DPI/2, DPI/2); - in[2] = DoubleComplex(DPI/2, DPI/3); - in[3] = DoubleComplex(DPI/2, DPI/4); - - zatana(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zatana(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zatana(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 testAtan() { diff --git a/src/elementaryFunctions/atan/testFloatAtan.c b/src/elementaryFunctions/atan/testFloatAtan.c index da757254..a740b53c 100644 --- a/src/elementaryFunctions/atan/testFloatAtan.c +++ b/src/elementaryFunctions/atan/testFloatAtan.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) 2008-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,66 +12,480 @@ #include "testAtan.h" + +#define SOURCE {0.2271646957046519754719f,0.0509554588447201708967f,1.85687282969809008826f,\ +-0.0600149264751901750925f,0.1154209251583080408921f,0.3931023811137128731730f,\ +-0.3192353063868129114944f,-0.1509983292012369027191f,-0.3971164405532471297633f,\ +-0.4879179365092389808467f,0.8039704485327389127391f,-1.6086183006520318183874f,\ +-1.4550051558571557297483f,-2.0613539298303464875062f,2.3614638061462338569640f,\ +-1.1480101088176024592968f,-0.2658609898928261938700f,1.5427739450302764279144f,\ +0.7423335722389889923534f,0.3296187860375025535653f,0.8154893385384427428875f,\ +-0.7055736212996815970300f,0.2819847871866195676560f,0.3955156539663013948172f,\ +-1.0216483261612141486552f,-0.9217285194529017955389f,0.1388701122197689430404f,\ +0.2561008611862776729318f,0.9488840790776944533746f,-0.6033504831579518112861f,\ +-1.255847241084065313288f,-1.5093582375924872174267f,-0.2071228671170260715595f,\ +-0.3992159361232490155658f,1.1415777038585108726920f,1.2096296402394912661293f,\ +1.2000346264198469281581f,0.7648344037454491983752f,0.5126417298496636076877f,\ +-0.6005237850264322219118f,-2.2808601123468448257370f,-1.0478316411512684780405f,\ +0.3987387706615069249416f,-0.7901557685645255180162f,0.9472076517346639246142f,\ +1.2552561019596721880731f,0.4826393798173508331573f,-1.9230607741483070061150f,\ +0.4005546162223627693066f,0.1739168390171661471300f,-0.0825727057882147952306f,\ +0.8203738818332056981220f,0.9228038015421474726807f,0.4570111559683089907935f,\ +0.9219829463190309937204f,1.604104528474896707024f,-0.7201236539398426783620f,\ +0.6869793119903724321063f,-1.3399970213280150144186f,0.6385085849830633986102f,\ +-2.1392676796592846599765f,0.3031216472852934495918f,1.4731483222685206602165f,\ +-0.6666106701273177836953f,2.5253251451367195735f,-0.3387226520606179125394f,\ +0.1099263677503663910739f,0.2055796316301525261672f,0.4180157426427644207223f,\ +-0.5676554981767482077615f,0.1457986457557736703627f,-1.887021345850510067876f,\ +-2.0255226332731517402408f,-1.5021973207858168031237f,-0.1565213082415607970255f,\ +1.792895025421787247311f,0.9902819037203779428680f,-1.3877868870664777922741f,\ +-1.9114516712610110094062f,-0.1241624780676525430234f,-0.1512289550370426727266f,\ +1.0440663453119916059819f,0.8275748256509259936919f,0.9453274386638104154201f,\ +0.8371330563424048687438f,0.7021707191099652023425f,-1.06501992349112173386f,\ +0.0584382761085656052269f,0.3908208204693481846448f,0.1507745763925768811564f,\ +1.0041017891872929812536f,-1.2313120848428102949157f,0.3394895696418271380246f,\ +-0.0827142520512850892844f,0.6446222176264210235175f,-1.4935026770981445487507f,\ +-0.8052775249062644746800f,-0.5748653112322126279565f,0.9754979932482783500092f,\ +-2.2884524191498907264020f,2.022987266935787342703f,0.1637454282369502356342f,\ +0.5475744092801727580522f,-0.8932610448161549809853f,-1.2797351399265011195894f,\ +0.1118201613432585478369f,-0.9620980829388734445473f,0.3643849907609559291011f,\ +-0.6874188098904436827752f,-1.217541476664303568000f,-0.5294220756831705676504f,\ +-0.5958966870065123266897f,0.1130069370904074471662f,1.3982224083465000230575f,\ +-1.0698899503771839292199f,-0.4886124217435617311800f,-1.3658513358172643670230f,\ +0.7879963184644042106797f,-1.4375620975102927356915f,-0.4139225629147579854639f,\ +0.4724629049642866118752f,1.3786020791121860185058f,-0.1818007311019581573319f,\ +-0.1220915022718044445904f,-2.1432379005797042026416f,-0.8715288727031362814301f,\ +1.7328275421264391908949f,0.0746395063981880602100f,0.9478227559099661192477f,\ +-0.6746643568348875685814f,-1.12189978973121218253f,0.7712825781700975991129f,\ +0.7878967433781322027286f,-0.114954127571938721775f,-0.8797100720757337066757f,\ +0.3945983137523260686486f,-0.1335061206135170208675f,-0.8812942795785859706470f,\ +0.9678256351883146590964f,-1.2184863124466103201371f,0.2811177412486541848935f,\ +0.9039980069833579712224f,-0.8586130195545335075380f,-0.9119525776637865677188f,\ +0.7834023749729661645347f,-1.8588322045751330957586f,0.9413946838303350883592f,\ +-0.6013167449649100548825f,0.7116576086154465796696f,0.1856739618227061516809f,\ +-2.4025809662081938355982f,-1.1900189182655975805858f,0.4811625406314723463197f,\ +0.2175387195999395339996f,-0.0380853618830928608574f,-0.6838145482543566133771f,\ +-1.5179336348870946515888f,-1.718734246002084020688f,-0.5464611700109887060250f,\ +0.7723526959000743818962f,0.3006795138383335785903f,1.4291868716265472283311f,\ +-0.0677166634975557846232f,0.0573956162401944233742f,0.1830487012206095109867f,\ +0.6989722492840018119864f,0.1910038834963114218191f,0.2306826823577726726100f,\ +-0.2565102919971545825106f,-0.3420573662934773273570f,-0.0978166804483409507709f,\ +0.1422536753322360680851f,0.5435939242933658377410f,-0.3468100829076145585894f,\ +0.4660640367220392210612f,0.8993729143853705920719f,0.7600191222869452367661f,\ +0.8968829064436780740266f,0.5805771807617583490924f,-0.2307843851109470378891f,\ +0.5165770205506754475522f,0.8824788500189956197417f,-0.7969387348104061130627f,\ +-1.8168722946703086407183f,1.5190242407155258863583f,-0.8149773729875190442229f,\ +2.4028228775031306163612f,0.4982657796195523181026f,0.2226740315197290043248f,\ +0.1768897379163425209736f,0.3603060382424789764855f,0.3218716686921767045071f,\ +-1.192570046506437719813f,-0.1122386313819233177869f,-2.0287975179488202392974f,\ +0.100288454133301133120f,-0.9179783877737051067669f,-1.1999331406575297620520f,\ +0.7483478159755958536437f,2.2060613717090746810356f} + +#define RESULT {0.2233738732437201557346f,0.0509114261721980362885f,1.0767942567911201745545f,\ +-0.0599430280405672463728f,0.1149124379797051148655f,0.3745460477695387035979f,\ +-0.3090091280795300709983f,-0.1498661654051850200542f,-0.3780180809438991595961f,\ +-0.4539353243495501954996f,0.6771572627749745665326f,-1.0146085369409014731445f,\ +-0.9686564923933993487282f,-1.1191250002845629651915f,1.1702255762215818535310f,\ +-0.8541951038511210736459f,-0.2598500531232013632810f,0.9956994243583069392756f,\ +0.6385765127412353914238f,0.3184037447477280347030f,0.6841145592833487443230f,\ +-0.6144568631857774132499f,0.2748482455938721091826f,0.3766345938432117956829f,\ +-0.7961060093123013547967f,-0.7446909349913972686608f,0.1379876022907993438071f,\ +0.2507123565043022361820f,0.759175872898178005777f,-0.5428794496736766284073f,\ +-0.89833074078511021554f,-0.9856607896834306270506f,-0.2042349952101077392719f,\ +-0.3798302772852411579585f,0.8514111742492602719068f,0.8799860018302214648145f,\ +0.8760722415122048634117f,0.6529277236314812160600f,0.4737097703113398172725f,\ +-0.5408045473230975730417f,-1.1576046419742331838876f,-0.8087511308495316519895f,\ +0.3794186378049814734048f,-0.6687094713589172290114f,0.7582929808049961861727f,\ +0.8981012978260718426782f,0.4496629050128420623800f,-1.0912735975391061327144f,\ +0.3809844030879972476278f,0.1721944986308187042212f,-0.0823858026410947269502f,\ +0.6870411688329144395126f,0.7452719880215435965809f,0.4286690862084140407617f,\ +0.7448284765591709488675f,1.0133478453990099055204f,-0.6241044852011972121630f,\ +0.6019336895450897451099f,-0.9296864924479115721567f,0.5682544332615881987891f,\ +-1.1335263715873262757583f,0.2943182248013878621329f,0.9744281865108882501048f,\ +-0.5879638357107155322012f,1.1937528186152712716961f,-0.3265930739728566956082f,\ +0.1094867742408287547562f,0.2027547884149371593132f,0.3959400774109990694960f,\ +-0.5162971747333449101802f,0.1447785328438968288634f,-1.0834879385306221966090f,\ +-1.112201615701992940544f,-0.98346913687842862917f,-0.1552615733221418270471f,\ +1.062017052786182524926f,0.7805154284284491206236f,-0.9463968404701921244282f,\ +-1.088790816976063835497f,-0.1235302727421704604982f,-0.1500916423979053448967f,\ +0.8069530021779800499360f,0.6913301738780865957068f,0.7573010048408638228423f,\ +0.6969765492354944580455f,0.6121813376326975530972f,-0.8168741064761906311986f,\ +0.0583718892203711620104f,0.3725683317450820819516f,0.1496473933205103579169f,\ +0.7874448575733706823243f,-0.8886955789071054878647f,0.3272808967598674345645f,\ +-0.0825263887088810432768f,0.5725854110105892402771f,-0.980788536566781998793f,\ +-0.6779506710306395511623f,-0.5217330517396027156352f,0.772995847351621967469f,\ +-1.1588253401537096376472f,1.1117042516684423337f,0.1623050519698593929796f,\ +0.5009790459791051420169f,-0.7290794216990050813365f,-0.9074929345625200038938f,\ +0.111357569834535111153f,-0.7660835307058299070704f,0.349432040770661034301f,\ +-0.6022322122997969540137f,-0.883185569845575946246f,-0.4869072854862174781765f,\ +-0.5373968957759416298359f,0.1125295355475867259409f,0.9499457978350420717106f,\ +-0.8191503966966299232766f,-0.4544961153792455021971f,-0.9388212744104845741688f,\ +0.667378646873721059762f,-0.9630145809992480820938f,-0.3924506725722226585518f,\ +0.4413762601275756369823f,0.9432440329190430183814f,-0.1798366074472934617035f,\ +-0.1214902252731905191174f,-1.134237248756892579848f,-0.7168606663031997783264f,\ +1.0473916695445741886772f,0.0745013609201800736104f,0.7586170976909952790024f,\ +-0.5935190472805600414574f,-0.8427835085661474767704f,0.6569834032811123769591f,\ +0.6673172133738860534180f,-0.1144517528481678869667f,-0.7214914324609644769026f,\ +0.3758410950307565223660f,-0.1327212976140068612096f,-0.722383800988696922474f,\ +0.769049408891516961262f,-0.8835660062516154100720f,0.2740448831292710551999f,\ +0.7350195594735607906856f,-0.7094731621063239401792f,-0.7393796262522003281958f,\ +0.6645381846985234375325f,-1.0772344059827341222757f,0.7552201039546350136433f,\ +-0.5413871326815293816281f,0.6185070897724082028546f,0.1835833463904297524483f,\ +-1.176386657281365266670f,-0.8719472877519027775861f,0.4484643942741659561335f,\ +0.2142014421948802427309f,-0.0380669636860080026763f,-0.5997804502671881810016f,\ +-0.9882664118774061590145f,-1.0438491153613729256477f,-0.5001221995547742160682f,\ +0.6576540281533080900545f,0.292080085019127744239f,0.9602726979256205330771f,\ +-0.0676134413768641334697f,0.0573327152217289193192f,0.1810443840994339081973f,\ +0.6100358657130787731759f,0.1887306738654894733287f,0.2267166741276365193869f,\ +-0.2510965487437752940991f,-0.3295815282597121531616f,-0.0975064859373050984992f,\ +0.141305606529955662953f,0.4979116182528884881897f,-0.3338302007475900112787f,\ +0.4361321851910835434296f,0.7324685375973356560309f,0.6498825704253795576548f,\ +0.731090278993245523687f,0.526015577583169635645f,-0.2268132361170670519002f,\ +0.4768211073463659022131f,0.7230501420836584758334f,-0.6728715276854828619690f,\ +-1.0676488164290300897363f,0.9885963208407696489743f,-0.6838069995773392584226f,\ +1.1764223744131836468796f,0.4622592705138702240397f,0.2190994523411692873616f,\ +0.1750786606269341127984f,0.345826480359459564884f,0.3113998336672463840280f,\ +-0.8730018295092231150889f,-0.1117708529226727198758f,-1.1128425715998719880417f,\ +0.0999542424787834421496f,-0.7426595867662098005013f,-0.8760306483273037070347f,\ +0.6424428721795988339593f,1.1452043748636047126865f} + +#define CSOURCER {-1.1795163216180464260674f,-0.6957584169324845246862f,0.8259988996926452831104f,\ +0.2005040766836741483736f,-1.2112828126521528737669f,1.577061196992769698255f,\ +0.7637772368360737917925f,1.8192271630516374525399f,0.5455430088849253511540f,\ +1.146539236621446411490f,1.6240394311350210276856f,-1.4966797534977682726520f,\ +-1.59547014335820214193f,-0.7395898851221245351439f,-0.8068636961152658715335f,\ +-1.0311002075319768422901f,1.2005970723482952688954f,-0.2648910783446530303742f,\ +-0.2626223153489460337973f,-0.7475187472806215094323f,-0.5661153624892958369230f,\ +0.7434875747358512532159f,0.7872535238570613769227f,0.451715552409009846180f,\ +0.4606878032667490185936f,0.0776842938192593146507f,0.8641526902252117947612f,\ +1.207833841833020782630f,0.8731959322473188400693f,0.0203507380205638840898f,\ +-2.142561452892851825425f,0.3422111419280877142590f,1.2579314478540355448644f,\ +1.7477933051936518360492f,0.5187339957481993391042f,-0.132728581017459240643f,\ +-1.1602733035670516059668f,0.4875989045190238790894f,-0.5701105851822111381111f,\ +-1.1912139790942799510987f,2.0124340046175204221868f,-2.7045248893564091119401f,\ +-0.6431322992574242114472f,-1.9153194443350760600708f,-0.5655545944523592272191f,\ +-0.65321727466490830949f,-0.704349532744792949934f,0.1130503418105048285547f,\ +0.7790220841116946015603f,-0.8369920883463126681789f,-1.604067362874623814406f,\ +-0.2256746981594401069149f,-0.1392938143448255172707f,0.6830835101317246360608f,\ +-0.4155213883413004238854f,0.0229733819760836940893f,0.8246417042132325736503f,\ +-0.6376565658151804871778f,-1.7068298799179615343746f,1.4073819355206949044401f,\ +-0.8295221757203087298294f,0.6373043870424420775933f,-0.2922017410826197592044f,\ +2.1752387761511053909658f,0.0600723389389604608968f,0.7835812912685555797765f,\ +-1.3959357154825373648066f,-2.0629358999978850697232f,0.2656918800288301518719f,\ +-1.1613766205716309354301f,0.8939124507954123721731f,1.6784098435216081579568f,\ +1.2683311792448521693188f,1.8385748076192800493089f,-0.9497329202198889763764f,\ +-1.270378528387523964227f,0.7963056587352231874277f,-0.8480009473832804678395f,\ +-0.8640072224951356183453f,-0.8715001223760306947597f,-1.0437638424148545368553f,\ +-0.4238345049288854693437f,1.1151445198271947578661f,-2.2055374030068151114392f,\ +0.2874269036908579932899f,-1.141542990475093111158f,0.5076848390265716881586f,\ +0.3056363849775944885323f,-0.3052849785217074396471f,0.0155317052678219415240f,\ +0.2432114799458970910706f,0.6784283234918451199746f,1.872617399166290219625f,\ +-0.5480102320972454199577f,-1.1310137592478748391756f,-0.0865801063652356234224f,\ +-0.32288669591661972591f,-0.3304845320488251636526f,0.0611848701378388329375f,\ +1.826560717567842440090f,0.7447867877814601245134f,-1.1564474239432984692399f,\ +-1.1265940444751152416103f,0.142628529129462972014f,-0.8925873814067234457426f,\ +-0.3627863505191566417807f,-0.5662183332585394301972f,-0.2716795089578870614488f,\ +1.3639803640910439508360f,1.237612166886607800720f,0.3924305122780659127457f,\ +0.7582137693795522048745f,-1.1492170633741971563779f,0.4241382639443282975833f,\ +0.4098444400457034175744f,-1.37669132334320454270f,-1.4476326062045372644604f,\ +0.7114066611465256206870f,-1.3924830606697651269599f,0.0338524257403221839891f,\ +0.0146836062137128426502f,1.2378730149006278438151f,0.2801823548361609406143f,\ +-1.3742686169958964192972f,0.1717540380186403925489f,-0.5855903929173471578196f,\ +0.1907429151227005570401f,0.7888793090772500127272f,1.1338168541183824000740f,\ +0.7778678198128919918375f,0.4430509890900592440133f,-1.8169712227336964893709f,\ +-0.1603235606348805963872f,1.0728726966089832117746f,-0.6538383763382829005906f,\ +-1.2903854138672581353120f,-1.2588653493715018516497f,0.662482523108547827206f,\ +0.8653058064884894262647f,0.8205627120768179683097f,-0.6052538675768098785923f,\ +0.1489320223008726296055f,-1.1002545757952191252116f,0.5601748137285590400936f,\ +-0.7753064210754536667025f,0.0825270383499445148168f,-1.3301792471357218872186f,\ +0.3149537401293732719054f,-0.4413283119409475707684f,0.5584497354764290655282f,\ +0.2709448579613401020261f,-0.4281368707331745238065f,-0.2387957265896963054974f,\ +-0.4604827882307634956405f,-0.5412644127984000963494f,0.7328783982761175597176f,\ +-0.0713404400136534444510f,-1.1936962614002064597685f,-3.042807307214757006619f,\ +0.7597050488151386726798f,0.1791274991920646930676f,-0.2506292816675101398083f,\ +-0.6351531470374360832665f,-0.121161180968055212648f,-0.3652194549719223193307f,\ +-0.9437320920432173965153f,-0.2710022932148818952669f,-0.9443973941449046449748f,\ +1.3983220899832822237130f,-0.4381256814836405610869f,0.3765568950431126271639f,\ +-0.3219819650340491334894f,-0.1074889504736799422657f,-0.6785727331891553415488f,\ +2.4505579021475099033012f,-1.3142551981836398944381f,0.7354780365902759964314f,\ +0.3711279315629368302787f,-0.8351813322615772028357f,0.9766824658266765046832f,\ +1.461883720898450089720f,1.5553635146325224258845f,1.4271923988949506423296f,\ +0.0934141721491809351452f,-0.6278372555306163116384f,-0.7994063607890871114847f,\ +0.4560734872063767486594f,1.2736575371127356604006f,0.2044809074410245119946f,\ +0.2464253458581916467196f,0.1480097817386342162749f,-0.7352399556856978879438f,\ +0.9198120099159204920980f,-0.6013531026590643868701f,-0.6865004071225593307304f,\ +-0.104616070370811706236f,-0.3041328910990643286105f,-1.0780356133329238588203f,\ +-0.4779521279351744977859f,0.5025105381497957379722f} + +#define CSOURCEI {-0.9552428551144188650923f,1.2961834852294731312838f,1.1017640646828426032044f,\ +0.8711087850527934328682f,-0.9420760043657475657497f,-0.1497284505613425964476f,\ +-1.3185366552605053414027f,-0.6344981208817582762904f,-0.1939736947913383302566f,\ +0.5047024828595823020549f,0.571239270735604098839f,0.6329832938920191276466f,\ +-1.0836206204774869732432f,-0.2988022043772741165313f,0.0786451729619408040906f,\ +0.1005946170325885125063f,0.1951019512685897017157f,1.3036996759610997020928f,\ +-1.604446040591435362899f,-1.665829130168900329423f,0.3894119616051456289618f,\ +-0.6441312956332616579402f,-0.3024073427875212938254f,-0.4621890957188650173038f,\ +-0.6774568059775447625981f,0.445231860114528421590f,-0.5535293580988084327643f,\ +-0.0006762893110915249931f,-1.089389506561633025328f,0.5723493142465210237191f,\ +0.4420973206857362058919f,-0.1612581930858848211496f,-0.7163329171822375718293f,\ +-0.5277733874018479820478f,-0.4768406780661605948168f,-0.3993604887388358948286f,\ +-1.3804293506092022436604f,-0.1591254367281162429570f,-1.6980146860343119374903f,\ +-1.4761781930573465437817f,0.2862303841437082718713f,0.6052999005919722508295f,\ +-0.5483298295339265049364f,0.0209604427664898014527f,-0.6457183807429971444947f,\ +-0.0603329310380973649064f,0.0091414413452102355473f,1.0949883817318917245132f,\ +1.6400776092272673079009f,-0.623485665086227380804f,0.9132225220115295361012f,\ +0.0829708966832887195864f,-0.1905412057335640341194f,1.7237280439025588485435f,\ +-1.1486098807701770052603f,0.7656322424078984001383f,0.365608177776686305016f,\ +0.8275570484489896960767f,-1.1195346368945833237518f,2.009348617520048563279f,\ +-1.3914607990698013573194f,2.0854477679794358735421f,1.2877168046463016715109f,\ +-0.8111545211857794646093f,-1.4392639991852771430558f,0.5337937550547192655515f,\ +-0.4149967301072188807787f,0.7753596072101661684783f,-2.0802067762281923890555f,\ +0.0857878546561958027494f,0.6902510695334604928775f,-0.8020501997457173404271f,\ +-0.4448276219158631139550f,-0.4542741017673427861290f,0.7497806557441212271797f,\ +0.3761686067694443580400f,-0.5437950704705085680501f,0.1952712229487395811933f,\ +1.4963569359039357031804f,0.1448961397504171522144f,-1.6571742156046651572865f,\ +-2.266222156481924709936f,-0.6895293883454371997033f,0.2295209621736973848449f,\ +0.5362163385171105911553f,0.9313103118348207143384f,0.6330960821019180340130f,\ +-1.0858111091662558944648f,0.0887541886374976635166f,-0.34952319730873010473f,\ +1.2435770678983146808605f,0.3496891344866185913354f,0.8861210080034624958500f,\ +0.8494363200871917207735f,-2.6007673657870293837391f,0.1208397242502698559763f,\ +-2.7285983994246283401708f,-0.9589084058643195795923f,0.5028677894031623463178f,\ +0.1177935239520793014867f,-0.8303109816686591315715f,0.1392963806792855974148f,\ +-0.7007200653415375235511f,0.3010279059055253614297f,0.2808756871176958935798f,\ +-0.3407758216783158822238f,-0.1629402754377415607490f,-0.9384370915542669111531f,\ +-0.9062708617577245329144f,-3.8216620591432644005181f,-0.4342151148359789103459f,\ +-1.8035270857235303765265f,0.5183732162291515566110f,-0.6322771366436347184603f,\ +-1.565814486101537061913f,-0.1275146747340561437234f,1.64064977802353451075f,\ +0.3863617690782851776810f,2.0004008659625807098337f,-0.6217884089242305956091f,\ +0.5238947303594374549363f,0.6235004214546735479274f,0.2053444204279457063755f,\ +0.8703948860420792632553f,-1.0392069272746413677311f,1.003277086375655047235f,\ +-0.592126107443248783646f,1.4081926997371712051432f,0.3085101089696197229628f,\ +1.3401416840168169919423f,-0.1266586333113026985320f,-0.6461594510334438545840f,\ +-1.0118098370918304773625f,0.6188273552553577028235f,0.3590555220619524590120f,\ +-1.1731665361057745933238f,-0.6396350210213861409159f,-0.1754282371769660675564f,\ +-1.4007581459609705909486f,0.9435849228454418202716f,-0.8904968184314612233976f,\ +0.2054651558278166589844f,0.4710457442017800810952f,-0.9616306477690889087384f,\ +-0.121221389008828367428f,-0.4940626370918775878138f,-1.6256998584585298228689f,\ +0.2527933604007285839366f,0.9910414428133418329736f,-0.4204166976073123729307f,\ +-0.3726016912019385896038f,0.9512465231833235890235f,1.9770278000388763484096f,\ +0.7942630050207910574755f,0.2042467951135929216111f,-0.4515030272861193516576f,\ +0.6146475682591936440247f,-0.6290585121948016888993f,-0.1427330253584118413546f,\ +-0.0603831392611861861308f,-0.0118358773438195733624f,1.060362899843382056275f,\ +0.0968488469273018626193f,0.1916075762821658201585f,-0.4096449181703107345065f,\ +0.3696227488734469268650f,0.2664498618423789544352f,-1.1169828984464544863187f,\ +0.1529016818054778348301f,0.5016653096177513537768f,0.3713737327704177415555f,\ +1.519060224335068820523f,-0.1807259441689535728326f,1.8139275887503047979266f,\ +-0.3257752015232963649360f,2.1486960576842424330835f,-0.1051361455427324009815f,\ +-0.2626851203928968758738f,1.0103646188196337973864f,0.2148110767207350724206f,\ +0.4407052420763278299809f,-0.5122126723342420584473f,1.2412118916908576604641f,\ +0.9766933236701691445347f,2.039099736880281454887f,-0.2559919392094065493382f,\ +0.5420836083333696597819f,0.0791245311903027159772f,-0.0955893777744002970387f,\ +-1.3712286813648302263857f,2.1069701518694308184365f,-1.189922581642507859456f,\ +-1.1599757893702906663691f,-0.5696357256121767909107f,-1.3015572133370920671069f,\ +-0.5449309642239419382292f,-0.5067789559895423678881f,0.6346443332238025369918f,\ +-0.6108333161328157734360f,1.8419857567724760016858f} + +#define CRESULTR {-1.0378404956328399766363f,-1.133735695651125086059f,1.0339197498326544444325f,\ +0.5531122148702418694910f,-1.040340001858497842591f,1.0085860369894361632248f,\ +1.1420720538989748149561f,1.1056797792052726059353f,0.5117972485274214777817f,\ +0.9070677525728206846978f,1.0572990288526666891045f,-1.0360972400059726972188f,\ +-1.1383229838393340571656f,-0.6648420928164470167232f,-0.6807443500487321275116f,\ +-0.8031597943350016199915f,0.883947625424225447155f,-1.269412549612109586405f,\ +-1.4161063395011512788813f,-1.2859233456553140761969f,-0.5672668801729759957553f,\ +0.7745318044293433290548f,0.6947007749642374330179f,0.4991201053193883852011f,\ +0.6140034872209438887580f,0.096413007169791717366f,0.8007709883951089624432f,\ +0.8792563999787510464756f,1.0343346624696823088385f,0.0302467913897976371784f,\ +-1.1472175673143576446478f,0.3369832737151475243742f,0.9907410521400105141154f,\ +1.0796900049026223467052f,0.5594674889946016360653f,-0.1560251223940891662778f,\ +-1.1705823062338804874116f,0.4618385738778090776613f,-1.3324797047631469215645f,\ +-1.1997345609820562195580f,1.1160254294044837930500f,-1.230501878395329207194f,\ +-0.6761086369817806973614f,-1.0896592333865446899921f,-0.6710881467286168300390f,\ +-0.5798029666713722107829f,-0.6136654494083557676021f,1.1617507290156328103592f,\ +1.27276401512989068010f,-0.8120428578165023170143f,-1.1072391191957589029471f,\ +-0.2233715590492064695383f,-0.1434422451344934956730f,1.3153998337128238738103f,\ +-1.0526498309129606045786f,0.0553606627561369843415f,0.7291584643384485531215f,\ +-0.8211933984789114848724f,-1.1593353121271579020402f,1.3152057671476293787549f,\ +-1.172801856026281397405f,1.4071868225661712248353f,-1.237749706635684621148f,\ +1.1803373520872921798031f,1.5151506180989924299496f,0.7531983030718831795269f,\ +-0.9762856051169326310202f,-1.1612557605568909480098f,1.4932305416569968681273f,\ +-0.8614722664300586973951f,0.8618528735715539346174f,1.1016443473924788509777f,\ +0.9393199732131509716027f,1.0919198431908447854966f,-0.9052324038739091305317f,\ +-0.9298866314213817263479f,0.7633780893052066751636f,-0.7143116680469970836143f,\ +-1.2127221047629597183715f,-0.7227638256662162197230f,-1.253501631676815275540f,\ +-1.4738165927959636647415f,0.9413278434132237304510f,-1.1484735264203178584097f,\ +0.3698862224535668929981f,-1.0222624393360630890015f,0.6231994143282580944643f,\ +0.9950036636352803665062f,-0.2983226702432650867536f,0.0176907017367243651895f,\ +1.2324636476429444709169f,0.6361627801840686879942f,1.1459319881374090410731f,\ +-0.7953680408910630550423f,-1.4154164061425698051266f,-0.0876282946873059020998f,\ +-1.5216557556403844664317f,-0.8071142269969606708457f,0.0815747053150205070349f,\ +1.0712377179167194007903f,0.8666202597884599123645f,-0.8619222017137594393787f,\ +-0.9481006227828882026998f,0.1552413858057176687666f,-0.7506128146087278629750f,\ +-0.3836715577045819447477f,-0.5239185633043924594787f,-0.7436026090030812829568f,\ +1.0616275053374448766874f,1.4897517325664235698923f,0.4367517077925673341099f,\ +1.3246660695183969380651f,-0.9109135023203799308433f,0.5553722323129884896886f,\ +1.3365545316217091187383f,-0.9452504202661284882225f,-1.24445301968662169756f,\ +0.6665795438258386163000f,-1.314150441284937187447f,0.0550695906884250130364f,\ +0.0202332991673926272658f,0.9634857364192206397036f,0.2836842504797497110935f,\ +-1.0552170344242444155469f,0.9396260470070250114816f,-0.9303925570132891564867f,\ +0.2783356640126000702828f,1.1824291811858682610392f,0.8685688319389791578473f,\ +1.1519647668153425446036f,0.4220715686665841848146f,-1.1065714015957384130928f,\ +-0.861924596730684333679f,0.9073537157079681891858f,-0.6218839294281949259258f,\ +-1.120015581786375724604f,-0.9733844585621500566930f,0.595029230494463101664f,\ +1.175230190501943328130f,0.9508205283471821145369f,-0.8508278968495206484590f,\ +0.1541098930310453307690f,-0.8824217885955716322854f,0.8902851444120675195038f,\ +-0.6639557596979325237996f,0.1084368331219868891724f,-1.2396941127079998956617f,\ +0.3226031789257856052799f,-0.8843151570857661347702f,0.5707126023897258759732f,\ +0.3012759106579737111709f,-0.8367027089033168829602f,-1.4909615617958020816758f,\ +-0.7009193727197650103378f,-0.5098573775891588333309f,0.6979392344955810401075f,\ +-0.11360619748546052499f,-0.9509385591695135309109f,-1.253860295053432105661f,\ +0.650797750208578995590f,0.1772712514866976729611f,-0.9640945137047890467485f,\ +-0.5689005122453275609118f,-0.1250511412013994849701f,-0.4037636514907702589561f,\ +-0.7926166698304296653887f,-0.2823466357029139617296f,-1.056824688357730357424f,\ +0.9537129762345133432433f,-0.5025361511250948653995f,0.4038372312258701746224f,\ +-1.356748408455357823854f,-0.1106205947085566049237f,-1.3416335800212069173654f,\ +1.1885949854017261451133f,-1.3422443000337007656952f,0.6375731708639520434190f,\ +0.3760968575323995755078f,-0.9884746207385446403748f,0.7854115858087797885645f,\ +0.999043445647114114472f,1.033179400413832382810f,1.1526308570666976560659f,\ +0.6867562899067288784138f,-1.4009010309735028254607f,-0.6940419760103245794269f,\ +0.5354681750957488439724f,0.9063410461496741454823f,0.2034358249367814175379f,\ +1.3295608151948998809644f,1.5281379412739910517161f,-1.0737486644518823286631f,\ +1.0727905584835071284289f,-0.6577524210666327864061f,-1.1372820311372766610702f,\ +-0.1467884541731124814490f,-0.3758609793464613990643f,-0.9135278670013463608868f,\ +-0.5879353157795642603745f,1.3892627420568484097885f} + +#define CRESULTI {-0.3299360864553753103223f,0.5773236414575498853807f,0.4991095547887292593892f,\ +1.0331094146354482532502f,-0.3176151990967214233663f,-0.0427672547155572568833f,\ +-0.5408736725419536206516f,-0.1380553162115908116814f,-0.1495803862615101287314f,\ +0.2075977110248564960759f,0.1483156441793008761820f,0.1814264210630067153396f,\ +-0.2481388687151736549552f,-0.1914494023025192226406f,0.0475995307877313186817f,\ +0.0486725512662827888843f,0.0793454719839349342791f,0.8749639413571212998022f,\ +-0.6896294045728997845757f,-0.5086525074514365307721f,0.2944098793875352670923f,\ +-0.3917506744074427116331f,-0.1846852570799382420308f,-0.3894217746197643492678f,\ +-0.5646100518854718641748f,0.4746040014516990646065f,-0.3015127179783077537856f,\ +-0.0002750414994330601867f,-0.4738712470203229054633f,0.6504861039469930217294f,\ +0.0770111005352082517161f,-0.1450021418767060144006f,-0.2504460533174687753011f,\ +-0.1242925201299330817406f,-0.3767991401181884358884f,-0.4132076872602681860691f,\ +-0.3870747570445600693745f,-0.1287551829606753961421f,-0.5591653729797143590474f,\ +-0.3808547758746415601294f,0.0560087196606005033317f,0.0701856173788610038233f,\ +-0.3788485405347551959743f,0.0044895072328474238538f,-0.4792093730891275327188f,\ +-0.0422815385429984591514f,0.0061101098120875880007f,1.3269258764406561823535f,\ +0.50216582477378490790f,-0.3441118926473294425961f,0.2204807457606408893636f,\ +0.0790893257779779063066f,-0.1890021515648551142519f,0.518665277550073300361f,\ +-0.8006086655024508003109f,1.0073379811293934338323f,0.2137094925844510162616f,\ +0.5375421998418649094376f,-0.2320202834395212743157f,0.3256990051992574852768f,\ +-0.5075425697148114867474f,0.4587488944259289214145f,0.8635283954295314146066f,\ +-0.1297869621390935479521f,-0.852694676585578515f,0.3180243625197139989424f,\ +-0.1362504231180562963566f,0.1356147426873018091431f,-0.5110906304654022624945f,\ +0.0364746671485365880905f,0.3518205609306652159596f,-0.1882338930265980980749f,\ +-0.1641509348055795458610f,-0.1003678389496054923491f,0.3533058939584889368568f,\ +0.1400753442460135889114f,-0.3190262039403771177071f,0.1130098866744752156288f,\ +0.4874882612585151875351f,0.0821093566409674818773f,-0.4196102828902398829136f,\ +-0.451423643355465198379f,-0.2794721520836026540380f,0.0388676985912680683644f,\ +0.5261724556813406339373f,0.3369140501375452179111f,0.5021943268293638240607f,\ +-0.9466008502228719923011f,0.0813161752282447886087f,-0.3647911127697049948893f,\ +0.9402058236775613364600f,0.2373145443406108057172f,0.1741667096823807936445f,\ +0.6110175965051998225874f,-0.3276211596627106037438f,0.1205074840878167241609f,\ +-0.3776545253138779423274f,-0.8929722827626465075923f,0.549792722962075375293f,\ +0.0271042479895461374539f,-0.47522513055127707515f,0.0593823102898174345898f,\ +-0.2798313897020670570903f,0.3034375004902351569136f,0.1544875118519504486603f,\ +-0.3064946913611272250044f,-0.1233973071314871799986f,-0.9748519593919268144688f,\ +-0.2695469774323944189831f,-0.2398595153162375315237f,-0.3849351067537384318840f,\ +-0.4832629774775746844817f,0.2120502817724358168849f,-0.5500280838647416681297f,\ +-0.6567358702149050930785f,-0.0439088406752093027285f,0.3215272662057582220285f,\ +0.252983359599071477852f,0.3285524490410307585364f,-0.7260295113781071174586f,\ +0.5814783672028649430530f,0.2280478984411803411447f,0.1921683660815579341996f,\ +0.2598222279442688464890f,-1.2261944929533434844870f,0.6354501028006451779362f,\ +-0.6350507146232319266588f,0.5241840999802419576170f,0.1326112979841672367964f,\ +0.5331634907909190701503f,-0.1060363792025432461141f,-0.1405159325068739140097f,\ +-1.2650277702054697481771f,0.2669908129991411804838f,0.2495345813255305800205f,\ +-0.3316627619047222141901f,-0.2282918540535401608071f,-0.1217152595768435791035f,\ +-0.4921799931736892674827f,0.4709770755615852455556f,-0.5858164911014823728053f,\ +0.2035859669317575948444f,0.2043112301670926833630f,-0.6450693837623580062512f,\ +-0.0755935103401305513726f,-0.5356174761081086144188f,-0.3471562389208797116957f,\ +0.2328317315621121486036f,0.7651997819792383248583f,-0.3199579280419243554334f,\ +-0.3582454315092570285017f,0.7669246314230472316709f,0.5441811107763497856737f,\ +0.6504831149102675569296f,0.1580962824886572026806f,-0.2872668874651375658935f,\ +0.7084196447067554469612f,-0.2398740644903666341392f,-0.0138893916104706732079f,\ +-0.0382724601233607325534f,-0.0114683647521359316501f,1.042906817386681339599f,\ +0.0689854613036876146426f,0.1910230634709511876590f,-0.3704134917614289590482f,\ +0.1911216797569713354843f,0.2522464542416475996589f,-0.4451672855349098623101f,\ +0.0515134584128001532521f,0.4287903998263715155126f,0.3315338614185490695441f,\ +0.7124742713592439047332f,-0.1805296499983318203597f,0.5024343285394804459187f,\ +-0.0459393453273769861167f,0.3351247751616924785978f,-0.0681623033986126780626f,\ +-0.2332477835758634543417f,0.4789761892657505848447f,0.1091019217623192538724f,\ +0.1355147604481500289708f,-0.1428984493591255733325f,0.3037123307940571281804f,\ +1.5115293287912119346572f,0.4692494475562393740908f,-0.154956179496453544386f,\ +0.4557841446769143045614f,0.0301394028826129541099f,-0.0919789120268482279785f,\ +-0.8385856266070932374390f,0.5121474514176801440257f,-0.5562655937076338430458f,\ +-0.4610543161770726539039f,-0.4105611124291430047428f,-0.5820664911774818817136f,\ +-0.5994113052598605273502f,-0.4878070905668511203501f,0.2712394281598410339384f,\ +-0.5014387951037901913764f,0.5397742494143892288960f} + + + + + + void satansTest() { - printf(">> Float scalar\n"); - printf("satans(0) = %f\n", satans(0.0f)); - printf("satans(PI) = %f\n", satans(FPI)); - printf("satans(PI/2) = %f\n", satans(FPI/2)); - printf("satans(PI/3) = %f\n", satans(FPI/3)); - printf("satans(PI/4) = %f\n", satans(FPI/4)); - printf("satans(PI/6) = %f\n", satans(FPI/6)); - printf("satans(-PI) = %f\n", satans(-FPI)); - printf("satans(-PI/2) = %f\n", satans(-FPI/2)); - printf("satans(-PI/3) = %f\n", satans(-FPI/3)); - printf("satans(-PI/4) = %f\n", satans(-FPI/4)); - printf("satans(-PI/6) = %f\n", satans(-FPI/6)); + float in[]= SOURCE; + float res[]= RESULT; + float out; + int i=0; + + for (i=0;i<200;i++){ + out=satans(in[i]); + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-7); + } } void catansTest(void) { - floatComplex pi_pi = FloatComplex(FPI, FPI); - floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2); - floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3); - floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4); - floatComplex out; - - printf(">> Float Complex scalar\n"); - out = catans(pi_pi); - printf("catans(PI + I*PI) = %e + I * %e\n", creals(out), cimags(out)); - out = catans(pi_2_pi_2); - printf("catans(PI/2 + I*PI/2) = %e + I * %e\n", creals(out), cimags(out)); - out = catans(pi_2_pi_3); - printf("catans(PI/2 + I*PI/3) = %e + I * %e\n", creals(out), cimags(out)); - out = catans(pi_2_pi_4); - printf("catans(PI/2 + I*PI/4) = %e + I * %e\n", creals(out), cimags(out)); + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=catans(in); + assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6); + assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6); + } } void satanaTest(void) { - float out[5]; - float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6}; - int i = 0; - - printf(">> Float Array\n"); - satana(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("satana(array) = %f\n", out[i]); - + float in[]= SOURCE; + float res[]= RESULT; + float out[200]; + int i=0; + + satana(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-6); + } } void catanaTest(void) { - floatComplex in[4]; - floatComplex out[4]; - int i = 0; - - in[0] = FloatComplex(FPI, FPI); - in[1] = FloatComplex(FPI/2, FPI/2); - in[2] = FloatComplex(FPI/2, FPI/3); - in[3] = FloatComplex(FPI/2, FPI/4); - - catana(in, 4, out); - printf(">> Float Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("catana(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + catana(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6); + assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-6); + } } + + + int testAtan() { printf("\n>>>> Float Arc tangeant Tests\n"); satansTest(); diff --git a/src/elementaryFunctions/atanh/Makefile.am b/src/elementaryFunctions/atanh/Makefile.am index 5776601d..c057f9ba 100644 --- a/src/elementaryFunctions/atanh/Makefile.am +++ b/src/elementaryFunctions/atanh/Makefile.am @@ -35,6 +35,7 @@ HEAD = ../includes/atanh.h #### check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ + -I $(top_builddir)/auxiliaryFunctions/includes \ -I $(top_builddir)/type check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ @@ -48,6 +49,7 @@ check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/auxiliaryFunctions/abs/libAbs.la \ $(top_builddir)/auxiliaryFunctions/pythag/libPythag.la \ $(top_builddir)/operations/multiplication/libMultiplication.la \ + $(top_builddir)/auxiliaryFunctions/isnan/libIsnan.la \ @LIBMATH@ check_PROGRAMS = testFloatAtanh testDoubleAtanh diff --git a/src/elementaryFunctions/atanh/Makefile.in b/src/elementaryFunctions/atanh/Makefile.in index 33e21f7f..d161a8ea 100644 --- a/src/elementaryFunctions/atanh/Makefile.in +++ b/src/elementaryFunctions/atanh/Makefile.in @@ -76,7 +76,8 @@ am__DEPENDENCIES_1 = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/elementaryFunctions/lnp1m1/libLnp1m1.la \ $(top_builddir)/auxiliaryFunctions/abs/libAbs.la \ $(top_builddir)/auxiliaryFunctions/pythag/libPythag.la \ - $(top_builddir)/operations/multiplication/libMultiplication.la + $(top_builddir)/operations/multiplication/libMultiplication.la \ + $(top_builddir)/auxiliaryFunctions/isnan/libIsnan.la testDoubleAtanh_DEPENDENCIES = $(am__DEPENDENCIES_1) testDoubleAtanh_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \ $(LIBTOOLFLAGS) --mode=link $(CCLD) $(testDoubleAtanh_CFLAGS) \ @@ -237,6 +238,7 @@ HEAD = ../includes/atanh.h # Checking Part #### check_INCLUDES = -I $(top_builddir)/elementaryFunctions/includes \ + -I $(top_builddir)/auxiliaryFunctions/includes \ -I $(top_builddir)/type check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ @@ -250,6 +252,7 @@ check_LDADD = $(top_builddir)/type/libDoubleComplex.la \ $(top_builddir)/auxiliaryFunctions/abs/libAbs.la \ $(top_builddir)/auxiliaryFunctions/pythag/libPythag.la \ $(top_builddir)/operations/multiplication/libMultiplication.la \ + $(top_builddir)/auxiliaryFunctions/isnan/libIsnan.la \ @LIBMATH@ diff --git a/src/elementaryFunctions/atanh/testAtanh.h b/src/elementaryFunctions/atanh/testAtanh.h index 2c574f83..c683c179 100644 --- a/src/elementaryFunctions/atanh/testAtanh.h +++ b/src/elementaryFunctions/atanh/testAtanh.h @@ -15,14 +15,25 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "atanh.h" #include "constant.h" void satanhsTest(void); +void satanhaTest(void); + void datanhsTest(void); -/* FIXME : Add missing prototypes and increase tests cases */ +void datanhaTest(void); + +void catanhsTest(void); + +void catanhaTest(void); + +void zatanhsTest(void); + +void zatanhaTest(void); int testAtanh(void); diff --git a/src/elementaryFunctions/atanh/testDoubleAtanh.c b/src/elementaryFunctions/atanh/testDoubleAtanh.c index 51810f01..a876ed33 100644 --- a/src/elementaryFunctions/atanh/testDoubleAtanh.c +++ b/src/elementaryFunctions/atanh/testDoubleAtanh.c @@ -11,31 +11,586 @@ */ #include "testAtanh.h" +#include "isnan.h" + +#define SOURCE {-1.1105866164187250255679,-1.0028386111936116176224,0.2375765916352992890292,\ +-1.9260782734203465427214,1.6339029335662884623304,0.4006142544568777608127,\ +-0.1884054141613809019162,0.3250370808239260722594,0.4942341130822986983162,\ +-0.5271214361991748420522,-0.2047974713791562706433,-0.6989092545405519718571,\ +-0.7715561486980614391840,-0.571989225566208348006,-0.5020150984917894909643,\ +-2.2857334641783242368263,2.332010485133160226923,1.3889136138977253853710,\ +1.3789467621494246873937,0.1097978131481585906126,-0.0647218447158609960779,\ +0.0281807372021152316433,0.1350188864488831574917,1.0304207301469319180143,\ +1.2534650597477734468299,-0.6673847151191693027883,0.7687329161404042876526,\ +0.9397659613234893294376,-0.1842256540708016310237,-0.6380964000421092130466,\ +-0.4312384814994691395462,0.2955203345655439961526,-0.9485014036835781592316,\ +-0.7318488744075331009498,1.0038104194654713374746,-1.1353561092070965088396,\ +-1.0960321876977914268281,-0.0171134176442899188508,-0.5858103496627128370378,\ +0.1289555865425900393895,1.5820296359767425098397,-1.4631497998103890623156,\ +1.2963845181574007447978,-0.3801415377268548834166,2.06830447887869084411,\ +-0.5625246161593648874799,0.5326361661049561213588,-1.2444472935191353002438,\ +1.98041335297601972520,-1.1243976757801756871658,-0.2002672475586080858001,\ +-0.8369527550627472445299,-0.5501861155367867572963,-0.4142018271607930679501,\ +0.0805610771656549429220,1.1377543872793591805959,0.0358630657002049213489,\ +-0.7784293535508046701921,0.1468114639619267913773,0.8017875463824070125796,\ +0.9541283226908341408290,0.2570812112878080313294,0.5669583797452802942374,\ +-0.5124357940757415796895,-1.0874670623228419596984,0.1679748561443953069894,\ +1.0653376770396050243761,1.4418584607257751706300,0.4931419934636970814346,\ +0.8961862868877283894165,1.9862847823434610639026,-0.1823693074986679762972,\ +-1.4947586037652456081304,0.2872503175279246256935,0.0312925927822978733328,\ +0.6112211190486463996407,-0.7772375221664085120921,1.1093137211625221372202,\ +0.0442238350338455751820,1.6762117307909378816078,-0.6876351157010545112058,\ +-1.22967891951066876643,-0.1299578267276684795384,1.6975824415216096419101,\ +1.308926550069704708434,-1.098941911191897657929,0.8471934585094353931112,\ +-0.4433269337102597185130,-0.7837315591442685080992,0.9116218827858540985076,\ +-1.0105858633572861737804,0.4876488481804939212338,0.0655402107055627763943,\ +-0.2953709263667435580558,0.6148227532021686148056,-0.4034374023520052587877,\ +0.5833631341612930398810,-0.5528588193199002187583,-0.2778100246524093375200,\ +2.382193101614083818873,-0.5178234271111435971235,-0.6905004153871671102038,\ +1.1100538942612350190586,0.4362472672541874985086,1.6185312525007526929244,\ +-0.2435431173062182208522,1.3489566990051822248375,0.7594498437474611618470,\ +-0.2810994191894010674204,0.0572337467470783664569,-0.2986850540752242211262,\ +0.3080328437634018978741,-1.063898707867213300204,-0.4732241206771939379117,\ +0.4359979545522715271844,-1.1975945596394972358922,-2.0463590761656762495591,\ +-1.6981361097863292286547,-0.3298420709745075729558,0.6443404115154376388119,\ +1.1582132747946760620295,-0.1360263343598554774960,1.1191856336437415730956,\ +-0.3857336264473540388131,-0.9009857125105711350699,-0.6654259233895634118028,\ +0.8142113557520732625150,-0.7421459588282103281287,-0.7442082361451903826932,\ +-0.7150337980929084569226,0.9101123379002086233314,1.6512593716591941195304,\ +0.5444875921569681809231,-1.4717893200735545633506,-0.2233299046672752585785,\ +-0.0991741463892287511417,-0.9902546973703609811679,-1.376446086882661790085,\ +-1.7488399727971684072259,1.8239775508132596293365,-0.2630036367047015599674,\ +-0.5010962842642737724574,-0.5862555775092695986572,-1.3195380346103915414346,\ +-0.3864449051827200110054,-0.0225200748008141174439,-0.9526576040369814091235,\ +1.6155833271255157779223,1.2505121957121025921822,-0.1546296525315759562424,\ +0.7865497689541539605429,-0.6949758322935190024694,-0.4332203785337710999492,\ +0.6084666055394067907258,0.2648887243137521552150,-0.3173806367287662633103,\ +-0.9277748648924035723695,-0.6967437125955047161341,0.0106825075357279020843,\ +0.7977499585474604471003,0.9612439572909651230859,0.6750778949370804804531,\ +0.0690725368983376858401,-1.8076399886892613455558,-0.2596249600654364497743,\ +0.6728882350569161951981,-0.4537439012069451327314,0.695587590556807633391,\ +1.2463414096089968641223,-0.2637405473740589423315,-0.8045531944567444471161,\ +0.2829556705817293793537,0.1166763530431780965246,1.0028892209395869894450,\ +0.4234280063942446603598,0.6056937191431178701961,-1.4168714241399820163991,\ +-0.7415110426654055730822,-1.6002352979874459038001,-0.0441220186662526561716,\ +-0.6809183287313597121582,0.2835255852521558761481,0.2496331067144885174081,\ +0.1563210463282909690186,-1.006767784835231216434,-0.6458091780006059989816,\ +-2.529451976430145521135,-0.4966644528621277365765,0.3057445000796202294602,\ +0.0051108872162743653259,0.3463692486733729314352,0.4684023556979828861735,\ +-2.0819698824296395400779,-1.8736446723365958177965,0.5032045449115828406050,\ +1.0514506638411960093293,-0.5657157774822674234372,-0.2842153768346438180714,\ +0.1431506224954579853392,1.0806316268163596028273} + +/* +#define RESULT {-1.4744610660983759053977+%i*1.5707963267948965579990,\ +-3.2795029213225106445861+%i*1.5707963267948965579990,0.2422041646840577544531,\ +-0.5752297863073998485106+%i*1.5707963267948965579990,\ +0.7121630945985538696519-%i*1.5707963267948965579990,0.4243803995861772371256,\ +-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\ +-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\ +-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\ +-0.4691302795139216663678+%i*1.5707963267948965579990,\ +0.4584432136447526562328-%i*1.5707963267948965579990,\ +0.9076183700076346783092-%i*1.5707963267948965579990,\ +0.9185087029260963209509-%i*1.5707963267948965579990,0.1102422571172131521289,\ +-0.0648124440153749203919,0.0281882007066550886731,0.1358484485857832935185,\ +2.1004370090239423696232-%i*1.5707963267948965579990,\ +1.0924991774831627200371-%i*1.5707963267948965579990,-0.8060125587957032156083,\ +1.0172227264061333151801,1.736042493622687921118,-0.1863533018119427342452,\ +-0.7549561185313359290561,-0.4614170985204111286038,0.3046041145449288611857,\ +-1.8166306469319770666715,-0.9326970536559181512715,\ +3.1325332888309622703105-%i*1.5707963267948965579990,\ +-1.3792397781139973389486+%i*1.5707963267948965579990,\ +-1.5415589891296013203004+%i*1.5707963267948965579990,-0.0171150886014554831638,\ +-0.6712634278717346525411,0.1296776288627018158817,\ +0.7449048409492748934468-%i*1.5707963267948965579990,\ +-0.8355728364335629487769+%i*1.5707963267948965579990,\ +1.0237167786809893144095-%i*1.5707963267948965579990,-0.4002250855702985665729,\ +0.5275261647661907415952-%i*1.5707963267948965579990,-0.6365188485604326151801,\ +0.593818237113303393215,-1.1086074290970830968917+%i*1.5707963267948965579990,\ +0.5559215037224033428842-%i*1.5707963267948965579990,\ +-1.4188800488983950298660+%i*1.5707963267948965579990,-0.2030109524350925953584,\ +-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\ +0.0807360417981298622569,1.3710194541092590725384-%i*1.5707963267948965579990,\ +0.0358784527834248925804,-1.041372191940861169357,0.1478800901804916689830,\ +1.1035975394582797637355,1.8759258138597765253053,0.2629805384285096581110,\ +0.6430289187352878910175,-0.5660273762902281458054,\ +-1.5862221930864266461469+%i*1.5707963267948965579990,0.1695819872689824647782,\ +1.7267400811821158601589-%i*1.5707963267948965579990,\ +0.8547625432037965209631-%i*1.5707963267948965579990,0.5402035003963170378682,\ +1.4525009288261496731565,0.5539201036322172200244-%i*1.5707963267948965579990,\ +-0.1844324167806210001963,-0.8089386385243267918455+%i*1.5707963267948965579990,\ +0.2955667016509896383170,0.0313028129649670083801,0.7108684384800065814147,\ +-1.0383547009634652713572,1.4799479994581337116699-%i*1.5707963267948965579990,\ +0.0442526991314810200229,0.6878256510027744852209-%i*1.5707963267948965579990,\ +-0.8434557413354200061661,-1.1364652701643074284021+%i*1.5707963267948965579990,\ +-0.1306969520152806707447,0.6762452782098172798797-%i*1.5707963267948965579990,\ +1.005717225984443130571-%i*1.5707963267948965579990,\ +-1.5273278613167085016045+%i*1.5707963267948965579990,1.2461250150575873263392,\ +-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\ +-2.6233309837037732670240+%i*1.5707963267948965579990,0.5329709825316656379712,\ +0.0656342963912304455665,-0.3044404175419783142864,0.7166384348283165728333,\ +-0.4277478080499193535680,0.6675457063378462674308,-0.6224892627320329774321,\ +-0.2853073726746037097612,0.4474264519637772830052-%i*1.5707963267948965579990,\ +-0.5733611255013777441292,-0.8489115589330021860448,\ +1.4767492874056193929988-%i*1.5707963267948965579990,0.4675865941091252309114,\ +0.7215105644264150352996-%i*1.5707963267948965579990,-0.2485372004835029458025,\ +0.9533893539015392271097-%i*1.5707963267948965579990,0.9949139163386880868600,\ +-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\ +0.3183705746036424866219,-1.7375264548714035583998+%i*1.5707963267948965579990,\ +-0.5142166878802835183748,0.4672787235144033601841,\ +-1.2044507032201230423141+%i*1.5707963267948965579990,\ +-0.5343152701155061690130+%i*1.5707963267948965579990,\ +-0.6759512002250491757849+%i*1.5707963267948965579990,-0.3426510354825004212032,\ +0.7655602779397917556636,1.3065460037453791031226-%i*1.5707963267948965579990,\ +-0.1368747459554155443406,1.4390524672743967293798-%i*1.5707963267948965579990,\ +-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\ +1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\ +-0.8974087416560057040016,1.5281783215878395054688,\ +0.7019410287263873060581-%i*1.5707963267948965579990,0.6105122611902852325372,\ +-0.8280825291376695540535+%i*1.5707963267948965579990,-0.2271580885894484980181,\ +-0.0995012215536074662303,-2.6596162554083884188572,\ +-0.9212932842045244985485+%i*1.5707963267948965579990,\ +-0.6502044836894653734305+%i*1.5707963267948965579990,\ +0.6158791818865629874580-%i*1.5707963267948965579990,-0.2693325220287110521866,\ +-0.5507689268125864900938,-0.6719415444836209783119,\ +-0.9911235054617995032800+%i*1.5707963267948965579990,-0.4076140317144636981972,\ +-0.0225238830066269123120,-1.8597701914697917224828,\ +0.7233360518064337885136-%i*1.5707963267948965579990,\ +1.0977027535066357089022-%i*1.5707963267948965579990,-0.1558800560054872108573,\ +1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\ +0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\ +-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\ +1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\ +0.0691827011392311119753,-0.6229915735462322468052+%i*1.5707963267948965579990,\ +-0.2657062181808059753152,0.8160024961656430209089,-0.4894047987117864928486,\ +0.8587006143920951073412,1.1051698569402153005115-%i*1.5707963267948965579990,\ +-0.2701243583599451381083,-1.1113900272171266525589,0.2908920738530955119039,\ +0.1172101729688146409813,3.2706795664298211612220-%i*1.5707963267948965579990,\ +0.4518615589828762768576,0.7020915980292293800957,\ +-0.8787256719819279693340+%i*1.5707963267948965579990,-0.9538277279422371357498,\ +-0.7330177387440419689568+%i*1.5707963267948965579990,-0.0441506837064596646680,\ +-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\ +0.1576133484131722883870,-2.8460534045826286764225+%i*1.5707963267948965579990,\ +-0.768075815339287371053,-0.4181165627609883528315+%i*1.5707963267948965579990,\ +-0.5448685867460187903788,0.3158443034854154785052,0.0051109317177532613205,\ +0.3613121056785816853640,0.5080216801947243787652,\ +-0.5233928099098102970643+%i*1.5707963267948965579990,\ +-0.5953313420807592182271+%i*1.5707963267948965579990,0.5535880446904775098460,\ +1.842839548963430384987-%i*1.5707963267948965579990,-0.6411995769353845409100,\ +-0.2922619465382557679689,0.1441406428551997020993,\ +1.6252679142635939602002-%i*1.5707963267948965579990} +*/ +#define ZSOURCER {0.1566312085376346807664,-0.9832172164912469369824,-0.4352704306190940952703,\ +0.5411529581857100756892,-0.4189678441885264503775,-0.3123240835354778588417,\ +-0.6429953452754243459211,0.5746034575341304462270,0.0583200256392587754184,\ +-0.7281504683187327575666,0.4564682359303286474095,1.2276307555220513645367,\ +1.0722151830463704236251,-0.8694353593641974686790,0.4560977429718384712487,\ +0.922397585949679688078,0.3447492619094876808994,-1.2072516069836567442763,\ +-3.0311848873460989217676,-0.5227521113472203273531,-0.9127256852426085531604,\ +0.9702908997340189412029,0.7984557906741573951592,-0.374280495762714437991,\ +0.2178224309624917087724,-0.7621335705740988064605,0.4017588191443041689688,\ +0.0259981222714757570502,-2.250132425948803138738,0.5878367273362664624514,\ +2.3809410297786541832465,0.1486053165381447105364,0.101236219868174881498,\ +0.6421364318076420163450,-0.6540329098904471560871,-0.5416580949191436289425,\ +0.9514918150544823260972,-1.267340977798151469003,-0.8455403103569121281424,\ +-0.364558782701674466420,-1.0697180418170626481356,0.1606013529586497734503,\ +-1.6656989490484364058176,0.4667927145215887141383,-0.0128825329067423742513,\ +0.9947195275346620846335,0.8275102004468978256213,0.2927543106645062453985,\ +-0.9280170868066852651879,-0.3636959897126564866809,1.4783506936052415170479,\ +2.4281448731590140610592,-0.0602106018714212570808,1.541843889601811401491,\ +1.341076792855444343999,-1.9789304036759756133534,-0.3294688652910273685137,\ +0.622286327382227888450,-0.6118557906779339417014,0.7459354816620213934897,\ +-0.4040802511755230974622,0.6577039363065745325443,-0.5486081684530353941298,\ +0.3927975474240214537325,0.7894975295935096060163,-0.1452945797743281086678,\ +0.1437495883505973681693,0.4103084241265512188690,0.1795141291570316322002,\ +-2.0420270362087347137958,-1.0136631446624102537157,-0.6372521675576777733241,\ +-0.2601528835939894701568,1.1986221523039410907785,1.601129898882974078589,\ +-1.2343266797475058726974,0.9483471983582205666607,-0.0424058145973261885198,\ +0.5150673339403005757120,0.0937153808744289607002,0.4638195050716256706558,\ +0.2202932903531656105844,-0.6924450714085558233890,-0.6889026252552187257194,\ +0.4927201161848878685490,0.3688430529148965519859,-0.1495056200185169992256,\ +0.0956460878099940903230,0.8967077311519383586713,0.7486850824131056070243,\ +-0.3635393959060023716390,2.72178097931810514254,0.8872833757746945160250,\ +0.9893578306194498184212,0.8262130885403843327808,1.8679166202704664545564,\ +0.5569566531470352410693,-0.0576405625178402075681,0.8001172842696224751791,\ +0.4480121632350138050072,-0.2882322764074837784243,-0.2677211241656151097246,\ +0.2862315832454170316801,0.9463381000719524038800,-1.574827516423719320215,\ +1.7962971923614798885893,0.9930237578825827915452,1.17225507537484907594,\ +-0.9161863233099263315040,0.1421586828731320473196,-0.1430347256308386882928,\ +-0.4683233849545334614994,-0.3180446316984328336552,-0.0576576190062656410151,\ +0.6249620545306199259628,0.7539731616235149092020,-0.1134181356790778527621,\ +-0.3551074647649283821949,-1.5743164879335251882253,-0.3132427332940839193043,\ +-0.5345549536487770314608,-0.3108292305558989498948,-0.0698678127822071615149,\ +1.9098270701284520978191,0.3087451523556873911325,0.792464324566980904407,\ +-0.7089070907362685636244,-1.69657580301203281259,0.2839165766617411379436,\ +-1.9503478026750964424707,-0.8383432843348773699788,0.4243701560501659808544,\ +1.0206422864827822127864,0.1651260412410127109695,-2.4565661716609770159891,\ +1.3581676364949575308572,1.5976518292284813682613,1.038096252933477403602,\ +-0.2179395863297476365616,0.1906211564102877620286,0.1220518503007956001571,\ +1.7007780598076820410824,2.3461749520518053735429,-0.7583114756702955538969,\ +0.1563580374722161325796,0.9458374821601646109670,1.106385383701591562655,\ +1.857413924600636034867,0.9819266230329063427362,0.1010843883126317094279,\ +-0.0394749928167329941497,0.9565452494078602319050,-1.164240263162510835571,\ +-0.0360262254241734622418,-0.4279483181417821913151,0.0207154879461370518279,\ +0.1331812668838084079415,0.0637098112636336894044,0.5563753726211196903861,\ +2.170691821782472885616,-1.4105863647114469383581,-0.3956456917805734052607,\ +-0.7536155387925271842420,-0.1512156734265959479036,-1.0252674376565367175829,\ +0.9250804906985814479725,0.0319417929504777348138,-0.3662171854280546479110,\ +0.9733260674698945846828,-0.2668109355235854240895,0.9653716053391865337119,\ +0.5007936673782547032374,-0.1208939822530236685161,1.0971085072938426829836,\ +0.2029604338428208087919,0.3746473304704570073120,0.9561076870030955632274,\ +1.1282520720814495085449,1.5637873924930061342309,0.4739411474762828535567,\ +-0.9908999627117486275196,0.4483771591380850130015,0.7638174840760570960541,\ +1.21967084705659489785,-1.1141855892005874117956,0.3637931277318062761594,\ +0.0172116174170295101187,-0.5359859794230503737822,1.7180258735531828140353,\ +-0.4389711879238100133982,-0.5289769194381308548003,-0.2349363816328474963147,\ +-1.770826942434098993928,-0.2698746134406798669048,-1.6219764795098883247704,\ +-0.4683402918639187895167,0.4233140865550635290049,0.5072350201185169549234,\ +1.846909249365268790299,0.8538988411566506009365} + +#define ZSOURCEI {-1.2880264074010461250452,-0.9681461673606511775247,0.8819263929226937026584,\ +-0.2968181427237222558269,0.3676169132810200301797,-1.4546278949302484662098,\ +-0.4969724671301882223950,-1.3684785326259825133377,0.3201951876584711031981,\ +0.0925515282972030062236,-1.3629699188377910612502,1.3008264376880041002238,\ +-1.312881117519760332257,0.7519787618494813141723,-0.349314202941638340949,\ +-0.6612113457421112672208,-0.1912192548186895935114,-0.2871763408135362682927,\ +2.1040662039819300055399,0.6770601919983177952034,-0.9998765495359557275989,\ +1.0320694267454630921321,0.5184250597548623051836,0.3020078279774962016,\ +-0.2426203970909892593255,1.085343122387009806573,0.3728224888143483184422,\ +0.3597109342835585477083,-0.5464095547489105086925,-0.0522892744113094345981,\ +-0.0037796004128336437196,1.3386616898503973516199,-0.8603866811447716811401,\ +-0.215138661778858181206,-0.1519505658345833010170,-0.0684049031594022166614,\ +0.3134237083474871732314,-0.2552970754123656815793,1.0371924512876768975644,\ +-2.4944520251764212837031,-0.9105655292839007763916,-0.5967335487543307115388,\ +-0.6520109300715212219401,1.891233309015407648701,-0.7688305781614098721732,\ +0.1640648747943601049037,-0.613585069751534706306,-0.2234197861121311190491,\ +1.9233974415188206386063,0.315204859780382373735,0.4595542257467975510998,\ +-1.1764564844019769207506,-2.1928435621757311757563,-0.3567337876240649907622,\ +1.4844812942744205486179,0.2127167501638982105572,0.326665566953199926203,\ +-0.3823116465408597508535,1.1195697860125490841199,0.3156195041989769412005,\ +-1.3411228504687704443654,1.2817926351994635147946,-0.8385592799769060468051,\ +0.2920629737538525949603,0.4117329700106473477916,0.8168979807640022183790,\ +0.6114286447089312126479,-0.9103003485572774833301,0.0883797323534893930486,\ +-0.8309636819350860736932,0.300088746736916378577,-0.9870316877320252091366,\ +0.0574605523525985317779,-0.0055294403676948468418,-0.4910286442216560409690,\ +-0.9282905300686704608282,-0.9620222168730435674533,1.5101979946106838248454,\ +0.16215452036647093337,0.8355679951054210130579,0.2598273768449387843837,\ +-0.8781794540671359339257,-0.0960593767304002976726,-0.8457942620552999501982,\ +-1.5126206512504021262089,0.0267016916333849170517,-0.0455102979008666919114,\ +-0.9512410833653791586428,-0.1410038404270228529214,0.8526701417894808621156,\ +-0.5427383894147087550763,0.3670995115141847953133,-0.4196045805115825033660,\ +-0.861511165291383607112,-0.5242638386479363532544,-1.0690056931583220567461,\ +-1.204258995571379831091,-0.1994216356488724417595,-0.651264013076401249158,\ +-1.2804046190990912013064,-0.1189798590125256405603,0.2757828726342566594276,\ +0.1186787898486535430820,-0.9717707229710241811915,-0.2337132662497607982210,\ +-1.2810105417899781965474,0.4516508120864454189913,-1.7941677742351858082515,\ +1.2424962452829722003855,-0.1452111265545129592525,0.803374036348334819024,\ +2.2359407014896999221776,0.0801276770871145183062,0.1489247936009177042394,\ +0.3146211320275099643240,-1.49119197842913098206,-0.8212344459793755602206,\ +-1.3094646972226284820096,-0.2661055404338998897629,0.2164009824597608044883,\ +0.4021554472831923576770,1.0836546525394512574536,-0.8330897968467666503400,\ +-1.2783354864784060023197,1.0944391027576960695455,0.5158321013729825210703,\ +0.5039256424604841022585,-1.1530018443600813515815,0.5567649276400054025871,\ +1.5507245891800580661624,2.0511800424609365478545,0.2003839203406024560561,\ +-0.5188228347179002497569,-0.5014579405716672599880,0.2409475853154263991218,\ +-1.2895515809257553918599,1.3505164949531500706570,-1.7662555890569775485233,\ +0.0695313390316097817978,0.4857809488385180229919,-1.54949381746834280449,\ +-0.5022279078645265348868,-0.4715667339089154030951,0.9071363416804920642988,\ +-0.0090747242741150424550,-1.426140714401586517823,0.0902619806757116310836,\ +-0.7111783918397256432087,0.4421886947944868029303,1.3229936148586256550175,\ +0.0399972677459073389095,-0.2744759605679197855821,-0.6365722011642755973071,\ +0.0838977431731276618310,-0.0154779602574307128399,1.3680369604712516728995,\ +0.8578728691952266505183,0.9477645632263477226687,0.4034044727794333096149,\ +-0.1637512612660888822180,-1.521579761721328916124,0.7389202762668894974851,\ +1.6242287608009475796678,0.0251523200085141500348,-0.2296479198161843759962,\ +0.3374847554612029343346,1.0988696857027278053209,0.6720077941707034430152,\ +1.6284314621145825618953,1.2811365743500131575416,-0.6480287734962971724073,\ +0.4079918994040774293808,-0.6857363255654103095793,0.1644734231427373016832,\ +-0.9707468997532966437092,-1.0103908741767126944211,-0.3245462572729273520444,\ +0.3569008288111439886059,1.1707819570142721232742,0.0931015649413182710958,\ +1.2605162559518456877328,-0.2998099303847839292025,-1.8576048661033506270712,\ +0.3542284165121863948045,-0.3606813370588974332343,-0.1691565053601437607078,\ +-1.3723457158075849093848,-0.3869812789951324605298,1.327934065790971063237,\ +0.6883264291332520379285,1.1636463404567130019984,-1.6679940626595868291560,\ +-1.1660526540945894691248,2.4012435579972462029730,1.8717476066252398680945,\ +0.6269431765551266577674,-0.7276289505214773578601,0.5485159953217271233683,\ +-1.0371187436769986334184,2.282202076649753941240} + +#define ZRESULTR {0.0586345786159515672264,-0.4119079581767730036113,-0.2376773392005311347219,\ +0.5274985111723742292611,-0.3785076402666358030835,-0.0984442400006558665515,\ +-0.5157322835496214175066,0.1877549307968403857760,0.0529309487949000886942,\ +-0.8980782630098248509043,0.1535280327645664466552,0.3347825460369071581823,\ +0.3118103625565722958335,-0.4854100811784345381739,0.4200271027799429846006,\ +0.558160367722654870981,0.3440445808210612077538,-0.9190853850068781971672,\ +-0.2206972238733744262618,-0.3495146734241325048309,-0.3828254526784128919381,\ +0.3837160824181031770763,0.6067122840309074893739,-0.3528285483819846302112,\ +0.2081338122939639656561,-0.3109916924279712002743,0.3607981848765179355709,\ +0.0230220619188065515892,-0.4409843876587154487545,0.6706334235337022553480,\ +0.4476928944367338791821,0.0530051009287677843407,0.0580922710665942171326,\ +0.6889248635636368023327,-0.7403179849986993854571,-0.6014835481325517818618,\ +0.9148458682398055152873,-0.9100406392834269331260,-0.3512629496668798201320,\ +-0.0497281250251861567380,-0.4533232590993708788218,0.1183827451686376569517,\ +-0.5400714293963024825729,0.0986159601519734224651,-0.0080964813496256192449,\ +1.2504251172076377152109,0.553383982176059552316,0.2851532314993195926789,\ +-0.1735373380028721046475,-0.3392884681219434650501,0.6674877635610125814480,\ +0.3361668249120546292374,-0.0103608516149833115860,0.6876886023380593959686,\ +0.2994018975364160506381,-0.5461669463711513738957,-0.3036470157958083837535,\ +0.5659099835134179246054,-0.2522688982901432619421,0.73840604848731461463,\ +-0.1399717847889199173750,0.2285367773899925347703,-0.3073816797691770186240,\ +0.3738323046463303267473,0.6895008314715558306318,-0.0869179912549136179933,\ +0.1045814791078650968226,0.2183617419002600035238,0.1799962512946713666384,\ +-0.4306170362358095471400,-0.956790010441086580251,-0.2988659063401313820130,\ +-0.26528818791890551587,1.2018988344435987958292,0.6134078020904577543959,\ +-0.4635409097157874858119,0.4066731412601408690577,-0.0129216461290907521503,\ +0.5459518490067882812156,0.0551242941387568297085,0.4571890743247491450951,\ +0.1235106929418888221939,-0.8301715333893021631084,-0.3700021952100086553017,\ +0.1433522018206848380739,0.3867313699737674470569,-0.1503114555841373045642,\ +0.0501390172375495365986,1.193524050554648274769,0.3916234392819171183930,\ +-0.2811037877759303138525,0.3767282302151824247005,0.7464338830239950484113,\ +0.4613726054161970124845,0.6177367275920276901147,0.3993738908711506052640,\ +0.2139276426895061200550,-0.0554860078847602203322,0.5165924809229520686671,\ +0.1633124027176871273515,-0.2918709165103665625907,-0.2528080890770357247455,\ +0.2897583915934112130941,0.4021736360794072595581,-0.713539018877845987454,\ +0.3562716257530119112751,0.7547097044407786725628,0.2233423544188815612621,\ +-0.3032157270895312062287,0.1400739703409606129458,-0.0867211925226533952848,\ +-0.0758855325499612903828,-0.3269646450472631915574,-0.0564625318897502212478,\ +0.6090972295195002939039,0.2104281878811394279616,-0.0676285383445118792878,\ +-0.1277092508406163506862,-0.7041149381903939463712,-0.3071683332013411815709,\ +-0.4736979352269045095980,-0.1404550230528205378988,-0.0412179517191962191403,\ +0.3529283428251930310182,0.1380434056063472858522,0.6051661095195016715209,\ +-0.5594498837332433360814,-0.3889971602159096875084,0.2168075281019664068971,\ +-0.3028666557798217473518,-0.1458483340857026078208,0.4293137169051447488144,\ +0.6953697523295457871839,0.1321249855766219449826,-0.4265596445818128912286,\ +0.3486234081846604770938,0.3421608935025099995642,0.2115120471977689209364,\ +-0.2203370156751261743633,0.1545639581145290264441,0.0357922784779254460341,\ +0.5794250482661091883330,0.4312552311016552564205,-0.3727620017605887681178,\ +0.1576377379130869393897,0.2624856474568436071060,1.3577286999442579329411,\ +0.4860182340340697959569,0.7617714539289787145648,0.0366834217396586823035,\ +-0.0394322693273299676453,0.9807192175900326658322,-0.6164954700307514467994,\ +-0.0357893654572665059765,-0.4572287236587250780495,0.0072135289476597582586,\ +0.0765359692550191955673,0.0335408660165012612042,0.4931690601828112585636,\ +0.4939993220457917777466,-0.296325232124018844715,-0.2516901659302647753513,\ +-0.1874945429943649932714,-0.1522841974461120184703,-1.0886404519839611992893,\ +0.8661426586684568551533,0.0144669239838038730245,-0.2498600121525025030689,\ +0.2258303913936256790418,-0.0996627600161344717744,0.5798388843647412915772,\ +0.4402912178536843579302,-0.0821496253311937152386,1.1995498265712831731378,\ +0.1037875988793510867447,0.1808411497687466285011,0.9003994950861190504909,\ +0.8693703906397208802659,0.3871229651004495231348,0.5084262016718109622460,\ +-0.3127921352240150554280,0.4284515458646944163768,0.1566612259199449408431,\ +0.8425254932446538669311,-0.8675086878856705929763,0.3679908151081396905369,\ +0.0059690185652748976169,-0.4818927853047598741654,0.3475368987720111602080,\ +-0.2928677403656957944911,-0.21281918945471237081,-0.0615315656203920743894,\ +-0.3828854358877186170318,-0.0395445045895176927608,-0.2453056840726963727661,\ +-0.3319274210060903507191,0.2716611153754885932265,0.3885772436850290501020,\ +0.4083161225294907326067,0.1256636073410991871757} + +#define ZRESULTI {-0.9150826723701824816359,-1.0038007968241344780580,0.7761168535216221853190,\ +-0.3822213477951738047622,0.4088073079437265500147,-0.9829838814461281382151,\ +-0.6207924428978939257462,-0.9924436424002488488227,0.3107781745847606469368,\ +0.190823563908477877860,-0.9717930993017909191423,1.1362832817249874928223,\ +-1.0952400709881249252220,0.8906629459042527674484,-0.4031733379746096357366,\ +-0.8926214809458651311402,-0.2125955165236021182640,-1.1626545105534673574255,\ +1.4098114180999468114663,0.6875898477221956683891,-0.9827065462915589577619,\ +1.0122682558571856059615,0.7403338169936454216113,0.3329978318477040399870,\ +-0.2487126175192662380642,0.9535461622187894059621,0.4086259224331897366156,\ +0.3454903551399998162807,-1.4480476267508943788442,-0.0795552773231696652712,\ +-1.5699867995861691571946,0.9329922799220887741356,-0.7134073946597112581003,\ +-0.3357762973784728099957,-0.2527252112264842809353,-0.0962463379406888058787,\ +0.7882465889811950399135,-1.2456800812145352175264,0.9674854545265952898703,\ +-1.1957951138140576752278,-1.0308375326751320066876,-0.5464592420922904647540,\ +-1.3032325007401501792970,1.1035601617683621356036,-0.6554945586705149818130,\ +0.8103435172856551238496,-0.8103372317467707475203,-0.2385573277010208381732,\ +1.1587938021757215878438,0.3435431890072572769235,1.279788873802896409515,\ +-1.3915550484745486947702,-1.143175630086853633571,-1.3493948361964505089361,\ +1.180878018812092644652,1.4994549779312595916281,0.3471363780379303487500,\ +-0.5114436565324694816681,0.922077454999635448551,0.5359370502466848096290,\ +-0.9575622722618749582679,0.9840232928412098178939,-0.7866361736794498238368,\ +0.3275153905103054818859,0.6621644080795368036974,0.6911787537867797315272,\ +0.5555203262090003812901,-0.7845741854114917090968,0.0910458923193785268912,\ +-1.367532424689007264362,0.8821163892946874973688,-0.8805618815721650838313,\ +0.0615381817744835926676,-1.5581379012861951149915,-1.3216226160366340014463,\ +-1.1059140418930615279436,-0.9879008462145800750775,0.986169123983388073995,\ +0.2146596902165759102044,0.6986026791593697993221,0.3134566221055383739014,\ +-0.7342575229927524871343,-0.1797145584041555665955,-0.8413107892059722425770,\ +-1.019619130948550722593,0.0308925093685123823561,-0.0465149720271331584831,\ +-0.7628135267341744629732,-0.5063811875785856342347,0.8689285269800102184945,\ +-0.5424489267017504889878,1.5149231207825908374076,-0.7635699257253423244407,\ +-0.9835608360649982229162,-0.7651335213236122312352,-1.3047698554262849857110,\ +-0.9383103802342007693227,-0.1974540431056293898759,-0.8100733516290339331078,\ +-0.9439058311312691351702,-0.1288637100697393178539,0.2871927052822376702501,\ +0.1283857487876574610119,-0.9893521517129132414325,-1.4229736910621084700068,\ +-1.278268082403663186142,0.88910168768678732309,-1.1784373117164359534570,\ +1.03935358865908744619,-0.1470722349218777647017,0.6828818013490814964328,\ +1.1635383473949738597497,0.0888393991592487247688,0.1483135488190464867930,\ +0.4446342289575472839225,-1.055940453660143329984,-0.6913288042725108661912,\ +-0.9407243087808065951094,-1.4053508981321376491991,0.2342864098211708545616,\ +0.4844410101414913238926,0.8475776035888460402390,-0.6960123633858344982528,\ +-1.3016421578221382127083,0.8519589639880413844963,0.7342440505866469901974,\ +0.6668635124458689444893,-1.2591545397069716649696,0.535024814500131951078,\ +1.30226369708141054282,1.1661057476987222170095,0.2373787574293542146364,\ +-0.9309471081116736934646,-0.4736579850459717855315,1.5236251088004300058287,\ +-1.171065543003733777638,1.2334327135159162125433,-1.153213069447322158823,\ +0.0728510737378383066432,0.4639741641063248600574,-0.9996734202650466860618,\ +-1.3518108187607991155232,-1.4723273061328936428538,0.8933558949405833171653,\ +-0.0093018535376701225181,-1.0826576750905823054438,1.2404141733855511553486,\ +-1.3465428092378513014182,0.8747309046321107839361,0.9253397074562169644096,\ +0.0400381835355557713640,-0.7765785126027255902414,-1.0546807717631738743336,\ +0.0838092326986521196641,-0.0189446011407611511479,0.9396543988269212555053,\ +0.7141040044798073749277,0.7596541492574908627233,0.4957818734457210552158,\ +-1.5271090619693206136276,-1.1987057982776780917789,0.6860846415801318265437,\ +1.0836815939774062655943,0.0257348439490480244973,-0.8966457616590515211641,\ +0.7629454929184202871539,0.8326995831057554253718,0.6358947917453465770166,\ +1.122174794910343109677,0.9210086183100237855470,-0.9179542949015334629692,\ +0.4753128844824887067055,-0.6057418122474197419436,1.0912054352763760345368,\ +-0.7811598998629154522177,-0.8252118132068452238670,-0.8003932093064218822320,\ +1.040963230413896711823,1.2239764586679500180111,0.1191234084420016575701,\ +1.064003892301497833373,-0.3509788166940612241795,-1.1278108079499422622405,\ +1.1420720075136889803957,-1.0231852297083139369249,-0.1916370368791805167685,\ +-0.941129540386991148004,-0.4709650954727132576849,1.2604683484747309929475,\ +0.6665567013842946808566,0.9183588395793375047660,-1.0371195264398431756803,\ +-1.276620042706810842503,1.1799805845600985776400,1.255793767839696428723,\ +0.6354974793467924598644,-0.6865980682751140484754,0.5939555774818401356896,\ +-1.3024651432778990844952,1.197724373266410013983} + +#define RESULT {-1.4744610660983759053977,-3.2795029213225106445861,0.2422041646840577544531,\ +-0.5752297863073998485106,0.7121630945985538696519,0.4243803995861772371256,\ +-0.1906833812311178877330,0.3372689843733094883227,0.5416475837340712917722,\ +-0.5861506043378337249550,-0.2077349615310257191503,-0.8651650049502660477785,\ +-1.0241615832881652004005,-0.6504743749122398055462,-0.5519965631116492410513,\ +-0.4691302795139216663678,0.4584432136447526562328,0.9076183700076346783092,\ +0.9185087029260963209509,0.1102422571172131521289,-0.0648124440153749203919,\ +0.0281882007066550886731,0.1358484485857832935185,2.1004370090239423696232,\ +1.0924991774831627200371,-0.8060125587957032156083,1.0172227264061333151801,\ +1.736042493622687921118,-0.1863533018119427342452,-0.7549561185313359290561,\ +-0.4614170985204111286038,0.3046041145449288611857,-1.8166306469319770666715,\ +-0.9326970536559181512715,3.1325332888309622703105,-1.3792397781139973389486,\ +-1.5415589891296013203004,-0.0171150886014554831638,-0.6712634278717346525411,\ +0.1296776288627018158817,0.7449048409492748934468,-0.8355728364335629487769,\ +1.0237167786809893144095,-0.4002250855702985665729,0.5275261647661907415952,\ +-0.6365188485604326151801,0.593818237113303393215,-1.1086074290970830968917,\ +0.5559215037224033428842,-1.4188800488983950298660,-0.2030109524350925953584,\ +-1.2109116806527058241016,-0.618648185057067423465,-0.4406726279385401179312,\ +0.0807360417981298622569,1.3710194541092590725384,0.0358784527834248925804,\ +-1.041372191940861169357,0.1478800901804916689830,1.1035975394582797637355,\ +1.8759258138597765253053,0.2629805384285096581110,0.6430289187352878910175,\ +-0.5660273762902281458054,-1.5862221930864266461469,0.1695819872689824647782,\ +1.7267400811821158601589,0.8547625432037965209631,0.5402035003963170378682,\ +1.4525009288261496731565,0.5539201036322172200244,-0.1844324167806210001963,\ +-0.8089386385243267918455,0.2955667016509896383170,0.0313028129649670083801,\ +0.7108684384800065814147,-1.0383547009634652713572,1.4799479994581337116699,\ +0.0442526991314810200229,0.6878256510027744852209,-0.8434557413354200061661,\ +-1.1364652701643074284021,-0.1306969520152806707447,0.6762452782098172798797,\ +1.005717225984443130571,-1.5273278613167085016045,1.2461250150575873263392,\ +-0.4763639926970618110325,-1.0549712063383256399618,1.5370414589157994633695,\ +-2.6233309837037732670240,0.5329709825316656379712,0.0656342963912304455665,\ +-0.3044404175419783142864,0.7166384348283165728333,-0.4277478080499193535680,\ +0.6675457063378462674308,-0.6224892627320329774321,-0.2853073726746037097612,\ +0.4474264519637772830052,-0.5733611255013777441292,-0.8489115589330021860448,\ +1.4767492874056193929988,0.4675865941091252309114,0.7215105644264150352996,\ +-0.2485372004835029458025,0.9533893539015392271097,0.9949139163386880868600,\ +-0.2888754177942080558772,0.0572963634231402757502,-0.3080752338091528041986,\ +0.3183705746036424866219,-1.7375264548714035583998,-0.5142166878802835183748,\ +0.4672787235144033601841,-1.2044507032201230423141,-0.5343152701155061690130,\ +-0.6759512002250491757849,-0.3426510354825004212032,0.7655602779397917556636,\ +1.3065460037453791031226,-0.1368747459554155443406,1.4390524672743967293798,\ +-0.4067781526762131449892,-1.4774318344439005823432,-0.8024889348769219665769,\ +1.1393982155849557980076,-0.9552396245178285116850,-0.9598461538853348962164,\ +-0.8974087416560057040016,1.5281783215878395054688,0.7019410287263873060581,\ +0.6105122611902852325372,-0.8280825291376695540535,-0.2271580885894484980181,\ +-0.0995012215536074662303,-2.6596162554083884188572,-0.9212932842045244985485,\ +-0.6502044836894653734305,0.6158791818865629874580,-0.2693325220287110521866,\ +-0.5507689268125864900938,-0.6719415444836209783119,-0.9911235054617995032800,\ +-0.4076140317144636981972,-0.0225238830066269123120,-1.8597701914697917224828,\ +0.7233360518064337885136,1.0977027535066357089022,-0.1558800560054872108573,\ +1.0623189198966227486665,-0.8575163748144335462698,-0.463854325361329367094,\ +0.7064828873383774965333,0.2713587745389601235679,-0.3287316374977890531817,\ +-1.6421667900158274377986,-0.8609439745036365776443,0.0106829139117793642938,\ +1.092393189014539744974,1.9620237692362385573119,0.8200147353723576948425,\ +0.0691827011392311119753,-0.6229915735462322468052,-0.2657062181808059753152,\ +0.8160024961656430209089,-0.4894047987117864928486,0.8587006143920951073412,\ +1.1051698569402153005115,-0.2701243583599451381083,-1.1113900272171266525589,\ +0.2908920738530955119039,0.1172101729688146409813,3.2706795664298211612220,\ +0.4518615589828762768576,0.7020915980292293800957,-0.8787256719819279693340,\ +-0.9538277279422371357498,-0.7330177387440419689568,-0.0441506837064596646680,\ +-0.8308242272476199508091,0.2915116980546684222197,0.2550214973106580407247,\ +0.1576133484131722883870,-2.8460534045826286764225,-0.768075815339287371053,\ +-0.4181165627609883528315,-0.5448685867460187903788,0.3158443034854154785052,\ +0.0051109317177532613205,0.3613121056785816853640,0.5080216801947243787652,\ +-0.5233928099098102970643,-0.5953313420807592182271,0.5535880446904775098460,\ +1.842839548963430384987,-0.6411995769353845409100,-0.2922619465382557679689,\ +0.1441406428551997020993,1.6252679142635939602002} void datanhsTest() { - printf(">> Double scalar\n"); - printf("datanhs(0) = %e\n", datanhs((double) 0)); - printf("datanhs(PI) = %e\n", datanhs(DPI)); - printf("datanhs(PI/2) = %e\n", datanhs(DPI/2)); - printf("datanhs(PI/3) = %e\n", datanhs(DPI/3)); - printf("datanhs(PI/4) = %e\n", datanhs(DPI/4)); - printf("datanhs(PI/6) = %e\n", datanhs(DPI/6)); - printf("datanhs(-PI) = %e\n", datanhs(-DPI)); - printf("datanhs(-PI/2) = %e\n", datanhs(-DPI/2)); - printf("datanhs(-PI/3) = %e\n", datanhs(-DPI/3)); - printf("datanhs(-PI/4) = %e\n", datanhs(-DPI/4)); - printf("datanhs(-PI/6) = %e\n", datanhs(-DPI/6)); + double in[]= SOURCE; + double res[]= RESULT; + double out; + int i=0; + + for (i=0;i<200;i++){ + out=datanhs(in[i]); + if (disnans(out)) assert(1); + else { + assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-15); + } + } +} + +void zatanhsTest() { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=DoubleComplex(inR[i],inI[i]); + out=zatanhs(in); + assert( ( (fabs(zreals(out)-resR[i])) / (fabs(zreals(out))) ) <1e-15); + assert( ( (fabs(zimags(out)-resI[i])) / (fabs(zimags(out))) ) <1e-15); + } } +void datanhaTest(void) { + double in[]= SOURCE; + double res[]=RESULT; + double out[200]; + int i=0; + + datanha(in,200,out); + for (i=0;i<200;i++){ + if (disnans(out[i])) assert(1); + else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-15); + } +} + +void zatanhaTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zatanha(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 testAtanh() { printf("\n>>>> Double Hyperbolic Arctangeant Tests\n"); datanhsTest(); - /* FIXME : Implement some test here ... */ - /* - zatanhsTest(); - datanhaTest(); - zatanhaTest(); - */ + zatanhsTest(); + datanhaTest(); + zatanhaTest(); return 0; } diff --git a/src/elementaryFunctions/atanh/testFloatAtanh.c b/src/elementaryFunctions/atanh/testFloatAtanh.c index c9ae9f13..fe929721 100644 --- a/src/elementaryFunctions/atanh/testFloatAtanh.c +++ b/src/elementaryFunctions/atanh/testFloatAtanh.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 @@ -11,31 +11,586 @@ */ #include "testAtanh.h" +#include "isnan.h" + + +#define SOURCE {-1.1105866164187250255679f,-1.0028386111936116176224f,0.2375765916352992890292f,\ +-1.9260782734203465427214f,1.6339029335662884623304f,0.4006142544568777608127f,\ +-0.1884054141613809019162f,0.3250370808239260722594f,0.4942341130822986983162f,\ +-0.5271214361991748420522f,-0.2047974713791562706433f,-0.6989092545405519718571f,\ +-0.7715561486980614391840f,-0.571989225566208348006f,-0.5020150984917894909643f,\ +-2.2857334641783242368263f,2.332010485133160226923f,1.3889136138977253853710f,\ +1.3789467621494246873937f,0.1097978131481585906126f,-0.0647218447158609960779f,\ +0.0281807372021152316433f,0.1350188864488831574917f,1.0304207301469319180143f,\ +1.2534650597477734468299f,-0.6673847151191693027883f,0.7687329161404042876526f,\ +0.9397659613234893294376f,-0.1842256540708016310237f,-0.6380964000421092130466f,\ +-0.4312384814994691395462f,0.2955203345655439961526f,-0.9485014036835781592316f,\ +-0.7318488744075331009498f,1.0038104194654713374746f,-1.1353561092070965088396f,\ +-1.0960321876977914268281f,-0.0171134176442899188508f,-0.5858103496627128370378f,\ +0.1289555865425900393895f,1.5820296359767425098397f,-1.4631497998103890623156f,\ +1.2963845181574007447978f,-0.3801415377268548834166f,2.06830447887869084411f,\ +-0.5625246161593648874799f,0.5326361661049561213588f,-1.2444472935191353002438f,\ +1.98041335297601972520f,-1.1243976757801756871658f,-0.2002672475586080858001f,\ +-0.8369527550627472445299f,-0.5501861155367867572963f,-0.4142018271607930679501f,\ +0.0805610771656549429220f,1.1377543872793591805959f,0.0358630657002049213489f,\ +-0.7784293535508046701921f,0.1468114639619267913773f,0.8017875463824070125796f,\ +0.9541283226908341408290f,0.2570812112878080313294f,0.5669583797452802942374f,\ +-0.5124357940757415796895f,-1.0874670623228419596984f,0.1679748561443953069894f,\ +1.0653376770396050243761f,1.4418584607257751706300f,0.4931419934636970814346f,\ +0.8961862868877283894165f,1.9862847823434610639026f,-0.1823693074986679762972f,\ +-1.4947586037652456081304f,0.2872503175279246256935f,0.0312925927822978733328f,\ +0.6112211190486463996407f,-0.7772375221664085120921f,1.1093137211625221372202f,\ +0.0442238350338455751820f,1.6762117307909378816078f,-0.6876351157010545112058f,\ +-1.22967891951066876643f,-0.1299578267276684795384f,1.6975824415216096419101f,\ +1.308926550069704708434f,-1.098941911191897657929f,0.8471934585094353931112f,\ +-0.4433269337102597185130f,-0.7837315591442685080992f,0.9116218827858540985076f,\ +-1.0105858633572861737804f,0.4876488481804939212338f,0.0655402107055627763943f,\ +-0.2953709263667435580558f,0.6148227532021686148056f,-0.4034374023520052587877f,\ +0.5833631341612930398810f,-0.5528588193199002187583f,-0.2778100246524093375200f,\ +2.382193101614083818873f,-0.5178234271111435971235f,-0.6905004153871671102038f,\ +1.1100538942612350190586f,0.4362472672541874985086f,1.6185312525007526929244f,\ +-0.2435431173062182208522f,1.3489566990051822248375f,0.7594498437474611618470f,\ +-0.2810994191894010674204f,0.0572337467470783664569f,-0.2986850540752242211262f,\ +0.3080328437634018978741f,-1.063898707867213300204f,-0.4732241206771939379117f,\ +0.4359979545522715271844f,-1.1975945596394972358922f,-2.0463590761656762495591f,\ +-1.6981361097863292286547f,-0.3298420709745075729558f,0.6443404115154376388119f,\ +1.1582132747946760620295f,-0.1360263343598554774960f,1.1191856336437415730956f,\ +-0.3857336264473540388131f,-0.9009857125105711350699f,-0.6654259233895634118028f,\ +0.8142113557520732625150f,-0.7421459588282103281287f,-0.7442082361451903826932f,\ +-0.7150337980929084569226f,0.9101123379002086233314f,1.6512593716591941195304f,\ +0.5444875921569681809231f,-1.4717893200735545633506f,-0.2233299046672752585785f,\ +-0.0991741463892287511417f,-0.9902546973703609811679f,-1.376446086882661790085f,\ +-1.7488399727971684072259f,1.8239775508132596293365f,-0.2630036367047015599674f,\ +-0.5010962842642737724574f,-0.5862555775092695986572f,-1.3195380346103915414346f,\ +-0.3864449051827200110054f,-0.0225200748008141174439f,-0.9526576040369814091235f,\ +1.6155833271255157779223f,1.2505121957121025921822f,-0.1546296525315759562424f,\ +0.7865497689541539605429f,-0.6949758322935190024694f,-0.4332203785337710999492f,\ +0.6084666055394067907258f,0.2648887243137521552150f,-0.3173806367287662633103f,\ +-0.9277748648924035723695f,-0.6967437125955047161341f,0.0106825075357279020843f,\ +0.7977499585474604471003f,0.9612439572909651230859f,0.6750778949370804804531f,\ +0.0690725368983376858401f,-1.8076399886892613455558f,-0.2596249600654364497743f,\ +0.6728882350569161951981f,-0.4537439012069451327314f,0.695587590556807633391f,\ +1.2463414096089968641223f,-0.2637405473740589423315f,-0.8045531944567444471161f,\ +0.2829556705817293793537f,0.1166763530431780965246f,1.0028892209395869894450f,\ +0.4234280063942446603598f,0.6056937191431178701961f,-1.4168714241399820163991f,\ +-0.7415110426654055730822f,-1.6002352979874459038001f,-0.0441220186662526561716f,\ +-0.6809183287313597121582f,0.2835255852521558761481f,0.2496331067144885174081f,\ +0.1563210463282909690186f,-1.006767784835231216434f,-0.6458091780006059989816f,\ +-2.529451976430145521135f,-0.4966644528621277365765f,0.3057445000796202294602f,\ +0.0051108872162743653259f,0.3463692486733729314352f,0.4684023556979828861735f,\ +-2.0819698824296395400779f,-1.8736446723365958177965f,0.5032045449115828406050f,\ +1.0514506638411960093293f,-0.5657157774822674234372f,-0.2842153768346438180714f,\ +0.1431506224954579853392f,1.0806316268163596028273f} + +#define RESULT {-1.4744610660983759053977f,-3.2795029213225106445861f,0.2422041646840577544531f,\ +-0.5752297863073998485106f,0.7121630945985538696519f,0.4243803995861772371256f,\ +-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\ +-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\ +-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\ +-0.4691302795139216663678f,0.4584432136447526562328f,0.9076183700076346783092f,\ +0.9185087029260963209509f,0.1102422571172131521289f,-0.0648124440153749203919f,\ +0.0281882007066550886731f,0.1358484485857832935185f,2.1004370090239423696232f,\ +1.0924991774831627200371f,-0.8060125587957032156083f,1.0172227264061333151801f,\ +1.736042493622687921118f,-0.1863533018119427342452f,-0.7549561185313359290561f,\ +-0.4614170985204111286038f,0.3046041145449288611857f,-1.8166306469319770666715f,\ +-0.9326970536559181512715f,3.1325332888309622703105f,-1.3792397781139973389486f,\ +-1.5415589891296013203004f,-0.0171150886014554831638f,-0.6712634278717346525411f,\ +0.1296776288627018158817f,0.7449048409492748934468f,-0.8355728364335629487769f,\ +1.0237167786809893144095f,-0.4002250855702985665729f,0.5275261647661907415952f,\ +-0.6365188485604326151801f,0.593818237113303393215f,-1.1086074290970830968917f,\ +0.5559215037224033428842f,-1.4188800488983950298660f,-0.2030109524350925953584f,\ +-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\ +0.0807360417981298622569f,1.3710194541092590725384f,0.0358784527834248925804f,\ +-1.041372191940861169357f,0.1478800901804916689830f,1.1035975394582797637355f,\ +1.8759258138597765253053f,0.2629805384285096581110f,0.6430289187352878910175f,\ +-0.5660273762902281458054f,-1.5862221930864266461469f,0.1695819872689824647782f,\ +1.7267400811821158601589f,0.8547625432037965209631f,0.5402035003963170378682f,\ +1.4525009288261496731565f,0.5539201036322172200244f,-0.1844324167806210001963f,\ +-0.8089386385243267918455f,0.2955667016509896383170f,0.0313028129649670083801f,\ +0.7108684384800065814147f,-1.0383547009634652713572f,1.4799479994581337116699f,\ +0.0442526991314810200229f,0.6878256510027744852209f,-0.8434557413354200061661f,\ +-1.1364652701643074284021f,-0.1306969520152806707447f,0.6762452782098172798797f,\ +1.005717225984443130571f,-1.5273278613167085016045f,1.2461250150575873263392f,\ +-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\ +-2.6233309837037732670240f,0.5329709825316656379712f,0.0656342963912304455665f,\ +-0.3044404175419783142864f,0.7166384348283165728333f,-0.4277478080499193535680f,\ +0.6675457063378462674308f,-0.6224892627320329774321f,-0.2853073726746037097612f,\ +0.4474264519637772830052f,-0.5733611255013777441292f,-0.8489115589330021860448f,\ +1.4767492874056193929988f,0.4675865941091252309114f,0.7215105644264150352996f,\ +-0.2485372004835029458025f,0.9533893539015392271097f,0.9949139163386880868600f,\ +-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\ +0.3183705746036424866219f,-1.7375264548714035583998f,-0.5142166878802835183748f,\ +0.4672787235144033601841f,-1.2044507032201230423141f,-0.5343152701155061690130f,\ +-0.6759512002250491757849f,-0.3426510354825004212032f,0.7655602779397917556636f,\ +1.3065460037453791031226f,-0.1368747459554155443406f,1.4390524672743967293798f,\ +-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\ +1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\ +-0.8974087416560057040016f,1.5281783215878395054688f,0.7019410287263873060581f,\ +0.6105122611902852325372f,-0.8280825291376695540535f,-0.2271580885894484980181f,\ +-0.0995012215536074662303f,-2.6596162554083884188572f,-0.9212932842045244985485f,\ +-0.6502044836894653734305f,0.6158791818865629874580f,-0.2693325220287110521866f,\ +-0.5507689268125864900938f,-0.6719415444836209783119f,-0.9911235054617995032800f,\ +-0.4076140317144636981972f,-0.0225238830066269123120f,-1.8597701914697917224828f,\ +0.7233360518064337885136f,1.0977027535066357089022f,-0.1558800560054872108573f,\ +1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\ +0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\ +-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\ +1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\ +0.0691827011392311119753f,-0.6229915735462322468052f,-0.2657062181808059753152f,\ +0.8160024961656430209089f,-0.4894047987117864928486f,0.8587006143920951073412f,\ +1.1051698569402153005115f,-0.2701243583599451381083f,-1.1113900272171266525589f,\ +0.2908920738530955119039f,0.1172101729688146409813f,3.2706795664298211612220f,\ +0.4518615589828762768576f,0.7020915980292293800957f,-0.8787256719819279693340f,\ +-0.9538277279422371357498f,-0.7330177387440419689568f,-0.0441506837064596646680f,\ +-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\ +0.1576133484131722883870f,-2.8460534045826286764225f,-0.768075815339287371053f,\ +-0.4181165627609883528315f,-0.5448685867460187903788f,0.3158443034854154785052f,\ +0.0051109317177532613205f,0.3613121056785816853640f,0.5080216801947243787652f,\ +-0.5233928099098102970643f,-0.5953313420807592182271f,0.5535880446904775098460f,\ +1.842839548963430384987f,-0.6411995769353845409100f,-0.2922619465382557679689f,\ +0.1441406428551997020993f,1.6252679142635939602002f} +/* +#define RESULT2 {-1.4744610660983759053977+%i*1.5707963267948965579990f,\ +-3.2795029213225106445861+%i*1.5707963267948965579990f,0.2422041646840577544531f,\ +-0.5752297863073998485106+%i*1.5707963267948965579990f,\ +0.7121630945985538696519-%i*1.5707963267948965579990f,0.4243803995861772371256f,\ +-0.1906833812311178877330f,0.3372689843733094883227f,0.5416475837340712917722f,\ +-0.5861506043378337249550f,-0.2077349615310257191503f,-0.8651650049502660477785f,\ +-1.0241615832881652004005f,-0.6504743749122398055462f,-0.5519965631116492410513f,\ +-0.4691302795139216663678+%i*1.5707963267948965579990f,\ +0.4584432136447526562328-%i*1.5707963267948965579990f,\ +0.9076183700076346783092-%i*1.5707963267948965579990f,\ +0.9185087029260963209509-%i*1.5707963267948965579990f,0.1102422571172131521289f,\ +-0.0648124440153749203919f,0.0281882007066550886731f,0.1358484485857832935185f,\ +2.1004370090239423696232-%i*1.5707963267948965579990f,\ +1.0924991774831627200371-%i*1.5707963267948965579990f,-0.8060125587957032156083f,\ +1.0172227264061333151801f,1.736042493622687921118f,-0.1863533018119427342452f,\ +-0.7549561185313359290561f,-0.4614170985204111286038f,0.3046041145449288611857f,\ +-1.8166306469319770666715f,-0.9326970536559181512715f,\ +3.1325332888309622703105-%i*1.5707963267948965579990f,\ +-1.3792397781139973389486+%i*1.5707963267948965579990f,\ +-1.5415589891296013203004+%i*1.5707963267948965579990f,-0.0171150886014554831638f,\ +-0.6712634278717346525411f,0.1296776288627018158817f,\ +0.7449048409492748934468-%i*1.5707963267948965579990f,\ +-0.8355728364335629487769+%i*1.5707963267948965579990f,\ +1.0237167786809893144095-%i*1.5707963267948965579990f,-0.4002250855702985665729f,\ +0.5275261647661907415952-%i*1.5707963267948965579990f,-0.6365188485604326151801f,\ +0.593818237113303393215f,-1.1086074290970830968917+%i*1.5707963267948965579990f,\ +0.5559215037224033428842-%i*1.5707963267948965579990f,\ +-1.4188800488983950298660+%i*1.5707963267948965579990f,-0.2030109524350925953584f,\ +-1.2109116806527058241016f,-0.618648185057067423465f,-0.4406726279385401179312f,\ +0.0807360417981298622569f,1.3710194541092590725384-%i*1.5707963267948965579990f,\ +0.0358784527834248925804f,-1.041372191940861169357f,0.1478800901804916689830f,\ +1.1035975394582797637355f,1.8759258138597765253053f,0.2629805384285096581110f,\ +0.6430289187352878910175f,-0.5660273762902281458054f,\ +-1.5862221930864266461469+%i*1.5707963267948965579990f,0.1695819872689824647782f,\ +1.7267400811821158601589-%i*1.5707963267948965579990f,\ +0.8547625432037965209631-%i*1.5707963267948965579990f,0.5402035003963170378682f,\ +1.4525009288261496731565f,0.5539201036322172200244-%i*1.5707963267948965579990f,\ +-0.1844324167806210001963f,-0.8089386385243267918455+%i*1.5707963267948965579990f,\ +0.2955667016509896383170f,0.0313028129649670083801f,0.7108684384800065814147f,\ +-1.0383547009634652713572f,1.4799479994581337116699-%i*1.5707963267948965579990f,\ +0.0442526991314810200229f,0.6878256510027744852209-%i*1.5707963267948965579990f,\ +-0.8434557413354200061661f,-1.1364652701643074284021+%i*1.5707963267948965579990f,\ +-0.1306969520152806707447f,0.6762452782098172798797-%i*1.5707963267948965579990f,\ +1.005717225984443130571-%i*1.5707963267948965579990f,\ +-1.5273278613167085016045+%i*1.5707963267948965579990f,1.2461250150575873263392f,\ +-0.4763639926970618110325f,-1.0549712063383256399618f,1.5370414589157994633695f,\ +-2.6233309837037732670240+%i*1.5707963267948965579990f,0.5329709825316656379712f,\ +0.0656342963912304455665f,-0.3044404175419783142864f,0.7166384348283165728333f,\ +-0.4277478080499193535680f,0.6675457063378462674308f,-0.6224892627320329774321f,\ +-0.2853073726746037097612f,0.4474264519637772830052-%i*1.5707963267948965579990f,\ +-0.5733611255013777441292f,-0.8489115589330021860448f,\ +1.4767492874056193929988-%i*1.5707963267948965579990f,0.4675865941091252309114f,\ +0.7215105644264150352996-%i*1.5707963267948965579990f,-0.2485372004835029458025f,\ +0.9533893539015392271097-%i*1.5707963267948965579990f,0.9949139163386880868600f,\ +-0.2888754177942080558772f,0.0572963634231402757502f,-0.3080752338091528041986f,\ +0.3183705746036424866219f,-1.7375264548714035583998+%i*1.5707963267948965579990f,\ +-0.5142166878802835183748f,0.4672787235144033601841f,\ +-1.2044507032201230423141+%i*1.5707963267948965579990f,\ +-0.5343152701155061690130+%i*1.5707963267948965579990f,\ +-0.6759512002250491757849+%i*1.5707963267948965579990f,-0.3426510354825004212032f,\ +0.7655602779397917556636f,1.3065460037453791031226-%i*1.5707963267948965579990f,\ +-0.1368747459554155443406f,1.4390524672743967293798-%i*1.5707963267948965579990f,\ +-0.4067781526762131449892f,-1.4774318344439005823432f,-0.8024889348769219665769f,\ +1.1393982155849557980076f,-0.9552396245178285116850f,-0.9598461538853348962164f,\ +-0.8974087416560057040016f,1.5281783215878395054688f,\ +0.7019410287263873060581-%i*1.5707963267948965579990f,0.6105122611902852325372f,\ +-0.8280825291376695540535+%i*1.5707963267948965579990f,-0.2271580885894484980181f,\ +-0.0995012215536074662303f,-2.6596162554083884188572f,\ +-0.9212932842045244985485+%i*1.5707963267948965579990f,\ +-0.6502044836894653734305+%i*1.5707963267948965579990f,\ +0.6158791818865629874580-%i*1.5707963267948965579990f,-0.2693325220287110521866f,\ +-0.5507689268125864900938f,-0.6719415444836209783119f,\ +-0.9911235054617995032800+%i*1.5707963267948965579990f,-0.4076140317144636981972f,\ +-0.0225238830066269123120f,-1.8597701914697917224828f,\ +0.7233360518064337885136-%i*1.5707963267948965579990f,\ +1.0977027535066357089022-%i*1.5707963267948965579990f,-0.1558800560054872108573f,\ +1.0623189198966227486665f,-0.8575163748144335462698f,-0.463854325361329367094f,\ +0.7064828873383774965333f,0.2713587745389601235679f,-0.3287316374977890531817f,\ +-1.6421667900158274377986f,-0.8609439745036365776443f,0.0106829139117793642938f,\ +1.092393189014539744974f,1.9620237692362385573119f,0.8200147353723576948425f,\ +0.0691827011392311119753f,-0.6229915735462322468052+%i*1.5707963267948965579990f,\ +-0.2657062181808059753152f,0.8160024961656430209089f,-0.4894047987117864928486f,\ +0.8587006143920951073412f,1.1051698569402153005115-%i*1.5707963267948965579990f,\ +-0.2701243583599451381083f,-1.1113900272171266525589f,0.2908920738530955119039f,\ +0.1172101729688146409813f,3.2706795664298211612220-%i*1.5707963267948965579990f,\ +0.4518615589828762768576f,0.7020915980292293800957f,\ +-0.8787256719819279693340+%i*1.5707963267948965579990f,-0.9538277279422371357498f,\ +-0.7330177387440419689568+%i*1.5707963267948965579990f,-0.0441506837064596646680f,\ +-0.8308242272476199508091f,0.2915116980546684222197f,0.2550214973106580407247f,\ +0.1576133484131722883870f,-2.8460534045826286764225+%i*1.5707963267948965579990f,\ +-0.768075815339287371053f,-0.4181165627609883528315+%i*1.5707963267948965579990f,\ +-0.5448685867460187903788f,0.3158443034854154785052f,0.0051109317177532613205f,\ +0.3613121056785816853640f,0.5080216801947243787652f,\ +-0.5233928099098102970643+%i*1.5707963267948965579990f,\ +-0.5953313420807592182271+%i*1.5707963267948965579990f,0.5535880446904775098460f,\ +1.842839548963430384987-%i*1.5707963267948965579990f,-0.6411995769353845409100f,\ +-0.2922619465382557679689f,0.1441406428551997020993f,\ +1.6252679142635939602002-%i*1.5707963267948965579990f} +*/ +#define CSOURCER {0.1566312085376346807664f,-0.9832172164912469369824f,-0.4352704306190940952703f,\ +0.5411529581857100756892f,-0.4189678441885264503775f,-0.3123240835354778588417f,\ +-0.6429953452754243459211f,0.5746034575341304462270f,0.0583200256392587754184f,\ +-0.7281504683187327575666f,0.4564682359303286474095f,1.2276307555220513645367f,\ +1.0722151830463704236251f,-0.8694353593641974686790f,0.4560977429718384712487f,\ +0.922397585949679688078f,0.3447492619094876808994f,-1.2072516069836567442763f,\ +-3.0311848873460989217676f,-0.5227521113472203273531f,-0.9127256852426085531604f,\ +0.9702908997340189412029f,0.7984557906741573951592f,-0.374280495762714437991f,\ +0.2178224309624917087724f,-0.7621335705740988064605f,0.4017588191443041689688f,\ +0.0259981222714757570502f,-2.250132425948803138738f,0.5878367273362664624514f,\ +2.3809410297786541832465f,0.1486053165381447105364f,0.101236219868174881498f,\ +0.6421364318076420163450f,-0.6540329098904471560871f,-0.5416580949191436289425f,\ +0.9514918150544823260972f,-1.267340977798151469003f,-0.8455403103569121281424f,\ +-0.364558782701674466420f,-1.0697180418170626481356f,0.1606013529586497734503f,\ +-1.6656989490484364058176f,0.4667927145215887141383f,-0.0128825329067423742513f,\ +0.9947195275346620846335f,0.8275102004468978256213f,0.2927543106645062453985f,\ +-0.9280170868066852651879f,-0.3636959897126564866809f,1.4783506936052415170479f,\ +2.4281448731590140610592f,-0.0602106018714212570808f,1.541843889601811401491f,\ +1.341076792855444343999f,-1.9789304036759756133534f,-0.3294688652910273685137f,\ +0.622286327382227888450f,-0.6118557906779339417014f,0.7459354816620213934897f,\ +-0.4040802511755230974622f,0.6577039363065745325443f,-0.5486081684530353941298f,\ +0.3927975474240214537325f,0.7894975295935096060163f,-0.1452945797743281086678f,\ +0.1437495883505973681693f,0.4103084241265512188690f,0.1795141291570316322002f,\ +-2.0420270362087347137958f,-1.0136631446624102537157f,-0.6372521675576777733241f,\ +-0.2601528835939894701568f,1.1986221523039410907785f,1.601129898882974078589f,\ +-1.2343266797475058726974f,0.9483471983582205666607f,-0.0424058145973261885198f,\ +0.5150673339403005757120f,0.0937153808744289607002f,0.4638195050716256706558f,\ +0.2202932903531656105844f,-0.6924450714085558233890f,-0.6889026252552187257194f,\ +0.4927201161848878685490f,0.3688430529148965519859f,-0.1495056200185169992256f,\ +0.0956460878099940903230f,0.8967077311519383586713f,0.7486850824131056070243f,\ +-0.3635393959060023716390f,2.72178097931810514254f,0.8872833757746945160250f,\ +0.9893578306194498184212f,0.8262130885403843327808f,1.8679166202704664545564f,\ +0.5569566531470352410693f,-0.0576405625178402075681f,0.8001172842696224751791f,\ +0.4480121632350138050072f,-0.2882322764074837784243f,-0.2677211241656151097246f,\ +0.2862315832454170316801f,0.9463381000719524038800f,-1.574827516423719320215f,\ +1.7962971923614798885893f,0.9930237578825827915452f,1.17225507537484907594f,\ +-0.9161863233099263315040f,0.1421586828731320473196f,-0.1430347256308386882928f,\ +-0.4683233849545334614994f,-0.3180446316984328336552f,-0.0576576190062656410151f,\ +0.6249620545306199259628f,0.7539731616235149092020f,-0.1134181356790778527621f,\ +-0.3551074647649283821949f,-1.5743164879335251882253f,-0.3132427332940839193043f,\ +-0.5345549536487770314608f,-0.3108292305558989498948f,-0.0698678127822071615149f,\ +1.9098270701284520978191f,0.3087451523556873911325f,0.792464324566980904407f,\ +-0.7089070907362685636244f,-1.69657580301203281259f,0.2839165766617411379436f,\ +-1.9503478026750964424707f,-0.8383432843348773699788f,0.4243701560501659808544f,\ +1.0206422864827822127864f,0.1651260412410127109695f,-2.4565661716609770159891f,\ +1.3581676364949575308572f,1.5976518292284813682613f,1.038096252933477403602f,\ +-0.2179395863297476365616f,0.1906211564102877620286f,0.1220518503007956001571f,\ +1.7007780598076820410824f,2.3461749520518053735429f,-0.7583114756702955538969f,\ +0.1563580374722161325796f,0.9458374821601646109670f,1.106385383701591562655f,\ +1.857413924600636034867f,0.9819266230329063427362f,0.1010843883126317094279f,\ +-0.0394749928167329941497f,0.9565452494078602319050f,-1.164240263162510835571f,\ +-0.0360262254241734622418f,-0.4279483181417821913151f,0.0207154879461370518279f,\ +0.1331812668838084079415f,0.0637098112636336894044f,0.5563753726211196903861f,\ +2.170691821782472885616f,-1.4105863647114469383581f,-0.3956456917805734052607f,\ +-0.7536155387925271842420f,-0.1512156734265959479036f,-1.0252674376565367175829f,\ +0.9250804906985814479725f,0.0319417929504777348138f,-0.3662171854280546479110f,\ +0.9733260674698945846828f,-0.2668109355235854240895f,0.9653716053391865337119f,\ +0.5007936673782547032374f,-0.1208939822530236685161f,1.0971085072938426829836f,\ +0.2029604338428208087919f,0.3746473304704570073120f,0.9561076870030955632274f,\ +1.1282520720814495085449f,1.5637873924930061342309f,0.4739411474762828535567f,\ +-0.9908999627117486275196f,0.4483771591380850130015f,0.7638174840760570960541f,\ +1.21967084705659489785f,-1.1141855892005874117956f,0.3637931277318062761594f,\ +0.0172116174170295101187f,-0.5359859794230503737822f,1.7180258735531828140353f,\ +-0.4389711879238100133982f,-0.5289769194381308548003f,-0.2349363816328474963147f,\ +-1.770826942434098993928f,-0.2698746134406798669048f,-1.6219764795098883247704f,\ +-0.4683402918639187895167f,0.4233140865550635290049f,0.5072350201185169549234f,\ +1.846909249365268790299f,0.8538988411566506009365f} + +#define CSOURCEI {-1.2880264074010461250452f,-0.9681461673606511775247f,0.8819263929226937026584f,\ +-0.2968181427237222558269f,0.3676169132810200301797f,-1.4546278949302484662098f,\ +-0.4969724671301882223950f,-1.3684785326259825133377f,0.3201951876584711031981f,\ +0.0925515282972030062236f,-1.3629699188377910612502f,1.3008264376880041002238f,\ +-1.312881117519760332257f,0.7519787618494813141723f,-0.349314202941638340949f,\ +-0.6612113457421112672208f,-0.1912192548186895935114f,-0.2871763408135362682927f,\ +2.1040662039819300055399f,0.6770601919983177952034f,-0.9998765495359557275989f,\ +1.0320694267454630921321f,0.5184250597548623051836f,0.3020078279774962016f,\ +-0.2426203970909892593255f,1.085343122387009806573f,0.3728224888143483184422f,\ +0.3597109342835585477083f,-0.5464095547489105086925f,-0.0522892744113094345981f,\ +-0.0037796004128336437196f,1.3386616898503973516199f,-0.8603866811447716811401f,\ +-0.215138661778858181206f,-0.1519505658345833010170f,-0.0684049031594022166614f,\ +0.3134237083474871732314f,-0.2552970754123656815793f,1.0371924512876768975644f,\ +-2.4944520251764212837031f,-0.9105655292839007763916f,-0.5967335487543307115388f,\ +-0.6520109300715212219401f,1.891233309015407648701f,-0.7688305781614098721732f,\ +0.1640648747943601049037f,-0.613585069751534706306f,-0.2234197861121311190491f,\ +1.9233974415188206386063f,0.315204859780382373735f,0.4595542257467975510998f,\ +-1.1764564844019769207506f,-2.1928435621757311757563f,-0.3567337876240649907622f,\ +1.4844812942744205486179f,0.2127167501638982105572f,0.326665566953199926203f,\ +-0.3823116465408597508535f,1.1195697860125490841199f,0.3156195041989769412005f,\ +-1.3411228504687704443654f,1.2817926351994635147946f,-0.8385592799769060468051f,\ +0.2920629737538525949603f,0.4117329700106473477916f,0.8168979807640022183790f,\ +0.6114286447089312126479f,-0.9103003485572774833301f,0.0883797323534893930486f,\ +-0.8309636819350860736932f,0.300088746736916378577f,-0.9870316877320252091366f,\ +0.0574605523525985317779f,-0.0055294403676948468418f,-0.4910286442216560409690f,\ +-0.9282905300686704608282f,-0.9620222168730435674533f,1.5101979946106838248454f,\ +0.16215452036647093337f,0.8355679951054210130579f,0.2598273768449387843837f,\ +-0.8781794540671359339257f,-0.0960593767304002976726f,-0.8457942620552999501982f,\ +-1.5126206512504021262089f,0.0267016916333849170517f,-0.0455102979008666919114f,\ +-0.9512410833653791586428f,-0.1410038404270228529214f,0.8526701417894808621156f,\ +-0.5427383894147087550763f,0.3670995115141847953133f,-0.4196045805115825033660f,\ +-0.861511165291383607112f,-0.5242638386479363532544f,-1.0690056931583220567461f,\ +-1.204258995571379831091f,-0.1994216356488724417595f,-0.651264013076401249158f,\ +-1.2804046190990912013064f,-0.1189798590125256405603f,0.2757828726342566594276f,\ +0.1186787898486535430820f,-0.9717707229710241811915f,-0.2337132662497607982210f,\ +-1.2810105417899781965474f,0.4516508120864454189913f,-1.7941677742351858082515f,\ +1.2424962452829722003855f,-0.1452111265545129592525f,0.803374036348334819024f,\ +2.2359407014896999221776f,0.0801276770871145183062f,0.1489247936009177042394f,\ +0.3146211320275099643240f,-1.49119197842913098206f,-0.8212344459793755602206f,\ +-1.3094646972226284820096f,-0.2661055404338998897629f,0.2164009824597608044883f,\ +0.4021554472831923576770f,1.0836546525394512574536f,-0.8330897968467666503400f,\ +-1.2783354864784060023197f,1.0944391027576960695455f,0.5158321013729825210703f,\ +0.5039256424604841022585f,-1.1530018443600813515815f,0.5567649276400054025871f,\ +1.5507245891800580661624f,2.0511800424609365478545f,0.2003839203406024560561f,\ +-0.5188228347179002497569f,-0.5014579405716672599880f,0.2409475853154263991218f,\ +-1.2895515809257553918599f,1.3505164949531500706570f,-1.7662555890569775485233f,\ +0.0695313390316097817978f,0.4857809488385180229919f,-1.54949381746834280449f,\ +-0.5022279078645265348868f,-0.4715667339089154030951f,0.9071363416804920642988f,\ +-0.0090747242741150424550f,-1.426140714401586517823f,0.0902619806757116310836f,\ +-0.7111783918397256432087f,0.4421886947944868029303f,1.3229936148586256550175f,\ +0.0399972677459073389095f,-0.2744759605679197855821f,-0.6365722011642755973071f,\ +0.0838977431731276618310f,-0.0154779602574307128399f,1.3680369604712516728995f,\ +0.8578728691952266505183f,0.9477645632263477226687f,0.4034044727794333096149f,\ +-0.1637512612660888822180f,-1.521579761721328916124f,0.7389202762668894974851f,\ +1.6242287608009475796678f,0.0251523200085141500348f,-0.2296479198161843759962f,\ +0.3374847554612029343346f,1.0988696857027278053209f,0.6720077941707034430152f,\ +1.6284314621145825618953f,1.2811365743500131575416f,-0.6480287734962971724073f,\ +0.4079918994040774293808f,-0.6857363255654103095793f,0.1644734231427373016832f,\ +-0.9707468997532966437092f,-1.0103908741767126944211f,-0.3245462572729273520444f,\ +0.3569008288111439886059f,1.1707819570142721232742f,0.0931015649413182710958f,\ +1.2605162559518456877328f,-0.2998099303847839292025f,-1.8576048661033506270712f,\ +0.3542284165121863948045f,-0.3606813370588974332343f,-0.1691565053601437607078f,\ +-1.3723457158075849093848f,-0.3869812789951324605298f,1.327934065790971063237f,\ +0.6883264291332520379285f,1.1636463404567130019984f,-1.6679940626595868291560f,\ +-1.1660526540945894691248f,2.4012435579972462029730f,1.8717476066252398680945f,\ +0.6269431765551266577674f,-0.7276289505214773578601f,0.5485159953217271233683f,\ +-1.0371187436769986334184f,2.282202076649753941240f} + +#define CRESULTR {0.0586345786159515672264f,-0.4119079581767730036113f,-0.2376773392005311347219f,\ +0.5274985111723742292611f,-0.3785076402666358030835f,-0.0984442400006558665515f,\ +-0.5157322835496214175066f,0.1877549307968403857760f,0.0529309487949000886942f,\ +-0.8980782630098248509043f,0.1535280327645664466552f,0.3347825460369071581823f,\ +0.3118103625565722958335f,-0.4854100811784345381739f,0.4200271027799429846006f,\ +0.558160367722654870981f,0.3440445808210612077538f,-0.9190853850068781971672f,\ +-0.2206972238733744262618f,-0.3495146734241325048309f,-0.3828254526784128919381f,\ +0.3837160824181031770763f,0.6067122840309074893739f,-0.3528285483819846302112f,\ +0.2081338122939639656561f,-0.3109916924279712002743f,0.3607981848765179355709f,\ +0.0230220619188065515892f,-0.4409843876587154487545f,0.6706334235337022553480f,\ +0.4476928944367338791821f,0.0530051009287677843407f,0.0580922710665942171326f,\ +0.6889248635636368023327f,-0.7403179849986993854571f,-0.6014835481325517818618f,\ +0.9148458682398055152873f,-0.9100406392834269331260f,-0.3512629496668798201320f,\ +-0.0497281250251861567380f,-0.4533232590993708788218f,0.1183827451686376569517f,\ +-0.5400714293963024825729f,0.0986159601519734224651f,-0.0080964813496256192449f,\ +1.2504251172076377152109f,0.553383982176059552316f,0.2851532314993195926789f,\ +-0.1735373380028721046475f,-0.3392884681219434650501f,0.6674877635610125814480f,\ +0.3361668249120546292374f,-0.0103608516149833115860f,0.6876886023380593959686f,\ +0.2994018975364160506381f,-0.5461669463711513738957f,-0.3036470157958083837535f,\ +0.5659099835134179246054f,-0.2522688982901432619421f,0.73840604848731461463f,\ +-0.1399717847889199173750f,0.2285367773899925347703f,-0.3073816797691770186240f,\ +0.3738323046463303267473f,0.6895008314715558306318f,-0.0869179912549136179933f,\ +0.1045814791078650968226f,0.2183617419002600035238f,0.1799962512946713666384f,\ +-0.4306170362358095471400f,-0.956790010441086580251f,-0.2988659063401313820130f,\ +-0.26528818791890551587f,1.2018988344435987958292f,0.6134078020904577543959f,\ +-0.4635409097157874858119f,0.4066731412601408690577f,-0.0129216461290907521503f,\ +0.5459518490067882812156f,0.0551242941387568297085f,0.4571890743247491450951f,\ +0.1235106929418888221939f,-0.8301715333893021631084f,-0.3700021952100086553017f,\ +0.1433522018206848380739f,0.3867313699737674470569f,-0.1503114555841373045642f,\ +0.0501390172375495365986f,1.193524050554648274769f,0.3916234392819171183930f,\ +-0.2811037877759303138525f,0.3767282302151824247005f,0.7464338830239950484113f,\ +0.4613726054161970124845f,0.6177367275920276901147f,0.3993738908711506052640f,\ +0.2139276426895061200550f,-0.0554860078847602203322f,0.5165924809229520686671f,\ +0.1633124027176871273515f,-0.2918709165103665625907f,-0.2528080890770357247455f,\ +0.2897583915934112130941f,0.4021736360794072595581f,-0.713539018877845987454f,\ +0.3562716257530119112751f,0.7547097044407786725628f,0.2233423544188815612621f,\ +-0.3032157270895312062287f,0.1400739703409606129458f,-0.0867211925226533952848f,\ +-0.0758855325499612903828f,-0.3269646450472631915574f,-0.0564625318897502212478f,\ +0.6090972295195002939039f,0.2104281878811394279616f,-0.0676285383445118792878f,\ +-0.1277092508406163506862f,-0.7041149381903939463712f,-0.3071683332013411815709f,\ +-0.4736979352269045095980f,-0.1404550230528205378988f,-0.0412179517191962191403f,\ +0.3529283428251930310182f,0.1380434056063472858522f,0.6051661095195016715209f,\ +-0.5594498837332433360814f,-0.3889971602159096875084f,0.2168075281019664068971f,\ +-0.3028666557798217473518f,-0.1458483340857026078208f,0.4293137169051447488144f,\ +0.6953697523295457871839f,0.1321249855766219449826f,-0.4265596445818128912286f,\ +0.3486234081846604770938f,0.3421608935025099995642f,0.2115120471977689209364f,\ +-0.2203370156751261743633f,0.1545639581145290264441f,0.0357922784779254460341f,\ +0.5794250482661091883330f,0.4312552311016552564205f,-0.3727620017605887681178f,\ +0.1576377379130869393897f,0.2624856474568436071060f,1.3577286999442579329411f,\ +0.4860182340340697959569f,0.7617714539289787145648f,0.0366834217396586823035f,\ +-0.0394322693273299676453f,0.9807192175900326658322f,-0.6164954700307514467994f,\ +-0.0357893654572665059765f,-0.4572287236587250780495f,0.0072135289476597582586f,\ +0.0765359692550191955673f,0.0335408660165012612042f,0.4931690601828112585636f,\ +0.4939993220457917777466f,-0.296325232124018844715f,-0.2516901659302647753513f,\ +-0.1874945429943649932714f,-0.1522841974461120184703f,-1.0886404519839611992893f,\ +0.8661426586684568551533f,0.0144669239838038730245f,-0.2498600121525025030689f,\ +0.2258303913936256790418f,-0.0996627600161344717744f,0.5798388843647412915772f,\ +0.4402912178536843579302f,-0.0821496253311937152386f,1.1995498265712831731378f,\ +0.1037875988793510867447f,0.1808411497687466285011f,0.9003994950861190504909f,\ +0.8693703906397208802659f,0.3871229651004495231348f,0.5084262016718109622460f,\ +-0.3127921352240150554280f,0.4284515458646944163768f,0.1566612259199449408431f,\ +0.8425254932446538669311f,-0.8675086878856705929763f,0.3679908151081396905369f,\ +0.0059690185652748976169f,-0.4818927853047598741654f,0.3475368987720111602080f,\ +-0.2928677403656957944911f,-0.21281918945471237081f,-0.0615315656203920743894f,\ +-0.3828854358877186170318f,-0.0395445045895176927608f,-0.2453056840726963727661f,\ +-0.3319274210060903507191f,0.2716611153754885932265f,0.3885772436850290501020f,\ +0.4083161225294907326067f,0.1256636073410991871757f} + +#define CRESULTI {-0.9150826723701824816359f,-1.0038007968241344780580f,0.7761168535216221853190f,\ +-0.3822213477951738047622f,0.4088073079437265500147f,-0.9829838814461281382151f,\ +-0.6207924428978939257462f,-0.9924436424002488488227f,0.3107781745847606469368f,\ +0.190823563908477877860f,-0.9717930993017909191423f,1.1362832817249874928223f,\ +-1.0952400709881249252220f,0.8906629459042527674484f,-0.4031733379746096357366f,\ +-0.8926214809458651311402f,-0.2125955165236021182640f,-1.1626545105534673574255f,\ +1.4098114180999468114663f,0.6875898477221956683891f,-0.9827065462915589577619f,\ +1.0122682558571856059615f,0.7403338169936454216113f,0.3329978318477040399870f,\ +-0.2487126175192662380642f,0.9535461622187894059621f,0.4086259224331897366156f,\ +0.3454903551399998162807f,-1.4480476267508943788442f,-0.0795552773231696652712f,\ +-1.5699867995861691571946f,0.9329922799220887741356f,-0.7134073946597112581003f,\ +-0.3357762973784728099957f,-0.2527252112264842809353f,-0.0962463379406888058787f,\ +0.7882465889811950399135f,-1.2456800812145352175264f,0.9674854545265952898703f,\ +-1.1957951138140576752278f,-1.0308375326751320066876f,-0.5464592420922904647540f,\ +-1.3032325007401501792970f,1.1035601617683621356036f,-0.6554945586705149818130f,\ +0.8103435172856551238496f,-0.8103372317467707475203f,-0.2385573277010208381732f,\ +1.1587938021757215878438f,0.3435431890072572769235f,1.279788873802896409515f,\ +-1.3915550484745486947702f,-1.143175630086853633571f,-1.3493948361964505089361f,\ +1.180878018812092644652f,1.4994549779312595916281f,0.3471363780379303487500f,\ +-0.5114436565324694816681f,0.922077454999635448551f,0.5359370502466848096290f,\ +-0.9575622722618749582679f,0.9840232928412098178939f,-0.7866361736794498238368f,\ +0.3275153905103054818859f,0.6621644080795368036974f,0.6911787537867797315272f,\ +0.5555203262090003812901f,-0.7845741854114917090968f,0.0910458923193785268912f,\ +-1.367532424689007264362f,0.8821163892946874973688f,-0.8805618815721650838313f,\ +0.0615381817744835926676f,-1.5581379012861951149915f,-1.3216226160366340014463f,\ +-1.1059140418930615279436f,-0.9879008462145800750775f,0.986169123983388073995f,\ +0.2146596902165759102044f,0.6986026791593697993221f,0.3134566221055383739014f,\ +-0.7342575229927524871343f,-0.1797145584041555665955f,-0.8413107892059722425770f,\ +-1.019619130948550722593f,0.0308925093685123823561f,-0.0465149720271331584831f,\ +-0.7628135267341744629732f,-0.5063811875785856342347f,0.8689285269800102184945f,\ +-0.5424489267017504889878f,1.5149231207825908374076f,-0.7635699257253423244407f,\ +-0.9835608360649982229162f,-0.7651335213236122312352f,-1.3047698554262849857110f,\ +-0.9383103802342007693227f,-0.1974540431056293898759f,-0.8100733516290339331078f,\ +-0.9439058311312691351702f,-0.1288637100697393178539f,0.2871927052822376702501f,\ +0.1283857487876574610119f,-0.9893521517129132414325f,-1.4229736910621084700068f,\ +-1.278268082403663186142f,0.88910168768678732309f,-1.1784373117164359534570f,\ +1.03935358865908744619f,-0.1470722349218777647017f,0.6828818013490814964328f,\ +1.1635383473949738597497f,0.0888393991592487247688f,0.1483135488190464867930f,\ +0.4446342289575472839225f,-1.055940453660143329984f,-0.6913288042725108661912f,\ +-0.9407243087808065951094f,-1.4053508981321376491991f,0.2342864098211708545616f,\ +0.4844410101414913238926f,0.8475776035888460402390f,-0.6960123633858344982528f,\ +-1.3016421578221382127083f,0.8519589639880413844963f,0.7342440505866469901974f,\ +0.6668635124458689444893f,-1.2591545397069716649696f,0.535024814500131951078f,\ +1.30226369708141054282f,1.1661057476987222170095f,0.2373787574293542146364f,\ +-0.9309471081116736934646f,-0.4736579850459717855315f,1.5236251088004300058287f,\ +-1.171065543003733777638f,1.2334327135159162125433f,-1.153213069447322158823f,\ +0.0728510737378383066432f,0.4639741641063248600574f,-0.9996734202650466860618f,\ +-1.3518108187607991155232f,-1.4723273061328936428538f,0.8933558949405833171653f,\ +-0.0093018535376701225181f,-1.0826576750905823054438f,1.2404141733855511553486f,\ +-1.3465428092378513014182f,0.8747309046321107839361f,0.9253397074562169644096f,\ +0.0400381835355557713640f,-0.7765785126027255902414f,-1.0546807717631738743336f,\ +0.0838092326986521196641f,-0.0189446011407611511479f,0.9396543988269212555053f,\ +0.7141040044798073749277f,0.7596541492574908627233f,0.4957818734457210552158f,\ +-1.5271090619693206136276f,-1.1987057982776780917789f,0.6860846415801318265437f,\ +1.0836815939774062655943f,0.0257348439490480244973f,-0.8966457616590515211641f,\ +0.7629454929184202871539f,0.8326995831057554253718f,0.6358947917453465770166f,\ +1.122174794910343109677f,0.9210086183100237855470f,-0.9179542949015334629692f,\ +0.4753128844824887067055f,-0.6057418122474197419436f,1.0912054352763760345368f,\ +-0.7811598998629154522177f,-0.8252118132068452238670f,-0.8003932093064218822320f,\ +1.040963230413896711823f,1.2239764586679500180111f,0.1191234084420016575701f,\ +1.064003892301497833373f,-0.3509788166940612241795f,-1.1278108079499422622405f,\ +1.1420720075136889803957f,-1.0231852297083139369249f,-0.1916370368791805167685f,\ +-0.941129540386991148004f,-0.4709650954727132576849f,1.2604683484747309929475f,\ +0.6665567013842946808566f,0.9183588395793375047660f,-1.0371195264398431756803f,\ +-1.276620042706810842503f,1.1799805845600985776400f,1.255793767839696428723f,\ +0.6354974793467924598644f,-0.6865980682751140484754f,0.5939555774818401356896f,\ +-1.3024651432778990844952f,1.197724373266410013983f} + + + + void satanhsTest() { - printf(">> Float scalar\n"); - printf("satanhs(0) = %f\n", satanhs((float) 0)); - printf("satanhs(PI) = %f\n", satanhs(FPI)); - printf("satanhs(PI/2) = %f\n", satanhs(FPI/2)); - printf("satanhs(PI/3) = %f\n", satanhs(FPI/3)); - printf("satanhs(PI/4) = %f\n", satanhs(FPI/4)); - printf("satanhs(PI/6) = %f\n", satanhs(FPI/6)); - printf("satanhs(-PI) = %f\n", satanhs(-FPI)); - printf("satanhs(-PI/2) = %f\n", satanhs(-FPI/2)); - printf("satanhs(-PI/3) = %f\n", satanhs(-FPI/3)); - printf("satanhs(-PI/4) = %f\n", satanhs(-FPI/4)); - printf("satanhs(-PI/6) = %f\n", satanhs(-FPI/6)); + float in[]= SOURCE; + float res[]= RESULT; + float out; + int i=0; + + for (i=0;i<200;i++){ + out=satanhs(in[i]); + if (sisnans(out)) assert(1); + else assert( ( (fabs(out-res[i])) / (fabs(out)) ) <1e-5); + } +} + +void catanhsTest() { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in, out; + int i=0; + + for (i=0;i<200;i++){ + in=FloatComplex(inR[i],inI[i]); + out=catanhs(in); + assert( ( (fabs(creals(out)-resR[i])) / (fabs(creals(out))) ) <1e-6); + assert( ( (fabs(cimags(out)-resI[i])) / (fabs(cimags(out))) ) <1e-6); + } +} + +void satanhaTest(void) { + float in[]= SOURCE; + float res[]=RESULT; + float out[200]; + int i=0; + + satanha(in,200,out); + for (i=0;i<200;i++){ + if (sisnans(out[i])) assert(1); + else assert( ( (fabs(out[i]-res[i])) / (fabs(out[i])) ) <1e-5); + } +} + +void catanhaTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200], out[200]; + int i=0; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + catanha(in,200,out); + for (i=0;i<200;i++){ + assert( ( (fabs(creals(out[i])-resR[i])) / (fabs(creals(out[i]))) ) <1e-6); + assert( ( (fabs(cimags(out[i])-resI[i])) / (fabs(cimags(out[i]))) ) <1e-6); + } } int testAtanh() { printf("\n>>>> Float Hyperbolic Arctangeant Tests\n"); satanhsTest(); - /* FIXME : Implement some test here ... */ - /* - catanhsTest(); - satanhaTest(); - catanhaTest(); - */ + catanhsTest(); + satanhaTest(); + catanhaTest(); return 0; } diff --git a/src/elementaryFunctions/cos/testCos.h b/src/elementaryFunctions/cos/testCos.h index 82dac484..11be0542 100644 --- a/src/elementaryFunctions/cos/testCos.h +++ b/src/elementaryFunctions/cos/testCos.h @@ -1,6 +1,6 @@ /* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab - * Copyright (C) 2008-2008 - INRIA - Bruno JOFRET + * Copyright (C) 2008-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 @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "cos.h" #include "constant.h" diff --git a/src/elementaryFunctions/cos/testDoubleCos.c b/src/elementaryFunctions/cos/testDoubleCos.c index 00499278..6db387e0 100644 --- a/src/elementaryFunctions/cos/testDoubleCos.c +++ b/src/elementaryFunctions/cos/testDoubleCos.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,67 +12,475 @@ #include "testCos.h" +#define SOURCE {0.6087216374946681218816,-0.4914009399790010834685,0.2966492127240239473629,\ +-1.0120131171793795843428,-2.1768580524449996360659,0.0399891371904198267284,\ +0.3264664449949340463419,0.3928915710000103755917,-0.9023248339668938911018,\ +-0.7061054028011619632110,0.6351420537982425118528,1.7243031942788638044561,\ +-1.193843423508647916265,-0.6699486724870092890782,0.9455390047179551560319,\ +-0.7269584830448905243827,0.0587220167793607444873,0.7465722023081590164040,\ +-1.8115798920517958148224,-2.7758706356233147083401,1.6672616062636114175888,\ +-0.0836705642425854267952,0.3278617890836109105557,-0.4784618803967296551960,\ +-1.5167866307363953026766,0.3278666902123760218402,1.4583399615307341967707,\ +0.1568728504489345088,0.8788327319516627822438,0.6503974594047504664829,\ +-1.2192475208695570110251,1.1760897921697979207067,-1.8443279857673484656289,\ +0.7800878370874437806037,-1.7143820612787801227483,-1.2442138561935551788196,\ +-0.5030865876060848229656,-0.7500891916411158710787,0.0131204357988426462828,\ +-1.3051873378120935065283,-0.4721103394959948462706,-1.08171405175402890464,\ +0.1772346225663179453136,0.0709726766378662859980,0.5997183167182360552516,\ +-0.7982542475055777186910,1.1146919091581586336304,-0.5226194052411643475864,\ +-0.3280122727754089528851,0.0845844607820355476324,-0.4076056231156577891461,\ +2.671024580732940023609,0.2751537532064078916960,0.6141628828811964702084,\ +-0.7694928564341785293124,1.5452838740749164081478,1.2047554263319388834219,\ +-0.4418728868867642933793,-2.3845314085200706166745,-0.4507303538478215632068,\ +-1.2843948816610906149549,0.6258568994217935665958,0.5221599455292258440409,\ +0.6881147826420792590341,-1.5350411433640571701176,-0.9627472135269001807245,\ +-0.5218069771892938080171,0.1257945676013507985136,-1.6629602539620385037722,\ +-0.1168122168368753571732,0.6319751771097191772597,0.0279680711838030011951,\ +-1.0789454333610759562134,-2.2539675570413915117740,0.0159524501831603895963,\ +0.7246005623822228125519,1.3584241656028799294376,0.1335331404272114830256,\ +0.8003059664568770159576,-1.5933335032689068810896,-0.2766963701941145270524,\ +-0.1259819476132254256751,-2.1871819624452908392698,-0.0027183437417650840526,\ +0.0895441283705892265843,-0.0655528187812533247314,0.0082181667448872272597,\ +-0.1292799439278431716804,0.8059814954561199673577,-1.0227158239595737221350,\ +-1.1728578375397291644333,0.3095622814458759419765,0.4085150016548139140227,\ +0.4376992889872045044974,3.0932123457325086945957,-0.2404500241757465406334,\ +-0.2553482065690487190501,1.0058683512127921666490,1.8395637792194936555035,\ +0.3411429898658094317376,-3.0536685582128435534344,-0.1095788307430261981912,\ +1.6414918920137913094237,-1.0744672373614887472826,1.5353378953533194373193,\ +-0.8528406784492137404641,-0.7422456212235352124296,0.1342811638770788351671,\ +-1.6549750406888592557664,-0.7256367869747750720677,-0.0862485588565954086615,\ +-0.0561038363580659213414,-0.0030846890449726638815,0.2539566584786872027735,\ +-2.255576969911772700073,-1.7353562843564334094992,1.4790955315931679781016,\ +-0.6277258320505759714436,-0.874734985447433444072,1.7535503835541961237254,\ +-0.8019918985373268860428,0.2826253943812546687298,0.9297345065408313402600,\ +-0.1628091770786383452041,-0.5361503318172788912221,-0.1559543394910963276523,\ +0.4214606760227143644748,1.9422068405845787086861,1.126122745997659491124,\ +-0.3806596390838080656849,0.2838150495409667017910,0.5356418000869134221631,\ +-0.8698259506453359657385,-1.4811954887734988250969,-0.6640101248288414748089,\ +-0.8768395331826340788339,0.1637943427647920169310,0.8023136616688257838348,\ +1.9190648920981443481537,-1.1659867862660415749332,0.9175250832331292016875,\ +-0.4629851548188154697350,1.1531379126231540155345,1.280357188491430875388,\ +0.8752030571429955108087,-1.80360898378670553299,0.5261137866109517613467,\ +0.0015036147858927245008,-0.9395126502065724860557,0.1254332133415215488892,\ +0.7981010350443900058792,-0.7787639258289269506008,-2.211373434923878722458,\ +0.4245313340753193442900,0.4777310697112210347015,-0.7091015173222630085803,\ +2.5269774755909995000991,-0.5189834616032670266961,0.7465455379507028865760,\ +1.6922232637382539355286,-0.7527036628439752741215,-0.1791091421294778995854,\ +-1.143803039940205490410,-0.3557089242818732288676,-2.5859928945830414903639,\ +-0.4620292997028574988327,2.1043646801028508264153,0.2700104378784371483846,\ +-0.5683100411735593215923,0.0576234736047250076241,-0.3494123351876678440497,\ +-0.6437179916333417573071,1.1183843932324186720706,-1.7070244497383502135790,\ +-0.5423910203569126675660,1.478528409100926088726,1.4635937207455358421981,\ +0.9926533118110351106012,-0.7069946768514858703725,-0.7247022468472048561949,\ +0.0958136359005943571976,-0.3502577985930430126693,-0.7552136456030923428173,\ +0.4974020403078212582137,-1.1482817888259779781635,-0.2861580091485689814057,\ +-0.5017215979538576231533,-0.6146143460074020570261,-0.8743941016318307335453,\ +0.6112858348465053381915,1.1276508199848169766710,-0.6796253617896085286176,\ +1.0967206821241466396799,0.3644470031679390431556,0.2076189090924974445240,\ +-0.5458105472995297136052,-0.0671640776881476525562,0.9301013215147568846675,\ +1.4191187165731935504454,1.9739542618337482249302} + +#define RESULT {0.8203796801888452172591,0.8816726743563225721090,0.9563213494741442666225,\ +0.5301548730715204271746,-0.5696350270974277485436,0.9992005409985472708101,\ +0.9471814588690369296486,0.9238058529293791121262,0.6197871850499613310959,\ +0.7608947481851529026642,0.8049874252319156875402,-0.1529046956055711559141,\ +0.3680890208730970281081,0.7838535385146575551474,0.5853059322813873865954,\ +0.7471992477828661716188,0.9982763577574981228580,0.7340210854728602685171,\ +-0.2384636600673788464633,-0.9338657938993391027793,-0.0963157386477964672089,\ +0.9965016599751398418405,0.9467330527147245211594,0.8877041448701339376726,\ +0.0539834417486552073373,0.9467314744445589624888,0.1122194864288899307514,\ +0.9877206673462950448084,0.6380503687973807513956,0.7958431986465404062159,\ +0.3443523016260275904088,0.3845373047091283913446,-0.2701334763293031793197,\ +0.7108517612540402597077,-0.1430928615933441672148,0.32080801483743826008,\ +0.8760985949432102959378,0.7316280694838999121288,0.9999139283169750092028,\ +0.2624969502467918158750,0.8906105597759395031687,0.4698159512131697135295,\ +0.9843350146218102780793,0.9974824965990314318276,0.8254946325091827574738,\ +0.6979579732366844035951,0.4404541009116093031039,0.8665146735535679267670,\ +0.9466845833195259851678,0.9964248667932769087940,0.9180726139212290748404,\ +-0.8913108719456435125039,0.9623834350402660220425,0.8172561425171237514675,\ +0.718263617781651042549,0.0255096851968806929978,0.3579214307842031317364,\ +0.903952340447022550940,-0.7268574491788566405148,0.9001291834726419249790,\ +0.2825020879048804056666,0.8104614523160890149356,0.8667439221341659560949,\ +0.7724446547102603588542,0.0357475654825572253248,0.5712673305171682702763,\ +0.8669199123046601451748,0.9920982915300309290529,-0.0920335062605047438122,\ +0.9931852073290609039802,0.8068622676403011118040,0.9996089189905136285219,\ +0.4722581851967700972139,-0.6312557202207959017315,0.9998727623649044105036,\ +0.7487642434889083542515,0.2107793581335721255776,0.9910976901702407415584,\ +0.6964871898378746095659,-0.0225352686591101247782,0.961963168947402524900,\ +0.992074764843193790398,-0.5780897184534614652307,0.9999963053059259809885,\ +0.9959936026023269439733,0.997852183268367110003,0.9999662310577351886920,\ +0.9916549805054094557377,0.6924034092861499622984,0.5210498486203913870440,\ +0.3875187390378670992952,0.9524670084743368514424,0.9177117455650365407394,\ +0.9057292314266010002655,-0.9988299011655918935304,0.9712309045685737496356,\ +0.9675754035185222257098,0.5353549836201899614352,-0.2655433409023978952312,\ +0.9423728774251888262725,-0.9961371662051550224248,0.9940022450449995661259,\ +-0.0706366921418750404182,0.4762007884740003804680,0.0354510015922323284965,\ +0.65784633984897000758,0.7369525027778347503471,0.9909978235616448971612,\ +-0.0840793332663393455650,0.7480769942249303472437,0.9962828981406220973938,\ +0.9984265925479938186271,0.9999952423505205079124,0.9679259470687455735316,\ +-0.632503122148043273043,-0.1638182491633654591645,0.0915723300147998908738,\ +0.8093652317898135661878,0.6412002458492904732879,-0.1817384524188947747536,\ +0.6952764275967198148720,0.9603265844478726664946,0.5980467860661466961147,\ +0.9867758355724630670025,0.8596815738538068352170,0.9878637498486452228619,\ +0.9124923605358673528443,-0.3629301323805959045288,0.4301632279198022157374,\ +0.9284197599136463363578,0.959994136496382766133,0.8599412360983218484023,\ +0.6449595684306472787028,0.0894809955848772375919,0.7875272110120042912129,\ +0.6395838526894777054110,0.9866156703762346547038,0.6950451267922697073942,\ +-0.3412708317791682266495,0.3938437014688686566011,0.6077873470346980555590,\ +0.8947232532371431901197,0.405621261011146261311,0.2863729991092465732017,\ +0.6408409897588510650834,-0.2307152077489570130009,0.8647651606784810818240,\ +0.9999988695715007480658,0.5901815182487093469632,0.9921435633684139165922,\ +0.6980676864202854936536,0.7117823002210422744795,-0.5976582378696937425389,\ +0.9112318735935986957486,0.8880403834946687391394,0.7589472311619362976387,\ +-0.8169954127513406882954,0.8683238289487801297994,0.7340391936884439472166,\ +-0.1211287602524158124595,0.7298432754851863490941,0.9840027922687679673430,\ +0.414135922956764768177,0.9373998379717353168772,-0.8495842484392269744475,\ +0.8951497493851807707443,-0.5086089166239101677647,0.9637681122030780089815,\ +0.8428117284541520870533,0.9983402269892645009008,0.9395740596053013815592,\ +0.7998698514817192961601,0.4371360854041511645462,-0.1358071578606558360569,\ +0.8564769211630707257399,0.0921370549444396474970,0.1069973881579713986811,\ +0.5464696941763740323239,0.7603174194154225240538,0.7486968394521967828936,\ +0.9954133840567818136691,0.9392842830606296100626,0.7281251176521188472890,\ +0.8788251271401545938744,0.4100551583355765972172,0.9593354263834207307227,\ +0.8767558837388640391453,0.8169958925140410332943,0.6414617938312918710153,\ +0.8189107275146941811172,0.4287832557249183773607,0.7778082340710044118026,\ +0.4565162294470550552461,0.9343210101535780465198,0.9785245037094734144034,\ +0.8547068075395470865274,0.9977453410917197507146,0.5977527578720709389160,\ +0.1510966938752993093953,-0.3923250465140346587845} + +#define ZSOURCER {0.8652785065984375245662,-1.3368838685782120645484,1.6264408224927449087005,\ +-1.8690897079220740728545,0.9951518628175756164822,-1.688893672224414332916,\ +-0.7497508971113807652031,0.8268999681758193442960,2.2753757356206412154620,\ +-0.3872960166494098244172,-0.0799160908491712979052,-0.1884631346495315440404,\ +0.2094439405660133701748,0.3401928613448036986533,-1.2494684410199645707706,\ +-0.2979401746978811993394,-0.5157853813810977516852,0.7932915899466403963913,\ +1.5620570356415210966361,-0.844359823617092053460,-1.0437648196696975855247,\ +1.932990034770735388037,0.1853438341489616059121,-0.9962801836788344189699,\ +-0.5388351087532706751304,0.6070505636662814064053,1.5888625026588754085566,\ +0.2617832537783132407228,1.1970490473872079650874,0.12578128394682370,\ +1.39770280807620150831,0.2099988595145213798876,0.3421775699723230701466,\ +-1.8782261453279518459425,-0.6664189835307311460255,0.8127373993936040097452,\ +0.3767873922208855863580,-0.6374952135371538819442,-0.974468710244571822976,\ +-0.6722228555627711710230,0.8585099013504803311392,0.2446046980188737729467,\ +-0.9043973313471151964649,0.1358880163960933251666,-0.7695067786636404782996,\ +-0.8938327489087023458580,-1.9114553148531847615033,1.0171770494404650531095,\ +0.1835886481619793952902,-0.3163377812153213564095,-0.9195862784206330076131,\ +-0.1072018571251609070361,-1.7348283435296543153470,-1.0280015900042309695550,\ +-0.1045837022850216735392,-1.5256722999247080974072,1.1084725864612092749439,\ +0.6805135215035358342561,1.6689686098271181435848,0.2989927467898484958475,\ +-0.5006434061857586437227,0.7116857998261418849495,0.2485278541920327155523,\ +-0.6900291112600369647367,-0.6267355965803992345897,-0.4282667464892624953343,\ +-0.7336468298863978443336,-0.3574021092257179676999,0.2860336762162377644003,\ +1.1425687805503488281289,0.6919758815746888114262,0.8010668577124011591195,\ +1.7767980155474207837329,0.197833004692656910795,-1.8362538605563030191803,\ +0.3869279168511000066566,0.5325960336459322208569,0.0883113910959548165103,\ +-2.6418732644466236259007,-0.6564988101863107328171,-0.5566003466732061255584,\ +-1.479779603028395396080,0.1430519638431400619716,0.4320971393139262928251,\ +-0.3181852113191626640898,0.5371570151959671468589,1.4535234978041589037900,\ +0.3101271616559506116850,-1.340732344843439172166,2.060471964067395411746,\ +-0.0787601433757613156317,-1.0771984898755455617447,0.5648344207720079612756,\ +-0.3508614616179664413842,-0.9690830277765453137917,0.5156195652795886319453,\ +-0.5293387239139798472465,-0.9571359764302782568990,-0.2269082544310593585468,\ +0.4895059752188103407988,-0.2522128725839323237778,-1.4975804078553673903684,\ +-0.1603766798935232218426,0.1464267186008629817451,2.1615853347433549025425,\ +0.0399126120226646896594,-0.5544284809990485118902,0.5328414558183197646812,\ +0.3907850242802237139550,-0.3787774013072854883966,0.8417359908290755754479,\ +0.3176700186731257757877,1.592244506660871694592,-0.9951932381029318097632,\ +0.0410951006109449151760,-0.5188832355843150390129,-0.4767385649438746209050,\ +-0.3777777846485093071749,0.7910209775449256186519,-0.7086741723196363640369,\ +-2.3537808974280172158444,0.3583714955858253170540,-2.508952017613233387294,\ +2.087806522953977506063,0.2382312089001768218299,1.9833918106929020463980,\ +-2.167582574594525635092,-1.401225926702102553278,0.4640426253451597760069,\ +-0.3076759844353880168910,-0.7615259380675128975113,-1.1385700743993105721330,\ +-0.4270402705994392755784,-0.0367498239842839885538,-0.9128849844856976591956,\ +-1.9549432857416617626001,-0.8811112725878604834406,2.9821802878266292502474,\ +-1.7022507648063245344616,1.2487885639051212738337,0.0676735499770482057391,\ +-0.2367248998667950132813,-0.5285347231086527930444,0.7141648125067473484862,\ +-0.5878970571029352720771,-1.1459325979718588683909,0.4680548872241794833293,\ +-0.6843012596069305564228,0.5355357649056337043803,0.1540760632792411710668,\ +-0.6157450195036280327088,-1.41787024661118454816,-0.4570344170862304378211,\ +-0.1411796126420029884319,-0.6614438004746325816541,1.5436797442842080663183,\ +-0.0655012358215935341921,-1.0114218055676069685234,0.1895887411932805077797,\ +-1.2984646974992717360919,-0.5015613008687210827574,-1.162209366222186623929,\ +-2.509167640329787563047,-0.4405707024000362626026,-0.3943332184880063984167,\ +1.2805404560028668115024,-0.3061569333239507750832,-1.1420665340809226240282,\ +1.0167026164121319986577,1.958453071130288769552,-0.8471715882458593638304,\ +2.5258191429986913689731,-0.2048087265120654143491,-0.4182027716366760183853,\ +-0.3527210857802417498519,-0.5595241893671244470809,-0.6478265699785845654901,\ +-1.0507861982209916185127,0.7848448646063929112771,-0.1328983392812562724927,\ +-0.8579290931640745077047,-1.0403775604411991118070,-0.0520608986196072903718,\ +1.276568442453563045902,1.4203725991168176800983,-0.1287251249804796937592,\ +-1.959471210760952208929,0.3404865901494299462726,0.3700863012564228338164,\ +0.9399888255640819201275,0.4874471402488251836616,-0.9277526481559981164082,\ +1.4687996535197915815019,0.6577767757776173951356,-0.2596038157216366548674,\ +1.1286217610308955094922,0.0284581900701165874112,-1.2794761544488175708523,\ +-1.1137434890242723373177,-2.2955389951107569856958} + +#define ZSOURCEI {0.1918412521642277324130,0.4822328106056159024995,2.4722523083922975928317,\ +-0.1999085627658134245443,0.2290361675784305939274,0.1385769022152809337722,\ +-0.1308449665803144978948,1.8188246235702238973175,-1.360744719214450615397,\ +-0.8851525561710794631765,1.8831231089443882797951,-0.7390687967111120304509,\ +1.1162950684058663419762,0.5417636328738030249141,0.9074880499974204983715,\ +0.1136822955664789497332,0.5661113725007503871822,0.7795296942845783005893,\ +0.5870328147250098993482,0.0887163653774847987821,1.3588131422838234385608,\ +-0.7770801239208607880116,-2.1816983571681287656929,-0.6867928574771322569603,\ +3.132774112529277399375,-0.5876856927977032185595,-0.5468023513790022383,\ +0.3644381766801820243806,0.9444714440193706650462,-1.0355805625638589972937,\ +1.6339838311734231623973,2.3222150378340997711746,0.7603859366849585743608,\ +-1.7528561088374936538514,-0.2830657824851525727894,-0.5082187590533610022092,\ +1.2854936372804377509027,-0.1071924175739472628877,0.0680608377011317072780,\ +1.2478214718780462622050,0.2022362844423137018257,-1.1601145695370460586560,\ +-1.3732471859884713971667,-0.0871747108156779304533,0.3318121744832343011922,\ +0.813877556086732623086,0.6766249185129517007553,0.2594423975862346631871,\ +-1.2199874507987620297911,-0.9897424388234272729648,-1.5501341727479884813334,\ +1.3236241898041882780745,-0.6342132090900320928739,-0.4029346079915554490469,\ +1.3618162247590774871497,-1.2268551088323862430229,-0.0165544865341302541162,\ +0.4697449293077746168557,0.5129232238932224241523,-1.2864890116754716942182,\ +-0.5815154649104360418121,0.0042198993973377365435,0.4217149352171605802830,\ +-0.3269590438815029309616,-0.2713027722538356445448,0.9981558319993941719162,\ +-2.0584511427735407984585,0.6360071281896889638929,0.7792532924825519291545,\ +0.8152290078526440719742,0.302690835462471330430,0.7846292874622610158397,\ +1.3471935456922272678071,0.0235796939592457371893,0.8341783427284864549378,\ +-0.8042305059271110945218,1.2811212643144183065402,1.109535684815037281936,\ +1.5542750631114032877633,0.2918299696375577512164,1.0694551283559152743408,\ +1.2577061015533308463432,-2.904044346742185922494,-0.2870782813229341146055,\ +-1.2760057024544790849063,0.283985753428556031430,-1.3175328345022150333676,\ +0.8988284250430720323521,-1.8112538507045783386928,-1.0995994665801063217003,\ +-0.4449820788080595668212,0.5855247264136794749234,-0.7093745947817804431423,\ +0.1905828492221817993535,-0.5445080014401588730522,-1.365437721272832805042,\ +-0.6751146881456216997108,-1.1868018509166287088874,-0.8652762231421259331299,\ +1.3117247998219794258290,-0.2796512899932403484193,-0.2218002038379895402009,\ +-1.9751109128000410297687,0.1122673197507930292760,1.2555755229270146866583,\ +-1.9515162530964744735940,0.1977614186013104402573,0.2974354172914404070838,\ +-0.4957061458086293725955,-1.5054836292812976417110,-0.6943524973783626874635,\ +-0.4602840002479897663079,1.3936515683502606055555,-0.0740340331806867979481,\ +-0.6177784175603027172485,-0.2145874798022777973916,0.8980342752260660477148,\ +0.0337374057866826476682,-1.1446268541982025368497,-1.2555511561156762478930,\ +0.8386583904487018292784,-2.446562477109361033456,1.5119860122449106931697,\ +0.1869337784232076582480,-0.3349553867803892748256,0.131542782393392315710,\ +0.0174597275898690194873,1.778529610135566318974,0.618702552545296935449,\ +-1.6771343167918386640736,0.7435693095206714620105,-0.5379787827929278787309,\ +-1.5913674625260130213178,0.1780898508541619018608,-0.25671563034338790166,\ +-0.2862788634729842573989,-0.4906498481756356722094,0.3900012521547605026662,\ +-1.84205336065016078706,-1.5234366963806009742655,0.2365255965998115661453,\ +-1.7320610820689275044515,-0.2834038205636343343841,-1.5009852265404577398300,\ +1.7422292049682128745047,-0.2436614706579122158203,1.0689605525655874185276,\ +2.3690635117400145048805,-0.1930577380634317663510,0.2735573868128330365934,\ +1.5569516288681788385162,0.7150292123422491430418,0.5468099984878278529976,\ +-1.5473048247641658647922,-0.4396944448158471852039,0.3112403247843043563314,\ +-1.26537605009678144619,-2.3950841704590355440985,-0.2592078718414222993083,\ +-0.4387845364322502383914,0.7187054098642295940635,-1.2095433748027486497989,\ +0.1746582197927172008800,-1.1207357315790709151315,-1.2331864421831437717003,\ +1.040361177077658849655,-0.7973568364198504454521,0.4368277956791839500283,\ +1.3732228487397339922182,-1.520585040532598242180,1.0844121210894082096843,\ +-0.6034908039898051468342,1.691270204422151035573,-1.0147637811434373489305,\ +-1.543831005555790003569,-0.1908715944289217369967,-0.9777526617402377828725,\ +-0.5011593951678696701180,-0.6581745867398813842897,-1.222568274664002307972,\ +0.5739764929054486097826,-0.8178919175936580909791,-0.0839772392176704185474,\ +-2.2467727407263837768880,0.5311634003342166066020,0.0127028917577170375602,\ +1.4336465735979566638036,1.140130846486164140074,0.7078292602873598182711,\ +0.6419172762011019495176,-0.7752020495699509794463,-0.2227250211522007472542,\ +0.1418062472773869153730,0.3461143754334283229035,0.9346610138588777871860,\ +-1.1766714696487656777180,-1.155321545637316260624,-1.0348373990480448370022,\ +-0.4377198927182634480282,0.5342901632756290597470} + +#define ZRESULTR {0.6603968316049805276080,0.2592621892570787789367,-0.3318454617138371642859,\ +-0.2997813790812504652905,0.5587163403231363290047,-0.1189561420345783687713,\ +0.7381324458324397541631,2.142136719995466176414,-1.3458078751828295160919,\ +1.3129764303388649082649,3.3523257180963095258619,1.2630048090441925445759,\ +1.6535623505413692413413,1.0844508507590295831591,0.4550473771130031930277,\ +0.9621269818830543441024,1.013062998048058771516,0.9256575460351638140466,\ +0.0102887155976816024872,0.6668255580964917994535,1.0432946799591633624260,\ +-0.4668000327046901709593,4.4102457143090099123128,0.6767097030615227826189,\ +9.8624279257033951040512,0.9672974379596046556884,-0.0208338391589294388839,\ +1.0307881917288705952984,0.5404196044618572170037,1.5733521090107187578866,\ +0.4580812522816201659559,5.0350486020971887413111,1.2277369531593618212639,\ +-0.8994082908263842934815,0.8177424613018864363312,0.7782283917530580241717,\ +1.8099404305650070856615,0.8082102149385829159556,0.5629089875114635654896,\ +1.4748501127652635656062,0.6669768846821123586821,1.699726699407153374111,\ +1.298577834389474938703,0.9945484939786765066216,0.7581576733086236030701,\ +0.8456096567246286221931,-0.4135520032774342991111,0.5435636589621466452371,\ +1.810248147243165517395,1.4551350063240526822028,1.4924370356604863552263,\ +2.0000431078502241000194,-0.1972543510483453221838,0.5590324784918681011447,\ +2.068372118994307395923,0.0835345805491203158288,0.4460902185747692705320,\ +0.8645923158579836842463,-0.1111931823350623821378,1.8617144830169030100819,\ +1.02983082411914805832,0.7572686801513547338871,1.0567502136654132183224,\ +0.8128189945963255613748,0.8399378223031567225476,1.4017511305320988768131,\ +2.956644273924759147576,1.132754400798835492381,1.265693867178816711672,\ +0.5610629520868651853860,0.8055306977755860575741,0.9213852223586275203004,\ +-0.4199962882323669544071,0.9807673830270958736932,-0.3590470367287647013299,\ +1.2420524197984359471292,1.6706050779946230999684,1.6747789118158156185245,\ +-2.16927668845889520810,0.8261050353521025568782,1.3826822282594428692448,\ +0.1727680624199215975167,9.057823043102500193413,0.9457668311290795548629,\ +1.833812877114292083647,0.8940453644463330906689,0.2341249670166324903242,\ +1.363576337757532064288,0.7162232362688260023376,-0.7845189065148089335722,\ +1.097237008647440115183,0.5573625517969845732935,1.0662662205819704031029,\ +0.9561831479074293094200,0.6520642360884429944434,1.8151009640860991112277,\ +1.0674278234021243871865,1.0313090898160910402481,1.3624555698791520619295,\ +1.757155073751679230654,1.0064753136983999315390,0.0749572440340378898238,\ +3.6259465360107721032534,0.9955398364095786600814,-1.0568745874589622336,\ +3.5878460752889553830869,0.8668812254131966765769,0.8997505054992860351604,\ +1.040555384796898463762,2.1965462296781987916461,0.8333142225488954224488,\ +1.0523855335407785727142,-0.0458709738274477793474,0.5458332569596060501738,\ +1.195961273756254605871,0.8884437146730177481402,1.2715015087988947861675,\ +0.9300156339115848158627,1.2162605499523735375078,1.4405129668915395146911,\ +-0.9683533444224800001976,5.4479898316980985839564,-1.9178644985834492064924,\ +-0.5029446665597729904107,1.0267816742413071740003,-0.4044626121435637711166,\ +-0.5620727987859718277619,0.5138734552212488315703,1.0709367349326839313761,\ +2.6385439370616894372290,0.9332628709668898681073,0.4809878535892211925962,\ +2.3274184357315248483644,1.0152140200890447108151,0.6317250697033859330176,\ +-0.390230756302790915413,0.7144330074150475606842,-1.0633635201019895344388,\ +-0.4238985166974506557658,0.7604701169947127858961,1.0257495217324759106958,\ +2.8333209029821588842424,0.8984586856426056700187,1.7791621377373312284931,\ +2.4485583447413197255571,0.4244935342539479794510,1.4527777983860266086680,\ +4.1768674382240673637057,0.8760717584983536143639,1.025358467451832122919,\ +2.0225373659775809365158,0.1929591577071132768584,1.0348979760988403775457,\ +2.4313713775277490114490,0.8666224950927583492444,0.0284371329577691699109,\ +1.9091763626738669223926,2.934604495210217045553,1.0152593733387236252241,\ +0.2952893892910067874524,1.1132087589342971600814,0.7251532821639393722180,\ +-0.8189305685602711326609,1.5345662883929571673747,1.7188713168135731912400,\ +0.4555641729620423796554,1.273008943337736509349,0.4560137683691281029752,\ +1.1053164018215166919390,-0.9060167575034622222674,1.0910838839542402745053,\ +-0.9695473009615381831949,2.7466955042474223702698,1.4261078323829836644876,\ +2.297318046615583586600,0.8629928731306283351543,1.2099030156571450866920,\ +0.5606054313387058840590,0.8663522170995916482639,1.8289146898108739058841,\ +0.7647265415048952741373,0.6847484857113015355168,1.0021685183539132957264,\ +1.3866261204365910586489,0.1714987437851132057176,0.9918063704778133926609,\ +-0.8398571556569223162114,1.624536447087556512159,1.17576217917109437927,\ +0.7155426268638502840247,1.1625689563760244205071,0.6145684296686997338810,\ +0.1028453801776162412907,0.8392286126386587774562,1.4202930257299617444744,\ +0.7599315975784372012569,1.74429364867563263530,0.4552293130713663815712,\ +0.4842614797058485409664,-0.759839135565466450295} + +#define ZRESULTI {-0.146941580724984616202,0.4874941601771347610139,-5.8732506000776529830887,\ +-0.1923557391894928081388,-0.1938092227520436805488,0.1380525220047903456333,\ +-0.0894197912409416678647,-2.2083871916990625017263,1.38762940282270652581,\ +-0.379707247416236348680,0.2563331150684992620903,-0.1514182976925468326890,\ +-0.2833925825567581990860,-0.1897432487381172094842,0.9841855659814751078329,\ +0.0334435644614089755411,0.2943712296517632109882,-0.6135431940236653058918,\ +-0.6213108038265401367184,0.0664065988188502348555,1.5707022449109617756591,\ +0.8020378110570226537490,0.8061058304221635495423,-0.6229364595259883063960,\ +5.873854580840536243613,0.3548772564844954735541,0.5743671991358663131422,\ +-0.0964195772855189620065,-1.015948375800173053563,0.1544112964905340057431,\ +-2.427720301875694985938,-1.0527358981959802353146,-0.2804463002040958885530,\ +-2.667664304679369102757,-0.1773304122311009645152,0.3851475525760940099573,\ +-0.6144403782537597447089,-0.0639215126270850642065,0.0563572709924226103451,\ +0.9949983775946195097006,-0.1541120072724549983079,0.3483472405495082191429,\ +-1.4521802331617248427165,0.0118245383836800051908,0.2351284238449595775933,\ +0.7067939417094389886742,0.6875306193270583898780,-0.2231728770983253673510,\ +0.2822282491943420845715,-0.3606863345205877369182,-1.789492973412827536706,\ +0.1867542931864467348202,-0.6684973125435003105110,-0.3544323112754915183764,\ +0.1903651481757896168912,-1.5570503331148395353978,0.0148172477875626266292,\ +-0.3065501441038122609761,-0.5331323204569118345830,0.4924734236714592428008,\ +-0.2951210995789439461845,-0.0027560721209946860942,-0.1068344484336290478588,\ +-0.2118570413928013151939,-0.1610793407630224660654,0.4868738628243398092188,\ +-2.579960937463402714798,0.2378086541486917060428,-0.2428029308169650513083,\ +-0.8265359232776167131007,-0.1960976284506159017518,-0.6230605514253650945022,\ +-1.755406116186124965139,-0.0046349019875992188491,0.9016172621635419881514,\ +0.3372605888766848636351,-0.8436494304870341132130,-0.1192082555849750258314,\ +1.0830200228715931576318,0.1806566116072005345750,0.6790264707808069122308,\ +1.609828137915977341876,1.2968382390971706641380,0.1218796661012466753249,\ +-0.5166846594494688416077,-0.1472753279361777856149,1.7212963380251158351797,\ +-0.3127599294310591804269,-2.89888504993117113173,1.1780998114195078141364,\ +-0.0361775267207019371463,0.5456053298268405127303,0.4123679880285295307196,\ +0.0659019050150095875296,-0.4713866341281334748636,0.9028599597514885832794,\ +-0.3674007976866919822356,-1.2146233237644410429823,-0.2198736582857065691154,\ +-0.8094828887322721433506,-0.0706994284778254822310,-0.2230241649514515533959,\ +-0.5643984283124198197967,-0.0164146852495472492239,-1.3391611472776376867699,\ +0.1376079760459386902571,0.1047929421413649753170,-0.1533297870650806860038,\ +0.1966501815957944765412,-0.7921571860524847519258,0.5604745942609183906313,\ +0.1489022072975806909589,-1.8902500881495403195487,-0.0621612461401919516590,\ +0.0270260228763795351536,-0.1072348104191992446133,0.4697601544599027123539,\ +0.0124466007411300864927,1.0036512376933612866736,-1.049412060795365198018,\ +0.6666269392002136529030,2.010144371510963257066,1.2757551800142050701936,\ +-0.1634497680436179101182,0.0805305413426501415231,-0.1208519512813724661182,\ +0.0144424770778995917309,2.8348773781599185817015,-0.2949185744370810824400,\ +-0.7818376664535492404084,0.5616872313168002062156,-0.5124110438039969350754,\ +-0.9747306641614861266731,0.0065779403553887496811,-0.205370183808804979142,\ +-0.269054670595636091779,-0.3938808526857590086578,-0.0634893958645683514908,\ +-3.0489600352607997280074,2.072697136598120604134,-0.0161438616695122189038,\ +-0.6420425137334005993850,-0.144832386550082847787,1.3961681016866522853093,\ +1.534869934827646220654,-0.2242019675630647912445,-0.5795004710241905554469,\ +3.3483419852888491874410,0.0991308462877908275201,-0.0425076535895645771235,\ +1.309216767461068409162,0.7684601350295457988793,0.2535070961278987344834,\ +-0.3156127379694732559834,-0.278872470151356244283,-0.3161734445550384298151,\ +-0.106765701893629952335,-4.6100082079818358593570,0.0493978828262259944681,\ +-0.4363059774746961272385,0.3760761368145200678192,-1.4011279329067940491171,\ +0.1037666142610354780285,-0.5844725415055048722834,-0.6033334328120393275086,\ +-1.1866522252940947534938,-0.2666075239397875384917,0.4100487177769164826024,\ +-1.570972740050773142073,2.0165334475753500242945,0.9815781508770222707483,\ +0.3701172711568467832421,0.5330671903876023076663,-0.4865756887562372456912,\ +-0.7719024118076073248673,-0.101927682205751976574,-0.6886382760934363078675,\ +-0.4533487312581489514507,0.4994598581237761347751,-0.2054810163364952091403,\ +0.4584447177031794051771,-0.7868410449880314239124,-0.0043750939988532102504,\ +4.4747804523350742655907,-0.5502105833706960602569,0.0016307130557308498371,\ +1.83024619927524345719,-0.4687597592810309743427,-0.2779394557997144632466,\ +-0.5547224826362566751925,0.400556327585974369931,-0.1797184375596841132694,\ +-0.1415425280521077078255,-0.2158502978608074218680,0.2764160437046866980459,\ +1.326476685000083532984,0.0406909700160508550071,-1.1778701919064038516893,\ +-0.4054547584096580559176,0.419311934137157338309} + + void dcossTest(void) { - printf(">> Double scalar\n"); - printf("dcoss(0) = %e\n", dcoss(0.0)); - printf("dcoss(PI) = %e\n", dcoss(DPI)); - printf("dcoss(PI/2) = %e\n", dcoss(DPI/2)); - printf("dcoss(PI/3) = %e\n", dcoss(DPI/3)); - printf("dcoss(PI/4) = %e\n", dcoss(DPI/4)); - printf("dcoss(PI/6) = %e\n", dcoss(DPI/6)); - printf("dcoss(-PI) = %e\n", dcoss(-DPI)); - printf("dcoss(-PI/2) = %e\n", dcoss(-DPI/2)); - printf("dcoss(-PI/3) = %e\n", dcoss(-DPI/3)); - printf("dcoss(-PI/4) = %e\n", dcoss(-DPI/4)); - printf("dcoss(-PI/6) = %e\n", dcoss(-DPI/6)); + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dcoss(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } } void zcossTest(void) { - doubleComplex pi_pi = DoubleComplex(DPI, DPI); - doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2); - doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3); - doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4); - doubleComplex out; - - printf(">> Double Complex scalar\n"); - out = zcoss(pi_pi); - printf("zcoss(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoss(pi_2_pi_2); - printf("zcoss(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoss(pi_2_pi_3); - printf("zcoss(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoss(pi_2_pi_4); - printf("zcoss(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); + 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=zcoss(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } } void dcosaTest(void) { - double out[5]; - double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; - int i = 0; - - printf(">> Double Array\n"); - dcosa(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("scosa(array) = %f\n", out[i]); - + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dcosa(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } } void zcosaTest(void) { - doubleComplex in[4]; - doubleComplex out[4]; - int i = 0; - - in[0] = DoubleComplex(DPI, DPI); - in[1] = DoubleComplex(DPI/2, DPI/2); - in[2] = DoubleComplex(DPI/2, DPI/3); - in[3] = DoubleComplex(DPI/2, DPI/4); - - zcosa(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zcosa(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zcosa(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 testCos(void) { printf("\n>>>> Double Cosine Tests\n"); dcossTest(); diff --git a/src/elementaryFunctions/cos/testFloatCos.c b/src/elementaryFunctions/cos/testFloatCos.c index d6d07416..4e19826c 100644 --- a/src/elementaryFunctions/cos/testFloatCos.c +++ b/src/elementaryFunctions/cos/testFloatCos.c @@ -12,64 +12,471 @@ #include "testCos.h" +#define SOURCE {0.6087216374946681218816f,-0.4914009399790010834685f,0.2966492127240239473629f,\ +-1.0120131171793795843428f,-2.1768580524449996360659f,0.0399891371904198267284f,\ +0.3264664449949340463419f,0.3928915710000103755917f,-0.9023248339668938911018f,\ +-0.7061054028011619632110f,0.6351420537982425118528f,1.7243031942788638044561f,\ +-1.193843423508647916265f,-0.6699486724870092890782f,0.9455390047179551560319f,\ +-0.7269584830448905243827f,0.0587220167793607444873f,0.7465722023081590164040f,\ +-1.8115798920517958148224f,-2.7758706356233147083401f,1.6672616062636114175888f,\ +-0.0836705642425854267952f,0.3278617890836109105557f,-0.4784618803967296551960f,\ +-1.5167866307363953026766f,0.3278666902123760218402f,1.4583399615307341967707f,\ +0.1568728504489345088f,0.8788327319516627822438f,0.6503974594047504664829f,\ +-1.2192475208695570110251f,1.1760897921697979207067f,-1.8443279857673484656289f,\ +0.7800878370874437806037f,-1.7143820612787801227483f,-1.2442138561935551788196f,\ +-0.5030865876060848229656f,-0.7500891916411158710787f,0.0131204357988426462828f,\ +-1.3051873378120935065283f,-0.4721103394959948462706f,-1.08171405175402890464f,\ +0.1772346225663179453136f,0.0709726766378662859980f,0.5997183167182360552516f,\ +-0.7982542475055777186910f,1.1146919091581586336304f,-0.5226194052411643475864f,\ +-0.3280122727754089528851f,0.0845844607820355476324f,-0.4076056231156577891461f,\ +2.671024580732940023609f,0.2751537532064078916960f,0.6141628828811964702084f,\ +-0.7694928564341785293124f,1.5452838740749164081478f,1.2047554263319388834219f,\ +-0.4418728868867642933793f,-2.3845314085200706166745f,-0.4507303538478215632068f,\ +-1.2843948816610906149549f,0.6258568994217935665958f,0.5221599455292258440409f,\ +0.6881147826420792590341f,-1.5350411433640571701176f,-0.9627472135269001807245f,\ +-0.5218069771892938080171f,0.1257945676013507985136f,-1.6629602539620385037722f,\ +-0.1168122168368753571732f,0.6319751771097191772597f,0.0279680711838030011951f,\ +-1.0789454333610759562134f,-2.2539675570413915117740f,0.0159524501831603895963f,\ +0.7246005623822228125519f,1.3584241656028799294376f,0.1335331404272114830256f,\ +0.8003059664568770159576f,-1.5933335032689068810896f,-0.2766963701941145270524f,\ +-0.1259819476132254256751f,-2.1871819624452908392698f,-0.0027183437417650840526f,\ +0.0895441283705892265843f,-0.0655528187812533247314f,0.0082181667448872272597f,\ +-0.1292799439278431716804f,0.8059814954561199673577f,-1.0227158239595737221350f,\ +-1.1728578375397291644333f,0.3095622814458759419765f,0.4085150016548139140227f,\ +0.4376992889872045044974f,3.0932123457325086945957f,-0.2404500241757465406334f,\ +-0.2553482065690487190501f,1.0058683512127921666490f,1.8395637792194936555035f,\ +0.3411429898658094317376f,-3.0536685582128435534344f,-0.1095788307430261981912f,\ +1.6414918920137913094237f,-1.0744672373614887472826f,1.5353378953533194373193f,\ +-0.8528406784492137404641f,-0.7422456212235352124296f,0.1342811638770788351671f,\ +-1.6549750406888592557664f,-0.7256367869747750720677f,-0.0862485588565954086615f,\ +-0.0561038363580659213414f,-0.0030846890449726638815f,0.2539566584786872027735f,\ +-2.255576969911772700073f,-1.7353562843564334094992f,1.4790955315931679781016f,\ +-0.6277258320505759714436f,-0.874734985447433444072f,1.7535503835541961237254f,\ +-0.8019918985373268860428f,0.2826253943812546687298f,0.9297345065408313402600f,\ +-0.1628091770786383452041f,-0.5361503318172788912221f,-0.1559543394910963276523f,\ +0.4214606760227143644748f,1.9422068405845787086861f,1.126122745997659491124f,\ +-0.3806596390838080656849f,0.2838150495409667017910f,0.5356418000869134221631f,\ +-0.8698259506453359657385f,-1.4811954887734988250969f,-0.6640101248288414748089f,\ +-0.8768395331826340788339f,0.1637943427647920169310f,0.8023136616688257838348f,\ +1.9190648920981443481537f,-1.1659867862660415749332f,0.9175250832331292016875f,\ +-0.4629851548188154697350f,1.1531379126231540155345f,1.280357188491430875388f,\ +0.8752030571429955108087f,-1.80360898378670553299f,0.5261137866109517613467f,\ +0.0015036147858927245008f,-0.9395126502065724860557f,0.1254332133415215488892f,\ +0.7981010350443900058792f,-0.7787639258289269506008f,-2.211373434923878722458f,\ +0.4245313340753193442900f,0.4777310697112210347015f,-0.7091015173222630085803f,\ +2.5269774755909995000991f,-0.5189834616032670266961f,0.7465455379507028865760f,\ +1.6922232637382539355286f,-0.7527036628439752741215f,-0.1791091421294778995854f,\ +-1.143803039940205490410f,-0.3557089242818732288676f,-2.5859928945830414903639f,\ +-0.4620292997028574988327f,2.1043646801028508264153f,0.2700104378784371483846f,\ +-0.5683100411735593215923f,0.0576234736047250076241f,-0.3494123351876678440497f,\ +-0.6437179916333417573071f,1.1183843932324186720706f,-1.7070244497383502135790f,\ +-0.5423910203569126675660f,1.478528409100926088726f,1.4635937207455358421981f,\ +0.9926533118110351106012f,-0.7069946768514858703725f,-0.7247022468472048561949f,\ +0.0958136359005943571976f,-0.3502577985930430126693f,-0.7552136456030923428173f,\ +0.4974020403078212582137f,-1.1482817888259779781635f,-0.2861580091485689814057f,\ +-0.5017215979538576231533f,-0.6146143460074020570261f,-0.8743941016318307335453f,\ +0.6112858348465053381915f,1.1276508199848169766710f,-0.6796253617896085286176f,\ +1.0967206821241466396799f,0.3644470031679390431556f,0.2076189090924974445240f,\ +-0.5458105472995297136052f,-0.0671640776881476525562f,0.9301013215147568846675f,\ +1.4191187165731935504454f,1.9739542618337482249302f} + +#define RESULT {0.8203796801888452172591f,0.8816726743563225721090f,0.9563213494741442666225f,\ +0.5301548730715204271746f,-0.5696350270974277485436f,0.9992005409985472708101f,\ +0.9471814588690369296486f,0.9238058529293791121262f,0.6197871850499613310959f,\ +0.7608947481851529026642f,0.8049874252319156875402f,-0.1529046956055711559141f,\ +0.3680890208730970281081f,0.7838535385146575551474f,0.5853059322813873865954f,\ +0.7471992477828661716188f,0.9982763577574981228580f,0.7340210854728602685171f,\ +-0.2384636600673788464633f,-0.9338657938993391027793f,-0.0963157386477964672089f,\ +0.9965016599751398418405f,0.9467330527147245211594f,0.8877041448701339376726f,\ +0.0539834417486552073373f,0.9467314744445589624888f,0.1122194864288899307514f,\ +0.9877206673462950448084f,0.6380503687973807513956f,0.7958431986465404062159f,\ +0.3443523016260275904088f,0.3845373047091283913446f,-0.2701334763293031793197f,\ +0.7108517612540402597077f,-0.1430928615933441672148f,0.32080801483743826008f,\ +0.8760985949432102959378f,0.7316280694838999121288f,0.9999139283169750092028f,\ +0.2624969502467918158750f,0.8906105597759395031687f,0.4698159512131697135295f,\ +0.9843350146218102780793f,0.9974824965990314318276f,0.8254946325091827574738f,\ +0.6979579732366844035951f,0.4404541009116093031039f,0.8665146735535679267670f,\ +0.9466845833195259851678f,0.9964248667932769087940f,0.9180726139212290748404f,\ +-0.8913108719456435125039f,0.9623834350402660220425f,0.8172561425171237514675f,\ +0.718263617781651042549f,0.0255096851968806929978f,0.3579214307842031317364f,\ +0.903952340447022550940f,-0.7268574491788566405148f,0.9001291834726419249790f,\ +0.2825020879048804056666f,0.8104614523160890149356f,0.8667439221341659560949f,\ +0.7724446547102603588542f,0.0357475654825572253248f,0.5712673305171682702763f,\ +0.8669199123046601451748f,0.9920982915300309290529f,-0.0920335062605047438122f,\ +0.9931852073290609039802f,0.8068622676403011118040f,0.9996089189905136285219f,\ +0.4722581851967700972139f,-0.6312557202207959017315f,0.9998727623649044105036f,\ +0.7487642434889083542515f,0.2107793581335721255776f,0.9910976901702407415584f,\ +0.6964871898378746095659f,-0.0225352686591101247782f,0.961963168947402524900f,\ +0.992074764843193790398f,-0.5780897184534614652307f,0.9999963053059259809885f,\ +0.9959936026023269439733f,0.997852183268367110003f,0.9999662310577351886920f,\ +0.9916549805054094557377f,0.6924034092861499622984f,0.5210498486203913870440f,\ +0.3875187390378670992952f,0.9524670084743368514424f,0.9177117455650365407394f,\ +0.9057292314266010002655f,-0.9988299011655918935304f,0.9712309045685737496356f,\ +0.9675754035185222257098f,0.5353549836201899614352f,-0.2655433409023978952312f,\ +0.9423728774251888262725f,-0.9961371662051550224248f,0.9940022450449995661259f,\ +-0.0706366921418750404182f,0.4762007884740003804680f,0.0354510015922323284965f,\ +0.65784633984897000758f,0.7369525027778347503471f,0.9909978235616448971612f,\ +-0.0840793332663393455650f,0.7480769942249303472437f,0.9962828981406220973938f,\ +0.9984265925479938186271f,0.9999952423505205079124f,0.9679259470687455735316f,\ +-0.632503122148043273043f,-0.1638182491633654591645f,0.0915723300147998908738f,\ +0.8093652317898135661878f,0.6412002458492904732879f,-0.1817384524188947747536f,\ +0.6952764275967198148720f,0.9603265844478726664946f,0.5980467860661466961147f,\ +0.9867758355724630670025f,0.8596815738538068352170f,0.9878637498486452228619f,\ +0.9124923605358673528443f,-0.3629301323805959045288f,0.4301632279198022157374f,\ +0.9284197599136463363578f,0.959994136496382766133f,0.8599412360983218484023f,\ +0.6449595684306472787028f,0.0894809955848772375919f,0.7875272110120042912129f,\ +0.6395838526894777054110f,0.9866156703762346547038f,0.6950451267922697073942f,\ +-0.3412708317791682266495f,0.3938437014688686566011f,0.6077873470346980555590f,\ +0.8947232532371431901197f,0.405621261011146261311f,0.2863729991092465732017f,\ +0.6408409897588510650834f,-0.2307152077489570130009f,0.8647651606784810818240f,\ +0.9999988695715007480658f,0.5901815182487093469632f,0.9921435633684139165922f,\ +0.6980676864202854936536f,0.7117823002210422744795f,-0.5976582378696937425389f,\ +0.9112318735935986957486f,0.8880403834946687391394f,0.7589472311619362976387f,\ +-0.8169954127513406882954f,0.8683238289487801297994f,0.7340391936884439472166f,\ +-0.1211287602524158124595f,0.7298432754851863490941f,0.9840027922687679673430f,\ +0.414135922956764768177f,0.9373998379717353168772f,-0.8495842484392269744475f,\ +0.8951497493851807707443f,-0.5086089166239101677647f,0.9637681122030780089815f,\ +0.8428117284541520870533f,0.9983402269892645009008f,0.9395740596053013815592f,\ +0.7998698514817192961601f,0.4371360854041511645462f,-0.1358071578606558360569f,\ +0.8564769211630707257399f,0.0921370549444396474970f,0.1069973881579713986811f,\ +0.5464696941763740323239f,0.7603174194154225240538f,0.7486968394521967828936f,\ +0.9954133840567818136691f,0.9392842830606296100626f,0.7281251176521188472890f,\ +0.8788251271401545938744f,0.4100551583355765972172f,0.9593354263834207307227f,\ +0.8767558837388640391453f,0.8169958925140410332943f,0.6414617938312918710153f,\ +0.8189107275146941811172f,0.4287832557249183773607f,0.7778082340710044118026f,\ +0.4565162294470550552461f,0.9343210101535780465198f,0.9785245037094734144034f,\ +0.8547068075395470865274f,0.9977453410917197507146f,0.5977527578720709389160f,\ +0.1510966938752993093953f,-0.3923250465140346587845f} + +#define CSOURCER {0.8652785065984375245662f,-1.3368838685782120645484f,1.6264408224927449087005f,\ +-1.8690897079220740728545f,0.9951518628175756164822f,-1.688893672224414332916f,\ +-0.7497508971113807652031f,0.8268999681758193442960f,2.2753757356206412154620f,\ +-0.3872960166494098244172f,-0.0799160908491712979052f,-0.1884631346495315440404f,\ +0.2094439405660133701748f,0.3401928613448036986533f,-1.2494684410199645707706f,\ +-0.2979401746978811993394f,-0.5157853813810977516852f,0.7932915899466403963913f,\ +1.5620570356415210966361f,-0.844359823617092053460f,-1.0437648196696975855247f,\ +1.932990034770735388037f,0.1853438341489616059121f,-0.9962801836788344189699f,\ +-0.5388351087532706751304f,0.6070505636662814064053f,1.5888625026588754085566f,\ +0.2617832537783132407228f,1.1970490473872079650874f,0.12578128394682370f,\ +1.39770280807620150831f,0.2099988595145213798876f,0.3421775699723230701466f,\ +-1.8782261453279518459425f,-0.6664189835307311460255f,0.8127373993936040097452f,\ +0.3767873922208855863580f,-0.6374952135371538819442f,-0.974468710244571822976f,\ +-0.6722228555627711710230f,0.8585099013504803311392f,0.2446046980188737729467f,\ +-0.9043973313471151964649f,0.1358880163960933251666f,-0.7695067786636404782996f,\ +-0.8938327489087023458580f,-1.9114553148531847615033f,1.0171770494404650531095f,\ +0.1835886481619793952902f,-0.3163377812153213564095f,-0.9195862784206330076131f,\ +-0.1072018571251609070361f,-1.7348283435296543153470f,-1.0280015900042309695550f,\ +-0.1045837022850216735392f,-1.5256722999247080974072f,1.1084725864612092749439f,\ +0.6805135215035358342561f,1.6689686098271181435848f,0.2989927467898484958475f,\ +-0.5006434061857586437227f,0.7116857998261418849495f,0.2485278541920327155523f,\ +-0.6900291112600369647367f,-0.6267355965803992345897f,-0.4282667464892624953343f,\ +-0.7336468298863978443336f,-0.3574021092257179676999f,0.2860336762162377644003f,\ +1.1425687805503488281289f,0.6919758815746888114262f,0.8010668577124011591195f,\ +1.7767980155474207837329f,0.197833004692656910795f,-1.8362538605563030191803f,\ +0.3869279168511000066566f,0.5325960336459322208569f,0.0883113910959548165103f,\ +-2.6418732644466236259007f,-0.6564988101863107328171f,-0.5566003466732061255584f,\ +-1.479779603028395396080f,0.1430519638431400619716f,0.4320971393139262928251f,\ +-0.3181852113191626640898f,0.5371570151959671468589f,1.4535234978041589037900f,\ +0.3101271616559506116850f,-1.340732344843439172166f,2.060471964067395411746f,\ +-0.0787601433757613156317f,-1.0771984898755455617447f,0.5648344207720079612756f,\ +-0.3508614616179664413842f,-0.9690830277765453137917f,0.5156195652795886319453f,\ +-0.5293387239139798472465f,-0.9571359764302782568990f,-0.2269082544310593585468f,\ +0.4895059752188103407988f,-0.2522128725839323237778f,-1.4975804078553673903684f,\ +-0.1603766798935232218426f,0.1464267186008629817451f,2.1615853347433549025425f,\ +0.0399126120226646896594f,-0.5544284809990485118902f,0.5328414558183197646812f,\ +0.3907850242802237139550f,-0.3787774013072854883966f,0.8417359908290755754479f,\ +0.3176700186731257757877f,1.592244506660871694592f,-0.9951932381029318097632f,\ +0.0410951006109449151760f,-0.5188832355843150390129f,-0.4767385649438746209050f,\ +-0.3777777846485093071749f,0.7910209775449256186519f,-0.7086741723196363640369f,\ +-2.3537808974280172158444f,0.3583714955858253170540f,-2.508952017613233387294f,\ +2.087806522953977506063f,0.2382312089001768218299f,1.9833918106929020463980f,\ +-2.167582574594525635092f,-1.401225926702102553278f,0.4640426253451597760069f,\ +-0.3076759844353880168910f,-0.7615259380675128975113f,-1.1385700743993105721330f,\ +-0.4270402705994392755784f,-0.0367498239842839885538f,-0.9128849844856976591956f,\ +-1.9549432857416617626001f,-0.8811112725878604834406f,2.9821802878266292502474f,\ +-1.7022507648063245344616f,1.2487885639051212738337f,0.0676735499770482057391f,\ +-0.2367248998667950132813f,-0.5285347231086527930444f,0.7141648125067473484862f,\ +-0.5878970571029352720771f,-1.1459325979718588683909f,0.4680548872241794833293f,\ +-0.6843012596069305564228f,0.5355357649056337043803f,0.1540760632792411710668f,\ +-0.6157450195036280327088f,-1.41787024661118454816f,-0.4570344170862304378211f,\ +-0.1411796126420029884319f,-0.6614438004746325816541f,1.5436797442842080663183f,\ +-0.0655012358215935341921f,-1.0114218055676069685234f,0.1895887411932805077797f,\ +-1.2984646974992717360919f,-0.5015613008687210827574f,-1.162209366222186623929f,\ +-2.509167640329787563047f,-0.4405707024000362626026f,-0.3943332184880063984167f,\ +1.2805404560028668115024f,-0.3061569333239507750832f,-1.1420665340809226240282f,\ +1.0167026164121319986577f,1.958453071130288769552f,-0.8471715882458593638304f,\ +2.5258191429986913689731f,-0.2048087265120654143491f,-0.4182027716366760183853f,\ +-0.3527210857802417498519f,-0.5595241893671244470809f,-0.6478265699785845654901f,\ +-1.0507861982209916185127f,0.7848448646063929112771f,-0.1328983392812562724927f,\ +-0.8579290931640745077047f,-1.0403775604411991118070f,-0.0520608986196072903718f,\ +1.276568442453563045902f,1.4203725991168176800983f,-0.1287251249804796937592f,\ +-1.959471210760952208929f,0.3404865901494299462726f,0.3700863012564228338164f,\ +0.9399888255640819201275f,0.4874471402488251836616f,-0.9277526481559981164082f,\ +1.4687996535197915815019f,0.6577767757776173951356f,-0.2596038157216366548674f,\ +1.1286217610308955094922f,0.0284581900701165874112f,-1.2794761544488175708523f,\ +-1.1137434890242723373177f,-2.2955389951107569856958f} + +#define CSOURCEI {0.1918412521642277324130f,0.4822328106056159024995f,2.4722523083922975928317f,\ +-0.1999085627658134245443f,0.2290361675784305939274f,0.1385769022152809337722f,\ +-0.1308449665803144978948f,1.8188246235702238973175f,-1.360744719214450615397f,\ +-0.8851525561710794631765f,1.8831231089443882797951f,-0.7390687967111120304509f,\ +1.1162950684058663419762f,0.5417636328738030249141f,0.9074880499974204983715f,\ +0.1136822955664789497332f,0.5661113725007503871822f,0.7795296942845783005893f,\ +0.5870328147250098993482f,0.0887163653774847987821f,1.3588131422838234385608f,\ +-0.7770801239208607880116f,-2.1816983571681287656929f,-0.6867928574771322569603f,\ +3.132774112529277399375f,-0.5876856927977032185595f,-0.5468023513790022383f,\ +0.3644381766801820243806f,0.9444714440193706650462f,-1.0355805625638589972937f,\ +1.6339838311734231623973f,2.3222150378340997711746f,0.7603859366849585743608f,\ +-1.7528561088374936538514f,-0.2830657824851525727894f,-0.5082187590533610022092f,\ +1.2854936372804377509027f,-0.1071924175739472628877f,0.0680608377011317072780f,\ +1.2478214718780462622050f,0.2022362844423137018257f,-1.1601145695370460586560f,\ +-1.3732471859884713971667f,-0.0871747108156779304533f,0.3318121744832343011922f,\ +0.813877556086732623086f,0.6766249185129517007553f,0.2594423975862346631871f,\ +-1.2199874507987620297911f,-0.9897424388234272729648f,-1.5501341727479884813334f,\ +1.3236241898041882780745f,-0.6342132090900320928739f,-0.4029346079915554490469f,\ +1.3618162247590774871497f,-1.2268551088323862430229f,-0.0165544865341302541162f,\ +0.4697449293077746168557f,0.5129232238932224241523f,-1.2864890116754716942182f,\ +-0.5815154649104360418121f,0.0042198993973377365435f,0.4217149352171605802830f,\ +-0.3269590438815029309616f,-0.2713027722538356445448f,0.9981558319993941719162f,\ +-2.0584511427735407984585f,0.6360071281896889638929f,0.7792532924825519291545f,\ +0.8152290078526440719742f,0.302690835462471330430f,0.7846292874622610158397f,\ +1.3471935456922272678071f,0.0235796939592457371893f,0.8341783427284864549378f,\ +-0.8042305059271110945218f,1.2811212643144183065402f,1.109535684815037281936f,\ +1.5542750631114032877633f,0.2918299696375577512164f,1.0694551283559152743408f,\ +1.2577061015533308463432f,-2.904044346742185922494f,-0.2870782813229341146055f,\ +-1.2760057024544790849063f,0.283985753428556031430f,-1.3175328345022150333676f,\ +0.8988284250430720323521f,-1.8112538507045783386928f,-1.0995994665801063217003f,\ +-0.4449820788080595668212f,0.5855247264136794749234f,-0.7093745947817804431423f,\ +0.1905828492221817993535f,-0.5445080014401588730522f,-1.365437721272832805042f,\ +-0.6751146881456216997108f,-1.1868018509166287088874f,-0.8652762231421259331299f,\ +1.3117247998219794258290f,-0.2796512899932403484193f,-0.2218002038379895402009f,\ +-1.9751109128000410297687f,0.1122673197507930292760f,1.2555755229270146866583f,\ +-1.9515162530964744735940f,0.1977614186013104402573f,0.2974354172914404070838f,\ +-0.4957061458086293725955f,-1.5054836292812976417110f,-0.6943524973783626874635f,\ +-0.4602840002479897663079f,1.3936515683502606055555f,-0.0740340331806867979481f,\ +-0.6177784175603027172485f,-0.2145874798022777973916f,0.8980342752260660477148f,\ +0.0337374057866826476682f,-1.1446268541982025368497f,-1.2555511561156762478930f,\ +0.8386583904487018292784f,-2.446562477109361033456f,1.5119860122449106931697f,\ +0.1869337784232076582480f,-0.3349553867803892748256f,0.131542782393392315710f,\ +0.0174597275898690194873f,1.778529610135566318974f,0.618702552545296935449f,\ +-1.6771343167918386640736f,0.7435693095206714620105f,-0.5379787827929278787309f,\ +-1.5913674625260130213178f,0.1780898508541619018608f,-0.25671563034338790166f,\ +-0.2862788634729842573989f,-0.4906498481756356722094f,0.3900012521547605026662f,\ +-1.84205336065016078706f,-1.5234366963806009742655f,0.2365255965998115661453f,\ +-1.7320610820689275044515f,-0.2834038205636343343841f,-1.5009852265404577398300f,\ +1.7422292049682128745047f,-0.2436614706579122158203f,1.0689605525655874185276f,\ +2.3690635117400145048805f,-0.1930577380634317663510f,0.2735573868128330365934f,\ +1.5569516288681788385162f,0.7150292123422491430418f,0.5468099984878278529976f,\ +-1.5473048247641658647922f,-0.4396944448158471852039f,0.3112403247843043563314f,\ +-1.26537605009678144619f,-2.3950841704590355440985f,-0.2592078718414222993083f,\ +-0.4387845364322502383914f,0.7187054098642295940635f,-1.2095433748027486497989f,\ +0.1746582197927172008800f,-1.1207357315790709151315f,-1.2331864421831437717003f,\ +1.040361177077658849655f,-0.7973568364198504454521f,0.4368277956791839500283f,\ +1.3732228487397339922182f,-1.520585040532598242180f,1.0844121210894082096843f,\ +-0.6034908039898051468342f,1.691270204422151035573f,-1.0147637811434373489305f,\ +-1.543831005555790003569f,-0.1908715944289217369967f,-0.9777526617402377828725f,\ +-0.5011593951678696701180f,-0.6581745867398813842897f,-1.222568274664002307972f,\ +0.5739764929054486097826f,-0.8178919175936580909791f,-0.0839772392176704185474f,\ +-2.2467727407263837768880f,0.5311634003342166066020f,0.0127028917577170375602f,\ +1.4336465735979566638036f,1.140130846486164140074f,0.7078292602873598182711f,\ +0.6419172762011019495176f,-0.7752020495699509794463f,-0.2227250211522007472542f,\ +0.1418062472773869153730f,0.3461143754334283229035f,0.9346610138588777871860f,\ +-1.1766714696487656777180f,-1.155321545637316260624f,-1.0348373990480448370022f,\ +-0.4377198927182634480282f,0.5342901632756290597470f} + +#define CRESULTR {0.6603968316049805276080f,0.2592621892570787789367f,-0.3318454617138371642859f,\ +-0.2997813790812504652905f,0.5587163403231363290047f,-0.1189561420345783687713f,\ +0.7381324458324397541631f,2.142136719995466176414f,-1.3458078751828295160919f,\ +1.3129764303388649082649f,3.3523257180963095258619f,1.2630048090441925445759f,\ +1.6535623505413692413413f,1.0844508507590295831591f,0.4550473771130031930277f,\ +0.9621269818830543441024f,1.013062998048058771516f,0.9256575460351638140466f,\ +0.0102887155976816024872f,0.6668255580964917994535f,1.0432946799591633624260f,\ +-0.4668000327046901709593f,4.4102457143090099123128f,0.6767097030615227826189f,\ +9.8624279257033951040512f,0.9672974379596046556884f,-0.0208338391589294388839f,\ +1.0307881917288705952984f,0.5404196044618572170037f,1.5733521090107187578866f,\ +0.4580812522816201659559f,5.0350486020971887413111f,1.2277369531593618212639f,\ +-0.8994082908263842934815f,0.8177424613018864363312f,0.7782283917530580241717f,\ +1.8099404305650070856615f,0.8082102149385829159556f,0.5629089875114635654896f,\ +1.4748501127652635656062f,0.6669768846821123586821f,1.699726699407153374111f,\ +1.298577834389474938703f,0.9945484939786765066216f,0.7581576733086236030701f,\ +0.8456096567246286221931f,-0.4135520032774342991111f,0.5435636589621466452371f,\ +1.810248147243165517395f,1.4551350063240526822028f,1.4924370356604863552263f,\ +2.0000431078502241000194f,-0.1972543510483453221838f,0.5590324784918681011447f,\ +2.068372118994307395923f,0.0835345805491203158288f,0.4460902185747692705320f,\ +0.8645923158579836842463f,-0.1111931823350623821378f,1.8617144830169030100819f,\ +1.02983082411914805832f,0.7572686801513547338871f,1.0567502136654132183224f,\ +0.8128189945963255613748f,0.8399378223031567225476f,1.4017511305320988768131f,\ +2.956644273924759147576f,1.132754400798835492381f,1.265693867178816711672f,\ +0.5610629520868651853860f,0.8055306977755860575741f,0.9213852223586275203004f,\ +-0.4199962882323669544071f,0.9807673830270958736932f,-0.3590470367287647013299f,\ +1.2420524197984359471292f,1.6706050779946230999684f,1.6747789118158156185245f,\ +-2.16927668845889520810f,0.8261050353521025568782f,1.3826822282594428692448f,\ +0.1727680624199215975167f,9.057823043102500193413f,0.9457668311290795548629f,\ +1.833812877114292083647f,0.8940453644463330906689f,0.2341249670166324903242f,\ +1.363576337757532064288f,0.7162232362688260023376f,-0.7845189065148089335722f,\ +1.097237008647440115183f,0.5573625517969845732935f,1.0662662205819704031029f,\ +0.9561831479074293094200f,0.6520642360884429944434f,1.8151009640860991112277f,\ +1.0674278234021243871865f,1.0313090898160910402481f,1.3624555698791520619295f,\ +1.757155073751679230654f,1.0064753136983999315390f,0.0749572440340378898238f,\ +3.6259465360107721032534f,0.9955398364095786600814f,-1.0568745874589622336f,\ +3.5878460752889553830869f,0.8668812254131966765769f,0.8997505054992860351604f,\ +1.040555384796898463762f,2.1965462296781987916461f,0.8333142225488954224488f,\ +1.0523855335407785727142f,-0.0458709738274477793474f,0.5458332569596060501738f,\ +1.195961273756254605871f,0.8884437146730177481402f,1.2715015087988947861675f,\ +0.9300156339115848158627f,1.2162605499523735375078f,1.4405129668915395146911f,\ +-0.9683533444224800001976f,5.4479898316980985839564f,-1.9178644985834492064924f,\ +-0.5029446665597729904107f,1.0267816742413071740003f,-0.4044626121435637711166f,\ +-0.5620727987859718277619f,0.5138734552212488315703f,1.0709367349326839313761f,\ +2.6385439370616894372290f,0.9332628709668898681073f,0.4809878535892211925962f,\ +2.3274184357315248483644f,1.0152140200890447108151f,0.6317250697033859330176f,\ +-0.390230756302790915413f,0.7144330074150475606842f,-1.0633635201019895344388f,\ +-0.4238985166974506557658f,0.7604701169947127858961f,1.0257495217324759106958f,\ +2.8333209029821588842424f,0.8984586856426056700187f,1.7791621377373312284931f,\ +2.4485583447413197255571f,0.4244935342539479794510f,1.4527777983860266086680f,\ +4.1768674382240673637057f,0.8760717584983536143639f,1.025358467451832122919f,\ +2.0225373659775809365158f,0.1929591577071132768584f,1.0348979760988403775457f,\ +2.4313713775277490114490f,0.8666224950927583492444f,0.0284371329577691699109f,\ +1.9091763626738669223926f,2.934604495210217045553f,1.0152593733387236252241f,\ +0.2952893892910067874524f,1.1132087589342971600814f,0.7251532821639393722180f,\ +-0.8189305685602711326609f,1.5345662883929571673747f,1.7188713168135731912400f,\ +0.4555641729620423796554f,1.273008943337736509349f,0.4560137683691281029752f,\ +1.1053164018215166919390f,-0.9060167575034622222674f,1.0910838839542402745053f,\ +-0.9695473009615381831949f,2.7466955042474223702698f,1.4261078323829836644876f,\ +2.297318046615583586600f,0.8629928731306283351543f,1.2099030156571450866920f,\ +0.5606054313387058840590f,0.8663522170995916482639f,1.8289146898108739058841f,\ +0.7647265415048952741373f,0.6847484857113015355168f,1.0021685183539132957264f,\ +1.3866261204365910586489f,0.1714987437851132057176f,0.9918063704778133926609f,\ +-0.8398571556569223162114f,1.624536447087556512159f,1.17576217917109437927f,\ +0.7155426268638502840247f,1.1625689563760244205071f,0.6145684296686997338810f,\ +0.1028453801776162412907f,0.8392286126386587774562f,1.4202930257299617444744f,\ +0.7599315975784372012569f,1.74429364867563263530f,0.4552293130713663815712f,\ +0.4842614797058485409664f,-0.759839135565466450295f} + +#define CRESULTI {-0.146941580724984616202f,0.4874941601771347610139f,-5.8732506000776529830887f,\ +-0.1923557391894928081388f,-0.1938092227520436805488f,0.1380525220047903456333f,\ +-0.0894197912409416678647f,-2.2083871916990625017263f,1.38762940282270652581f,\ +-0.379707247416236348680f,0.2563331150684992620903f,-0.1514182976925468326890f,\ +-0.2833925825567581990860f,-0.1897432487381172094842f,0.9841855659814751078329f,\ +0.0334435644614089755411f,0.2943712296517632109882f,-0.6135431940236653058918f,\ +-0.6213108038265401367184f,0.0664065988188502348555f,1.5707022449109617756591f,\ +0.8020378110570226537490f,0.8061058304221635495423f,-0.6229364595259883063960f,\ +5.873854580840536243613f,0.3548772564844954735541f,0.5743671991358663131422f,\ +-0.0964195772855189620065f,-1.015948375800173053563f,0.1544112964905340057431f,\ +-2.427720301875694985938f,-1.0527358981959802353146f,-0.2804463002040958885530f,\ +-2.667664304679369102757f,-0.1773304122311009645152f,0.3851475525760940099573f,\ +-0.6144403782537597447089f,-0.0639215126270850642065f,0.0563572709924226103451f,\ +0.9949983775946195097006f,-0.1541120072724549983079f,0.3483472405495082191429f,\ +-1.4521802331617248427165f,0.0118245383836800051908f,0.2351284238449595775933f,\ +0.7067939417094389886742f,0.6875306193270583898780f,-0.2231728770983253673510f,\ +0.2822282491943420845715f,-0.3606863345205877369182f,-1.789492973412827536706f,\ +0.1867542931864467348202f,-0.6684973125435003105110f,-0.3544323112754915183764f,\ +0.1903651481757896168912f,-1.5570503331148395353978f,0.0148172477875626266292f,\ +-0.3065501441038122609761f,-0.5331323204569118345830f,0.4924734236714592428008f,\ +-0.2951210995789439461845f,-0.0027560721209946860942f,-0.1068344484336290478588f,\ +-0.2118570413928013151939f,-0.1610793407630224660654f,0.4868738628243398092188f,\ +-2.579960937463402714798f,0.2378086541486917060428f,-0.2428029308169650513083f,\ +-0.8265359232776167131007f,-0.1960976284506159017518f,-0.6230605514253650945022f,\ +-1.755406116186124965139f,-0.0046349019875992188491f,0.9016172621635419881514f,\ +0.3372605888766848636351f,-0.8436494304870341132130f,-0.1192082555849750258314f,\ +1.0830200228715931576318f,0.1806566116072005345750f,0.6790264707808069122308f,\ +1.609828137915977341876f,1.2968382390971706641380f,0.1218796661012466753249f,\ +-0.5166846594494688416077f,-0.1472753279361777856149f,1.7212963380251158351797f,\ +-0.3127599294310591804269f,-2.89888504993117113173f,1.1780998114195078141364f,\ +-0.0361775267207019371463f,0.5456053298268405127303f,0.4123679880285295307196f,\ +0.0659019050150095875296f,-0.4713866341281334748636f,0.9028599597514885832794f,\ +-0.3674007976866919822356f,-1.2146233237644410429823f,-0.2198736582857065691154f,\ +-0.8094828887322721433506f,-0.0706994284778254822310f,-0.2230241649514515533959f,\ +-0.5643984283124198197967f,-0.0164146852495472492239f,-1.3391611472776376867699f,\ +0.1376079760459386902571f,0.1047929421413649753170f,-0.1533297870650806860038f,\ +0.1966501815957944765412f,-0.7921571860524847519258f,0.5604745942609183906313f,\ +0.1489022072975806909589f,-1.8902500881495403195487f,-0.0621612461401919516590f,\ +0.0270260228763795351536f,-0.1072348104191992446133f,0.4697601544599027123539f,\ +0.0124466007411300864927f,1.0036512376933612866736f,-1.049412060795365198018f,\ +0.6666269392002136529030f,2.010144371510963257066f,1.2757551800142050701936f,\ +-0.1634497680436179101182f,0.0805305413426501415231f,-0.1208519512813724661182f,\ +0.0144424770778995917309f,2.8348773781599185817015f,-0.2949185744370810824400f,\ +-0.7818376664535492404084f,0.5616872313168002062156f,-0.5124110438039969350754f,\ +-0.9747306641614861266731f,0.0065779403553887496811f,-0.205370183808804979142f,\ +-0.269054670595636091779f,-0.3938808526857590086578f,-0.0634893958645683514908f,\ +-3.0489600352607997280074f,2.072697136598120604134f,-0.0161438616695122189038f,\ +-0.6420425137334005993850f,-0.144832386550082847787f,1.3961681016866522853093f,\ +1.534869934827646220654f,-0.2242019675630647912445f,-0.5795004710241905554469f,\ +3.3483419852888491874410f,0.0991308462877908275201f,-0.0425076535895645771235f,\ +1.309216767461068409162f,0.7684601350295457988793f,0.2535070961278987344834f,\ +-0.3156127379694732559834f,-0.278872470151356244283f,-0.3161734445550384298151f,\ +-0.106765701893629952335f,-4.6100082079818358593570f,0.0493978828262259944681f,\ +-0.4363059774746961272385f,0.3760761368145200678192f,-1.4011279329067940491171f,\ +0.1037666142610354780285f,-0.5844725415055048722834f,-0.6033334328120393275086f,\ +-1.1866522252940947534938f,-0.2666075239397875384917f,0.4100487177769164826024f,\ +-1.570972740050773142073f,2.0165334475753500242945f,0.9815781508770222707483f,\ +0.3701172711568467832421f,0.5330671903876023076663f,-0.4865756887562372456912f,\ +-0.7719024118076073248673f,-0.101927682205751976574f,-0.6886382760934363078675f,\ +-0.4533487312581489514507f,0.4994598581237761347751f,-0.2054810163364952091403f,\ +0.4584447177031794051771f,-0.7868410449880314239124f,-0.0043750939988532102504f,\ +4.4747804523350742655907f,-0.5502105833706960602569f,0.0016307130557308498371f,\ +1.83024619927524345719f,-0.4687597592810309743427f,-0.2779394557997144632466f,\ +-0.5547224826362566751925f,0.400556327585974369931f,-0.1797184375596841132694f,\ +-0.1415425280521077078255f,-0.2158502978608074218680f,0.2764160437046866980459f,\ +1.326476685000083532984f,0.0406909700160508550071f,-1.1778701919064038516893f,\ +-0.4054547584096580559176f,0.419311934137157338309f} + + void scossTest(void) { - printf(">> Float scalar\n"); - printf("scoss(0) = %f\n", scoss(0.0f)); - printf("scoss(PI) = %f\n", scoss(FPI)); - printf("scoss(PI/2) = %f\n", scoss(FPI/2)); - printf("scoss(PI/3) = %f\n", scoss(FPI/3)); - printf("scoss(PI/4) = %f\n", scoss(FPI/4)); - printf("scoss(PI/6) = %f\n", scoss(FPI/6)); - printf("scoss(-PI) = %f\n", scoss(-FPI)); - printf("scoss(-PI/2) = %f\n", scoss(-FPI/2)); - printf("scoss(-PI/3) = %f\n", scoss(-FPI/3)); - printf("scoss(-PI/4) = %f\n", scoss(-FPI/4)); - printf("scoss(-PI/6) = %f\n", scoss(-FPI/6)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=scoss(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-5); + } } void ccossTest(void) { - floatComplex pi_pi = FloatComplex(FPI, FPI); - floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2); - floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3); - floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4); - floatComplex out; - - printf(">> Float Complex scalar\n"); - out = ccoss(pi_pi); - printf("ccoss(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoss(pi_2_pi_2); - printf("ccoss(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoss(pi_2_pi_3); - printf("ccoss(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoss(pi_2_pi_4); - printf("ccoss(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); + 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=ccoss(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } } void scosaTest(void) { - float out[5]; - float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6}; - int i = 0; - - printf(">> Float array\n"); - scosa(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("scosa(array) = %f\n", out[i]); + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i; + + scosa(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-5); + } } void ccosaTest(void) { - floatComplex in[4]; - floatComplex out[4]; - int i = 0; - - in[0] = FloatComplex(FPI, FPI); - in[1] = FloatComplex(FPI/2, FPI/2); - in[2] = FloatComplex(FPI/2, FPI/3); - in[3] = FloatComplex(FPI/2, FPI/4); - - ccosa(in, 4, out); - printf(">> Float Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("ccosa(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + ccosa(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 testCos(void) { diff --git a/src/elementaryFunctions/cosh/testCosh.h b/src/elementaryFunctions/cosh/testCosh.h index 9ed2d4cb..a4de725c 100644 --- a/src/elementaryFunctions/cosh/testCosh.h +++ b/src/elementaryFunctions/cosh/testCosh.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "cosh.h" #include "constant.h" diff --git a/src/elementaryFunctions/cosh/testDoubleCosh.c b/src/elementaryFunctions/cosh/testDoubleCosh.c index 12ca432e..dda3ba6c 100644 --- a/src/elementaryFunctions/cosh/testDoubleCosh.c +++ b/src/elementaryFunctions/cosh/testDoubleCosh.c @@ -12,65 +12,473 @@ #include "testCosh.h" +#define SOURCE {-1.205685175775274453613,-0.8333271236779051793775,1.2335774322243386880160,\ +0.3311018349037936903123,-0.8052653369328224286505,0.1998487851928297531767,\ +-0.8705427356398579563646,0.1975294304937466050021,0.9239335793216870706956,\ +0.2378506537628061745515,0.0049366873129022617595,-0.669236585027300545647,\ +1.0653101376824569701540,-0.3369456198746673680766,0.6204667311042414423738,\ +1.6283002068610463730636,0.7206914942876857521625,1.7221990362694574727698,\ +-1.0902216302137626158242,0.2874486754733126536721,-1.2122889745482419154854,\ +1.8215917027079053802652,2.8016558959521908889201,0.4050930510541474460773,\ +0.0617355341334478585624,-0.4301267567705842620462,-0.8284509700102783424924,\ +1.0256901078279201389165,1.525021231170059277105,-1.3197460532844016434240,\ +-0.4460647093896898951471,0.5045503141647188494190,-0.8098965560197782798113,\ +0.4268132043604428993433,-1.1336964590865461488534,1.127146072313511160345,\ +-0.9122705295277132586662,-0.3089065753248803058995,-2.3178211651402826909418,\ +1.1439933378277502562526,0.7005552213939509886842,0.4233298618301614135717,\ +-2.5208275627904130899992,-0.2816183187535069021301,0.7467093404219694585677,\ +0.7637510409783198062073,0.3396503036180347767647,-0.9747149605661590276995,\ +0.1472242280982364037722,0.9901921384491637612157,-1.2197737051905059857404,\ +-0.4607952353595122785279,-0.9492383290419380559300,1.4160381392623584417834,\ +-0.2758297498115374613015,1.7324484611160422264931,1.1368999048747294722261,\ +0.8568173351546003457813,0.3519313905007281362280,-0.8897875910518927566883,\ +0.2244273879422930551009,0.2394303391704008243668,-1.0382487030291693841377,\ +-1.0129167707607047432816,-0.3443356316152397234021,0.9904626758703307665144,\ +-0.5700286524862564485616,-1.2143893416629112369520,-0.7653327397314562130504,\ +0.5932733856160632424093,1.0109636831448121085941,-0.2591906321322083317504,\ +-0.6337213759172125593366,-1.3891534527523830000462,-0.7588209965122667544080,\ +-0.7751521002127067516696,-0.2569588781664822740858,-1.1144881209346948480743,\ +1.3683403773429958505403,-1.3171565382517111952865,-2.0066059395312958457680,\ +1.1665757372971858885080,0.1803963656727911035738,-1.4583403177666438566007,\ +-2.0738880513575592701159,-0.7736713589363241050378,-0.4690505767289738225934,\ +0.5290181646318501407222,-0.6366436437236088208280,-0.1514973533385992610079,\ +-0.4939237897364461837846,1.2009977647347911400288,-0.4479171393972471992839,\ +0.7962022364285237241432,1.0553131168098721648363,0.6399283922940391944323,\ +0.6404945676646236485396,0.4718907579921589601213,-1.1669004068172705856909,\ +0.8239670665751658296116,-0.5209824870944876895607,-0.5564774733886624913382,\ +0.677433403214317775287,-0.9826152250790042286255,-0.2301482766849789196595,\ +1.5256623976111793883348,-0.0141042499939363699668,-0.2206563911375283293381,\ +-1.2404617973010751974527,0.4956722425079039262563,-0.9198528977539149886766,\ +-0.9204208417497926619788,0.8313756689801026222852,0.3180154749624292120913,\ +0.2494121392443543194783,1.9786862305439512077498,-0.7539887840478504132946,\ +-0.2522144002260635065049,1.4817018679370650424687,-1.1886013018444978595056,\ +0.3497827881131843619222,0.0164051036269147361424,-0.3356971818656850903295,\ +1.5387250556465030815190,-2.2939395533776552049687,0.5463520678571377464650,\ +-0.6249598247747292223409,-0.3795057983233444121041,-0.6817850926970092650947,\ +0.1137639445438838742275,-0.3667643438770555319728,0.7811095630972452186214,\ +-0.6491897518190495874890,-0.4116889792407164572197,2.2135576248798094489700,\ +-0.8117887004060938549443,0.543890637094475826174,-0.4300056333049381840361,\ +-1.1073264735386671997475,1.9600404811338050237168,-1.1810889471038799047875,\ +-1.5998650464994574882382,0.2370987431342703177783,-1.1837915340560738464148,\ +-1.3250738110530209112881,0.9867165393345800339375,-0.4254735979103318466166,\ +-0.1977286302171261667127,-1.3843612904745590252986,0.0058770971600078198913,\ +1.6513137110120594819307,-1.9479686718307542836470,-1.1853539723928359084226,\ +-0.1952876876932538308118,-0.3910952467587283098993,2.6051477231429984726674,\ +-1.1685665444554920178177,0.4303553159707447783866,0.4980619697002917622974,\ +-0.5945099409025637049453,0.6251723753612481448982,0.5667367529854526742028,\ +0.2583522627447231712061,-1.117334797621551301106,-0.1572947959550771157566,\ +-0.1675843890566963978461,-0.4415529643720014774111,0.0296777742804143623845,\ +0.950535269366517221457,-0.2023353295590510914082,1.2240649283812428116391,\ +0.8408743467009373029342,0.7289489292828028599303,-0.3650480390020546805907,\ +0.7141089622210116116818,-1.6330473677930090747878,-1.2120035333729530790947,\ +2.5522160888662996924836,0.4631064145940361198583,-0.0364246441804653570129,\ +0.7308349560709582748430,-1.059234312724760096458,-1.5608743035213317185,\ +0.7865883787823105821602,-0.1899223202317779357617,-0.4035214553331447628892,\ +1.4993140466900047869103,1.2050329976249689600820,-0.2109320691913422751718,\ +0.0478227589320652582416,1.1080187662760754285785,0.3698710666565526716809,\ +-1.8629885917707584841452,0.1117850228517819205498,0.9930250182564113181627,\ +1.2533428090752711803191,0.5303160507909902010582,0.2252859052932770778099,\ +-0.7558035543285445134742,1.1653980888802857318609} + +#define RESULT {1.819266428064204577097,1.3677812549451693335811,1.8623697303215194231996,\ +1.0553168123818659207558,1.3421296845542964870646,1.0200363222965405096687,\ +1.403465448863383979727,1.0195724536239654245406,1.4580674176636316818900,\ +1.0284200725097112361084,1.0000121854655601438822,1.2324226844271635172845,\ +1.6231798706546742838697,1.0573052784271492754442,1.1987446423322825062030,\ +2.64573472675944731947,1.2711350583337506225945,2.8877476825709762486838,\ +1.6555376604226368364436,1.0415986209192817923963,1.829342489722003417540,\ +3.171729047671292711641,8.2663047019615358834699,1.0831783845382449982253,\ +1.0019062434070211686787,1.0939395186073928023518,1.3632471669518277934685,\ +1.5737842316817938215223,2.4064287835907673951397,2.0048370085520934580359,\ +1.1011474483510161892497,1.1300087947090773354830,1.3462897763229764169779,\ +1.0924759182927643585970,1.7144810122297002852321,1.7053954010120264683792,\ +1.4457904936509571314218,1.048092245021622570533,5.126007634597746331906,\ +1.7289119973762236970316,1.2555903810189259495189,1.0909502538663513604433,\ +6.2596397068650517780952,1.03991721163594563748,1.2919843250699158954120,\ +1.3061137606130501787050,1.0582378205813938176760,1.5138557575271749389145,\ +1.0108570760043096292691,1.5316284576789631621807,1.8408591504389772985917,\ +1.1080580118223748442574,1.4853883271417620548505,2.1817178624460376035188,\ +1.0382828245407387246502,2.9156663093555850174710,1.7189510624849844155904,\ +1.390081256029065626123,1.0625696729809925855648,1.4226777259325882329932,\ +1.0252897080419871578272,1.0288006377558764903313,1.5891703898572226982822,\ +1.558389589207426872974,1.0598715893830090717,1.5319423704594259394440,\ +1.1669134763143933497531,1.8325639262468249590654,1.3074443355436990987783,\ +1.1812094824791219416227,1.5560581683472911596056,1.0337783603024415235438,\ +1.20761220067196339834,2.1303694894256701708457,1.3019874017358665785338,\ +1.3157780065006974279385,1.0331959861022277369358,1.6880453716815839726451,\ +2.0916769731603670479103,2.000344096331303500591,3.7862367743494589333864,\ +1.7612050492619382158210,1.016315598810441089839,2.2657204820986769355784,\ +4.0406956659153259181494,1.3145132010698166169504,1.1120358920747182018829,\ +1.1432241110320022769997,1.2095957312624510127108,1.0114976895400229484068,\ +1.1244804773055134816673,1.8121625561683152305648,1.1020033178144590380043,\ +1.3340717665795371882353,1.6104789889363373411868,1.2118376325588768871455,\ +1.2122253780682052948237,1.1134219567585550425548,1.7616758393639733171199,\ +1.3591064226145659343814,1.1388088791439558988827,1.1588706347019575026991,\ +1.2383685118981913042546,1.5228821862471519921201,1.0266012226158198750170,\ +2.4078326713444666573594,1.00009946658283555010,1.0244435586923690273409,\ +1.8732301190987417083278,1.1253813439974511556585,1.4537494816372256156711,\ +1.4543489946263667977888,1.3659627989922018542757,1.0509945293445170921842,\ +1.0312647772215886021741,3.68574234301369418887,1.2979736367142225006432,\ +1.0319750139115386744493,2.3138394341351444793986,1.7935669311616093679618,\ +1.061800258350523940010,1.0001345667304306630285,1.0568774415753066087120,\ +2.4366507835843460583192,5.0073927789679837374592,1.1530000373394655444059,\ +1.2017269174685778487799,1.0728807813362080114672,1.2415589372685298386045,\ +1.0064780997777151849704,1.0680153713756039834948,1.3208958764713327749263,\ +1.2182291644802725194552,1.0859476120918869490595,4.6287577582643999463130,\ +1.3479977392146349490787,1.1515908109414143556393,1.0938858068153072267137,\ +1.6783490081276506433738,3.6202335893551729206763,1.782432142455154355787,\ +2.5771439034538188295187,1.0282398297270358700217,1.786426290897340729558,\ +2.014123198363930722365,1.5276055774381211982,1.0918876182447221356853,\ +1.019612078038364622046,2.1213794605936713288941,1.0000172701852236833986,\ +2.7028112826383159372767,3.5784939357816578642257,1.7887413660887121480414,\ +1.0191293197498234590626,1.0774575372953134611009,6.8035582731627464170288,\ +1.764094760751516499653,1.0940409161295887585652,1.1266181837435944590453,\ +1.1819878003429369339727,1.2018685976750431709803,1.1649400331120620677439,\ +1.03355898490236453036,1.6919235891909962798962,1.0123963536864837298168,\ +1.0140751587041334502715,1.0990787112389970303639,1.0004404174672476557362,\ +1.4868140745992959317334,1.02053972356750688455,1.847508472372893173485,\ +1.3748631970003435398553,1.2776582369190518928548,1.0673732569157268201820,\ +1.2659971203245654614022,2.6573926189895762384197,1.8289053177424414720065,\ +6.4567128779259412851843,1.1091640429888753871523,1.0006634506999989575604,\ +1.2791603587689326371191,1.61544148317066760256,2.4864680737312045977205,\ +1.3256439332679719189656,1.0180895207546800662612,1.0825255238019519943293,\ +2.3509495822805339670936,1.8182756477804529193776,1.0223287733363202178793,\ +1.001143726087694751925,1.679282557162007583074,1.0691856802487731403772,\ +3.2990857486037623580444,1.0062544545151006492034,1.5349210973541418390198,\ +1.8937893477592186997072,1.1439441561926790846826,1.0254843822262098562703,\ +1.2994774746280413069144,1.7594989466591723914490} + +#define ZSOURCER {-0.8912345066950769778558,-0.0058415661764856371616,0.8327394520710053038570,\ +-1.3031116495573464852953,1.3063996947557070527068,-0.3291212350984021872691,\ +-0.4314780628860441225036,0.3257069146291299843732,0.2704533752036020199938,\ +0.3948286552396417792288,1.7413456505609685720515,-0.0929389968439678221257,\ +-1.7740482961163070996236,-0.9310406640182858906130,1.0558482448966843847415,\ +0.5302093445317125341987,0.9099214704748677107204,-1.3248358105760951186625,\ +-0.5468817390748145212953,-0.8462613338460863721124,-0.8447436284186202737345,\ +-1.201032047282137193989,0.0724835993626015417934,0.0038054949984360143984,\ +-0.1410382163048108095094,-1.7842189597096504982687,0.0501420738427398662851,\ +-0.2334922077300364828822,1.5945984531602754863400,-0.3238241601909672695569,\ +1.513308285995593083229,1.5778451444411625281816,1.3691912706993336623640,\ +1.748251159750787042668,0.6019009531079806407661,0.0153371667399079970179,\ +-2.11368074169300124154,0.0736235546297408505190,1.16364818469077779817,\ +-1.7239586420846975123311,-0.1812698216235553161368,1.3506264987504341679170,\ +0.1572244306209917286132,0.0637660966151842728555,-0.1712993899334549763314,\ +1.9516485698976029361518,2.845403039274271073111,0.2554082947132658709677,\ +0.3587738434809014664850,1.6800084635178351710749,-0.7143150645295742728891,\ +0.3176042681985608573392,0.1918613409687800752668,-0.8669525494355047046113,\ +-2.486482303849266717322,-0.3399076190046602663486,-0.0275599140270330646152,\ +0.0760891140551305106277,0.0175525149136643889014,-1.0447511992604696651199,\ +0.5928194662003063442057,0.5337685538183976063920,-0.1083277352156265110894,\ +1.3163705916013288543809,1.6481947619041572572485,-0.0366427588652487520871,\ +-2.24532677610144792979,1.1646157862674424432470,0.1931514629705824159789,\ +-2.0280558458213828743055,-1.588195044157987734224,1.217389599860282611843,\ +-0.7923310676779923289459,0.4657912238712272334773,0.6341322794098591675294,\ +-0.2308714073795904986319,0.0959191686134504700734,-0.4119590516116395373380,\ +0.9909317687163362586844,-1.1184985773424866994930,0.3764360122586650203580,\ +1.0283807947333536425560,0.4399875767202614529339,-0.4587329057670580523265,\ +-0.8383371473991714228902,1.8010370613667443517869,0.3638310348854316700340,\ +0.5630372956104594539539,0.5158868637708874382852,0.6872616626544041373847,\ +-0.0355020269914341005113,0.8259138693919667595367,0.6872047295901000385498,\ +0.0739287007414783509107,-0.7662836697323893719869,0.4114094358620231095536,\ +0.9046891131020067255974,0.7464765051550138474923,-1.2447871833324788415354,\ +0.6121845724663061982795,1.2932746927561220573466,-1.3794546951962081138277,\ +-1.0054979370864329801805,0.304912140043878954199,2.2462341404304981828943,\ +0.8089620929537136850840,0.9035087652875184449641,1.3506573247795918835124,\ +0.7844818177699410810533,-0.0679273669198190016560,0.4928294105013013015615,\ +-1.096446680245239946316,1.737658266453646849214,1.2019686032899719041467,\ +0.1928095667884118236124,-1.5186389453508686298022,-1.2473448039026917566,\ +-1.489337044442988755577,1.4654430117361589847036,-0.3194353686893170451988,\ +0.9845148496238763646815,0.6602210723100759848236,0.8588563891948870487880,\ +-1.9910804060218119104775,-0.6479512615308331557884,0.3691293678246713727553,\ +-0.71770775009329423888,0.0044545145586906377197,-1.7569208392800599316530,\ +2.0338706868044176268029,-2.1630248696548646236693,-0.8178753147165283010622,\ +-1.3281476236021181325242,0.6822623476118111485178,0.7066790730643729423477,\ +-0.423530195967014910785,-0.8514600115056394358248,0.1911450421094866014560,\ +-0.0937215291541069195347,0.5968058072572121064425,0.1973784591490661544100,\ +-1.6526328643143648466918,2.1042236280016610727728,-2.19182144090441122231,\ +-1.2142537279036162978230,-0.1183253697043944729916,-0.8801137301237593746350,\ +-0.9900854927608483402324,-0.4110378213905900302017,-1.0605052107018932971982,\ +2.0298978504498510488929,0.9198308522281034571577,1.4593911606425682414567,\ +1.313234307458837291094,1.5294344184237567141338,0.6175875795682116420338,\ +0.2031917147194874651017,1.5255721310550354186120,0.9034041242193133758320,\ +-0.7761278947312221232480,-0.4993921694234899066878,-0.4357874013090125009384,\ +0.3873324791493603647119,-0.4467287463644364353677,-0.2545033653001004259053,\ +-1.3746540854818518617719,-0.1477740272607140914474,-1.5074443625622220288562,\ +-1.6715013742258788553841,0.9592226709426125985658,1.3640187263976746301353,\ +0.7890452102613630946948,1.2129240708363580036888,-0.9486821752491236825477,\ +-0.4274439849602727492517,1.6129284060703097392,0.9379949480470993750103,\ +-0.5596964661999650481050,-0.7987634619537844482551,0.0324112900849305857198,\ +1.314201571181351946294,1.0612990922031533269632,0.9227327442687582870207,\ +1.0844570327567082390630,-0.7983322787922396690519,0.4385271461747112797802,\ +0.0024102971394308028881,-1.0118154904234695212750,0.0705293335731081022510,\ +0.0697245903762851448882,-0.1632285547093744459968,-0.3480161062719534514898,\ +0.7985173205564675136259,0.1109596610185162313122,2.1081890906632976268043,\ +0.4892671398131347992866,1.0240089881181213549155,1.4852757378982723857064,\ +1.0644644981998814259327,-0.3570451345877300175502} + +#define ZSOURCEI {-0.9898306808620782604180,0.3667210055378663513537,-0.0115516846422681774414,\ +0.8852998822794806432768,-1.1751393894807391493629,-0.0206719580996688329089,\ +0.7962831267090092479677,-0.3570515343460327617464,1.1412480529936015472003,\ +0.9660799200593181979002,-1.500080296017527903274,1.5242908911731756216312,\ +1.105363493233324723164,-1.4826475597643153925276,-0.0160696607830907479963,\ +-1.1650712441016521925263,-1.5029224597675916452744,-0.1699343140216190151115,\ +0.7034171630892511739575,0.78048631235475940393,0.3572706186066606504070,\ +-0.6408324378966977485916,-0.0937081428320361148332,-0.5995006453733843221343,\ +1.998069767982257660677,-1.4952437710179469210203,-0.0218783914582419587724,\ +0.6948934249723224265693,0.1340798946938218938474,0.89984980932311908752,\ +-0.2284707639451582783519,-1.9920610974541457238729,0.3296873301478878692805,\ +0.8334316663655645385234,0.6017800660861944983537,0.3195021884236714515559,\ +0.8984984730147690390467,-1.9683562813815465020184,-0.2621383110944355832039,\ +-0.6316753727255608463764,-0.0591493996271135885623,0.4809775893765277920977,\ +0.6120565292662866196949,0.6937256492244192607188,-1.4222204429149998272663,\ +0.8456412639793806640398,0.5364524335270092203487,-0.5058105404615705902316,\ +-1.5311811141279494385969,0.0523506509744253098471,-0.5845520117472021714988,\ +1.1469635617104527725019,-0.1258479133308397501789,0.5773840158286764889795,\ +-1.1474331349335626928365,-0.3322391415499996170091,0.9929767773460509427963,\ +-1.660441950926221155171,-1.0585630798226148829855,-0.5685726288282663132279,\ +2.5350425363467468109491,1.1303214701472124037451,0.5096756039133761850835,\ +0.5467199129804439783342,1.4455896704702442256973,0.2077882393389256510119,\ +1.3512301851415178255422,0.2700167751147149464153,-0.6941424124437390874576,\ +0.5635246670082925124490,0.5834755445761464764942,0.9008533966882129595533,\ +-1.170120921094221611014,-0.0177589837851252312084,-0.2475436907499060923410,\ +0.4245903735389653377297,1.3061684980078611673093,-0.5518911372967175710258,\ +-0.1216398923828668349190,-0.1029994384259720480168,-0.1089806892178883240829,\ +1.0016946254399594629092,0.2334205918306470894930,0.9399822370279485861388,\ +-0.5987819428189028458931,1.4171477596181012437171,-0.0511681877729818074263,\ +-1.239060328697855206670,0.1921278548938223085241,0.5833400770787767752878,\ +0.1323798905411992243852,0.0725274151024776908558,1.517150104931189957824,\ +-0.2298162704468252326429,-0.4156880360427151477332,-1.2865870850947289660837,\ +0.2915127708019566443731,-0.4334207057720374511867,0.6674221275639458106355,\ +-0.1336045597099253245954,0.2151665632136103845085,-0.3174957202806932832218,\ +0.9961380035737125160367,1.5546597091479958940852,-1.3388468039798184783251,\ +-0.5065257499177515665423,-1.0639142786788362560202,-0.2959444267422965957337,\ +-1.960038123367497275851,-2.1398034807947201585421,1.3019428580756020608078,\ +-0.3083046332207799999914,0.2621552778202266842378,0.5195575373923391193642,\ +1.56243573209724884165,0.2068570860697496183178,-1.0570132216452536866313,\ +-0.5904609039323533981047,-1.8482550680523897046470,-1.291460161650367144404,\ +-0.7557326141240545691602,-1.0579108981634606223565,1.2726680818341371548286,\ +0.8679294400149879518125,0.1923087263308917160831,-0.7207099055968289036400,\ +-0.9810187619058614583167,-1.1007025532949878954270,1.0502610988542768755138,\ +2.1328376492581355705624,0.2517811686949605887165,0.0286045569084023044992,\ +0.5426452678085846859091,1.0007501149236575077595,-0.1483667758019126259317,\ +0.6740034918705165578601,-0.7882925718203834808406,-0.7561945904807015894633,\ +0.5978999579905148742398,-1.0006972818202708452873,-0.8844110367528469351939,\ +0.0563203493770412927377,0.0010532695687821122445,-2.2465253729529170989565,\ +1.141716522775603870343,-0.4500026076505115879556,0.9053568457125464874480,\ +1.1182847109018192455210,0.8014435340539697305573,0.7353172667964483766312,\ +-1.0684850588765142376246,-0.8549786389844856726583,3.744686089807424789200,\ +0.2152832470021692201634,-0.8813298598480671097732,1.096456876472062580419,\ +0.3072305150928033579127,-0.0799524082246828721177,-0.0588190904677381790067,\ +-1.1720572424194137806097,1.4720320544391665151807,0.0931276494198173265815,\ +0.555984015411468357470,0.8773397145008163811042,0.3438026639727968514215,\ +0.2511717975861258445036,-0.4806220734748062883845,0.1665649861790623464941,\ +-0.9011922058627225284866,-1.3882654124150977104080,-1.0995275754970570414315,\ +-0.2796226936636541648973,1.8675624576106222285432,-0.6479880884779005700835,\ +-1.2193765127792735025736,-0.4210708606718742141872,1.074252254135527273604,\ +0.5620287257728261431922,-0.5121392183328929981201,0.0495074962957085112913,\ +-1.483551847645206089865,-0.1477396930496895632867,0.4331368024681788719832,\ +-0.1336623009706502385185,-0.5252621832336971108290,0.6576305030526226058640,\ +-2.5329417269156695446952,-0.3644974785307753539776,-3.0957701776748671740336,\ +-1.5563868957442139606684,-1.3037172144407160878643,0.1173565633554439491260,\ +-1.4546337195274263720535,0.8077473947731041992171,0.5608831835142086275070,\ +-0.2032753128403547993042,2.1656548569001641268983,-1.0352617083883073334505,\ +0.0703447174899709398721,0.9001420266818445092838} + +#define ZRESULTR {0.7816146272263719829709,0.9335239938948984850242,1.3671418657595642009994,\ +1.251053426889690234347,0.7638235407866506010421,1.05442571981112132029,\ +0.7654863707154079266459,0.9870695051633786576417,0.4317842171461107048103,\ +0.6134213525393761301530,0.2077424772758102444747,0.0466895952950193357522,\ +1.360861123120397309094,0.1290276167481773372803,1.6109467398934755877349,\ +0.4514742994866134950804,0.0978899773240222564885,1.9847014656066033211346,\ +0.8795516810834358434334,0.9805643961019996357464,1.2914771272713012617572,\ +1.45266805020831779593,0.9982291599155850292391,0.8256234470461548680120,\ +-0.4185192299594263642959,0.2310786951961565083291,1.0010177538173574696145,\ +0.7891557184270517888436,2.5416517088949488467620,0.6546112908226877635798,\ +2.3190840475863043756988,-1.0326993872554559583676,1.9805065587758790002226,\ +1.9896627954528611770257,0.9782130127113016770934,0.9495035596250852583111,\ +2.6155274562386430226013,-0.3882195415344683042669,1.6969468407328636150311,\ +2.3343766660435352200409,1.0146967843242544748961,1.8258003683547168183310,\ +0.8286050933424484732370,0.7704328385697075676219,0.1502070282359266317762,\ +2.3818436251417942628450,7.4205579165122914631070,0.9034699872486960936513,\ +0.0421812525739015259374,2.772183837530781680414,1.05592364033954333458,\ +0.4321743126982589000562,1.0104075090452335761171,1.172999728469012792331,\ +2.4859521407117588509550,1.0004516930864140178414,0.546406215495572333829,\ +-0.0897848836255507876114,0.4902005853747226638006,1.3459428245240352417511,\ +-0.9702703286402243332276,0.4885630407318873325018,0.8780295479347596243613,\ +1.70760011581548409865,0.3365500801559331289781,0.9791465640129676240022,\ +1.0399586044108937166186,1.694655018871175533590,0.782984551558400743154,\ +3.2677601373666536055396,2.1277760759506403332,1.14078060084558496889,\ +0.5190124031043247265771,1.1102812125309757806946,1.1710705982540408065518,\ +0.9356000257245263851402,0.2627541871520008842644,0.9248192933983879759907,\ +1.521163371222483906564,1.6845378275230893372338,1.06533482774366716761,\ +0.8498389444062255382306,1.0685794539652364587567,0.652956087446700861321,\ +1.1336945232455741816580,0.4760496137462009169639,1.0655234579631518432308,\ +0.3786859524519583519719,1.1151440885209693565372,1.0396183182135259048806,\ +0.9918753196058325283246,1.3573231183580980463432,0.0667878216615050979144,\ +0.9763703551872023878033,1.1968339368077574036420,0.3044649077728942554444,\ +1.3772502379038416009394,1.17234744424829684384,1.4766671247289078205966,\ +1.1826761905568310417891,1.9143513147617730041361,2.0066566439861803772260,\ +0.8422630906406018969079,0.0168918363185286551920,1.0985590427740710151028,\ +1.1765072536632881217145,0.6974498887881349640239,1.9699828668985011059789,\ +-0.5023701162984575141479,-0.5400394193341752080428,0.2985422403364683119342,\ +1.5853347023892305767134,2.8298681106779470795232,1.57430200098008077347,\ +0.0085163822819922137264,2.34150280392945697727,0.9260267598505396158259,\ +1.935359947414732717519,-0.624580203843195791436,0.2899045962478056792655,\ +1.1098967555784207128511,0.6015796718407534493522,0.4088898624506622225816,\ +2.4110975561220100438220,1.194926943855234124925,0.8031086031385790136028,\ +0.7056759527365589201864,0.4529743829467441917913,1.4838629998186587677367,\ +-2.0715572287647061600069,4.2672653505633393322682,1.3529709414016093393940,\ +1.7293958649615748246475,0.6702228972280770413761,1.246418198725941284266,\ +0.8524596514683829839854,0.9764536278838282790105,0.7407821510692440547530,\ +0.8301521851442831279044,0.6387195724636756111181,0.6461301327556139284525,\ +2.7018352901688040823558,4.1613347047505291342873,-2.8343681862783589586741,\ +0.7623226303646806201186,0.9067568500030595002315,0.8723652455116047699235,\ +0.6696132906174546706168,0.7552700261493744404717,1.1992371819877765126705,\ +1.8643427000471699539474,0.9539854852947572405597,-1.8677739580920826867327,\ +1.9475448138625472971341,1.5369506397672023645384,0.5466606741068265051808,\ +0.9729193674298542982015,2.3999437957484786032580,1.4341047292357653741846,\ +0.5111837868275163065945,0.1111569790233604693164,1.091716362873146328738,\ +0.9138969247921984173644,0.7040484777727061826980,0.9721353920795816616618,\ +2.0373197284299586762302,0.8964067096914249965778,2.3355486655682877739082,\ +1.7093760866374785312161,0.2716303051904848664400,0.9460612941094431738165,\ +1.2762143042912967860758,-0.5352378220939374431353,1.1838129188764214827501,\ +0.3761598820395333775402,2.3805545048605618596582,0.7017854493503786761366,\ +0.9822084988099225588698,1.1648832392783827760496,0.9992994024245958062380,\ +0.1738523619678353504536,1.6004378914991708171556,1.3222645989799672872067,\ +1.6332603440938282535200,1.1558588483310223704592,0.8687697917589873863875,\ +-0.8204224950713523423218,1.4547791700377004087130,-1.0014359468702989097721,\ +0.0144439712508898226995,0.2674388703277625345400,1.0538721408636444465401,\ +0.1548583219344299433118,0.6953871836582313781250,3.5373520681952288491345,\ +1.0989946596859092586840,-0.8807918395297148483891,1.18456726702104053750,\ +1.6180875245455190736266,0.6615360547308598571092} + +#define ZRESULTI {0.8476313539717991174527,-0.0020945428347154504238,-0.0107702820990110675198,\ +-1.3194799051731675998411,-1.5788424410279275900137,0.0069265821924918190636,\ +-0.3180628434269115456523,-0.1158623505001605547005,0.2488922702434745726219,\ +0.3333162069042073238911,-2.7579550935532486377610,-0.0929722217314629395535,\ +-2.558018975124945360022,1.0673421965913736375597,-0.0202992468302341001751,\ +-0.5103135313335316336492,-1.0383893485568700398858,0.2955939972849115360276,\ +-0.3716363644745803163083,-0.669112301980219426056,-0.3318327753869652063656,\ +0.9035686841735829366584,-0.0067883075736271340089,-0.0021471806447879195068,\ +-0.1287847092516060110157,2.8852450693166233897102,-0.0010974001216119489213,\ +-0.1508680801994282949519,0.315705921414520418455,-0.2580859369524737267909,\ +-0.4893903475844605388545,-2.116294802120160856163,0.5953479459460185863051,\ +2.0617504351927595784844,0.3616928144472888462246,0.0048175006267416721831,\ +-3.1913265982599425818478,-0.0679428805767179483377,-0.3743690366783002931861,\ +1.6027053949682106281927,0.0107745309683946743906,0.8329399053511026274066,\ +0.0907062192789129806414,0.0408000708558418981320,0.1702419063491371065133,\ +2.5813113904964448686030,4.3826942657913274814518,-0.1250993995488117738191,\ +-0.366232782627764485994,0.1355060901825991537262,0.4285644238647245418683,\ +0.2943941929388677047896,-0.0242296816969479640591,-0.5347582943284873158163,\ +5.440972259812645539512,0.1130116459854922927875,-0.0230886388762507679950,\ +-0.0758567265188389433517,-0.0153004723200108137121,0.6705905748883707051533,\ +0.3580727041769314333841,0.5060754117432990639713,-0.0529558939424066774104,\ +0.8998620364333704824134,2.4830051583371242074350,-0.0075609544367582562363,\ +-4.5567155472995342080367,0.3858035723583744802667,-0.1243338609096430735779,\ +-1.9945093918095539997637,-1.2920941940088974675405,1.2080631306058675633608,\ +0.8083456169264077173509,-0.0085739065252298622688,-0.1660020282935961710713,\ +-0.0959540597572042242014,0.0927222427996397119410,0.2221508503381195154258,\ +-0.1409070089536773040528,0.1405249830722395676386,-0.0419169397939630830607,\ +1.0272672902510724401992,0.1050876648914500499643,-0.3835786757949954384195,\ +0.5298437409836795897178,2.9106995454114534815915,-0.0190217208337024913656,\ +-0.5609150372475696366692,0.1029355491400509997613,0.4090658874763115071538,\ +-0.0046870241505978906330,0.0668889266782490693464,0.7415168418856862286859,\ +-0.0168562013052173872985,0.3406253082923152986083,-0.4061399877851155082453,\ +0.2969570085375197732169,-0.3434409399238548266098,-0.9854495385788534234095,\ +-0.0867374346127948586682,0.3597999966335438393195,0.5808295174480837541608,\ +-0.9935741356819206560047,0.3096185219585154135835,-4.5479921396771585406782,\ +-0.4366900670417938612466,-0.9018465944214471008422,-0.5250881076401040514767,\ +-0.8025691478992442728924,0.0572684987995472974398,0.4945930961405698988997,\ +0.4034972398433521179051,0.7137454043276676429741,0.7512128888062908904644,\ +0.1939996418115135512483,-0.4464039676558783642513,1.3907357608014461192170,\ +1.17156541392215607367,-1.9708685366549760775712,0.3123022444724680712902,\ +-0.7896872395843760328304,-0.6179850212857144198253,0.9256883067644073870284,\ +-2.7417718288371224488742,-0.1326893078962607386284,-0.2491649089658723725815,\ +0.6490031468453125729212,-0.0039713278584005608923,-2.4386883505629461943442,\ +3.178543851545130305425,-1.0690676099739919724385,-0.0260882664072711288605,\ +-0.9060493921002102934992,0.6199896062130800800105,-0.1133779208230118323852,\ +-0.2723070216270195298414,0.6794632710962359434248,-0.1319558520667497847345,\ +-0.0528338647750857190455,-0.53278022650161005469,-0.1536737960232173183517,\ +-0.1415472283443244549961,0.0042545728383564943367,3.4486281529351474617329,\ +-1.3962363760387317412892,0.0515879186128369374154,-0.7852445756480942451461,\ +-1.0432119477148995567717,-0.3036586016327645909385,-0.8524640219222514581077,\ +-3.278864600929186412515,-0.7961629883628608128632,-1.1545100621855832745410,\ +0.3684195377039459207147,-1.6970666375940057779559,0.5849997270051815467795,\ +0.0618729525386339657134,-0.1749203390283090575608,-0.0606310989665877000943,\ +0.7892429044220883316285,-0.5178739198482895655928,-0.0418201497112469372519,\ +0.2095761220035197158751,-0.3550942958596610687927,-0.0867144455279654918778,\ +-0.4598945931287213850780,0.0685694193597463919065,-0.3559389766660929765862,\ +2.0119894555407911163059,-1.0947444956011096461879,-1.6288470340375438283331,\ +-0.2410820142960599099524,1.4659778142858674865323,0.6624490343288035321123,\ +0.4136536130989748594189,-0.9846866209581750517543,0.9510859925791920188587,\ +-0.3140825904492373088495,0.4344001304574144906034,0.0016042272632115935332,\ +-1.7199780122539785054414,-0.1872506113405222882839,0.4446357342161921244461,\ +-0.1745599221993578142875,0.4442139130537332003534,0.2767209124711134116126,\ +-0.0013781156561338940309,0.4254643497866397727769,-0.0032333769526939463469,\ +-0.0697738544158777868054,0.1581414947349125965648,-0.0415758240738434495243,\ +-0.8801521218406083146846,0.0803587769045229632914,2.1574882446469239027920,\ +-0.1027605757720615048401,1.0043017952229080780313,-1.8015810020856124484823,\ +0.0897692625606805599814,-0.2856956371820633111547} + + + + void dcoshsTest(void) { - printf(">> Double scalar\n"); - printf("dcoshs(0) = %e\n", dcoshs(0.0)); - printf("dcoshs(PI) = %e\n", dcoshs(DPI)); - printf("dcoshs(PI/2) = %e\n", dcoshs(DPI/2)); - printf("dcoshs(PI/3) = %e\n", dcoshs(DPI/3)); - printf("dcoshs(PI/4) = %e\n", dcoshs(DPI/4)); - printf("dcoshs(PI/6) = %e\n", dcoshs(DPI/6)); - printf("dcoshs(-PI) = %e\n", dcoshs(-DPI)); - printf("dcoshs(-PI/2) = %e\n", dcoshs(-DPI/2)); - printf("dcoshs(-PI/3) = %e\n", dcoshs(-DPI/3)); - printf("dcoshs(-PI/4) = %e\n", dcoshs(-DPI/4)); - printf("dcoshs(-PI/6) = %e\n", dcoshs(-DPI/6)); + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dcoshs(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } } void zcoshsTest(void) { - doubleComplex pi_pi = DoubleComplex(DPI, DPI); - doubleComplex pi_2_pi_2 = DoubleComplex(DPI/2, DPI/2); - doubleComplex pi_2_pi_3 = DoubleComplex(DPI/2, DPI/3); - doubleComplex pi_2_pi_4 = DoubleComplex(DPI/2, DPI/4); - doubleComplex out; - - printf(">> Double Complex scalar\n"); - out = zcoshs(pi_pi); - printf("zcoshs(PI + I*PI) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoshs(pi_2_pi_2); - printf("zcoshs(PI/2 + I*PI/2) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoshs(pi_2_pi_3); - printf("zcoshs(PI/2 + I*PI/3) = %e + I * %e\n", zreals(out), zimags(out)); - out = zcoshs(pi_2_pi_4); - printf("zcoshs(PI/2 + I*PI/4) = %e + I * %e\n", zreals(out), zimags(out)); + 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=zcoshs(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } } void dcoshaTest(void) { - double out[5]; - double in[5] = {DPI, DPI/2, DPI/3, DPI/4, DPI/6}; - int i = 0; - - printf(">> Double Array\n"); - dcosha(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("scosha(array) = %f\n", out[i]); + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + dcosha(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } } void zcoshaTest(void) { - doubleComplex in[4]; - doubleComplex out[4]; - int i = 0; - - in[0] = DoubleComplex(DPI, DPI); - in[1] = DoubleComplex(DPI/2, DPI/2); - in[2] = DoubleComplex(DPI/2, DPI/3); - in[3] = DoubleComplex(DPI/2, DPI/4); - - zcosha(in, 4, out); - printf(">> Double Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("zcosha(array) = %e + I * %e\n", zreals(out[i]), zimags(out[i])); + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zcosha(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 testCosh(void) { diff --git a/src/elementaryFunctions/cosh/testFloatCosh.c b/src/elementaryFunctions/cosh/testFloatCosh.c index b5a8ec20..78cb8773 100644 --- a/src/elementaryFunctions/cosh/testFloatCosh.c +++ b/src/elementaryFunctions/cosh/testFloatCosh.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,66 +12,476 @@ #include "testCosh.h" +#define SOURCE {-1.205685175775274453613f,-0.8333271236779051793775f,1.2335774322243386880160f,\ +0.3311018349037936903123f,-0.8052653369328224286505f,0.1998487851928297531767f,\ +-0.8705427356398579563646f,0.1975294304937466050021f,0.9239335793216870706956f,\ +0.2378506537628061745515f,0.0049366873129022617595f,-0.669236585027300545647f,\ +1.0653101376824569701540f,-0.3369456198746673680766f,0.6204667311042414423738f,\ +1.6283002068610463730636f,0.7206914942876857521625f,1.7221990362694574727698f,\ +-1.0902216302137626158242f,0.2874486754733126536721f,-1.2122889745482419154854f,\ +1.8215917027079053802652f,2.8016558959521908889201f,0.4050930510541474460773f,\ +0.0617355341334478585624f,-0.4301267567705842620462f,-0.8284509700102783424924f,\ +1.0256901078279201389165f,1.525021231170059277105f,-1.3197460532844016434240f,\ +-0.4460647093896898951471f,0.5045503141647188494190f,-0.8098965560197782798113f,\ +0.4268132043604428993433f,-1.1336964590865461488534f,1.127146072313511160345f,\ +-0.9122705295277132586662f,-0.3089065753248803058995f,-2.3178211651402826909418f,\ +1.1439933378277502562526f,0.7005552213939509886842f,0.4233298618301614135717f,\ +-2.5208275627904130899992f,-0.2816183187535069021301f,0.7467093404219694585677f,\ +0.7637510409783198062073f,0.3396503036180347767647f,-0.9747149605661590276995f,\ +0.1472242280982364037722f,0.9901921384491637612157f,-1.2197737051905059857404f,\ +-0.4607952353595122785279f,-0.9492383290419380559300f,1.4160381392623584417834f,\ +-0.2758297498115374613015f,1.7324484611160422264931f,1.1368999048747294722261f,\ +0.8568173351546003457813f,0.3519313905007281362280f,-0.8897875910518927566883f,\ +0.2244273879422930551009f,0.2394303391704008243668f,-1.0382487030291693841377f,\ +-1.0129167707607047432816f,-0.3443356316152397234021f,0.9904626758703307665144f,\ +-0.5700286524862564485616f,-1.2143893416629112369520f,-0.7653327397314562130504f,\ +0.5932733856160632424093f,1.0109636831448121085941f,-0.2591906321322083317504f,\ +-0.6337213759172125593366f,-1.3891534527523830000462f,-0.7588209965122667544080f,\ +-0.7751521002127067516696f,-0.2569588781664822740858f,-1.1144881209346948480743f,\ +1.3683403773429958505403f,-1.3171565382517111952865f,-2.0066059395312958457680f,\ +1.1665757372971858885080f,0.1803963656727911035738f,-1.4583403177666438566007f,\ +-2.0738880513575592701159f,-0.7736713589363241050378f,-0.4690505767289738225934f,\ +0.5290181646318501407222f,-0.6366436437236088208280f,-0.1514973533385992610079f,\ +-0.4939237897364461837846f,1.2009977647347911400288f,-0.4479171393972471992839f,\ +0.7962022364285237241432f,1.0553131168098721648363f,0.6399283922940391944323f,\ +0.6404945676646236485396f,0.4718907579921589601213f,-1.1669004068172705856909f,\ +0.8239670665751658296116f,-0.5209824870944876895607f,-0.5564774733886624913382f,\ +0.677433403214317775287f,-0.9826152250790042286255f,-0.2301482766849789196595f,\ +1.5256623976111793883348f,-0.0141042499939363699668f,-0.2206563911375283293381f,\ +-1.2404617973010751974527f,0.4956722425079039262563f,-0.9198528977539149886766f,\ +-0.9204208417497926619788f,0.8313756689801026222852f,0.3180154749624292120913f,\ +0.2494121392443543194783f,1.9786862305439512077498f,-0.7539887840478504132946f,\ +-0.2522144002260635065049f,1.4817018679370650424687f,-1.1886013018444978595056f,\ +0.3497827881131843619222f,0.0164051036269147361424f,-0.3356971818656850903295f,\ +1.5387250556465030815190f,-2.2939395533776552049687f,0.5463520678571377464650f,\ +-0.6249598247747292223409f,-0.3795057983233444121041f,-0.6817850926970092650947f,\ +0.1137639445438838742275f,-0.3667643438770555319728f,0.7811095630972452186214f,\ +-0.6491897518190495874890f,-0.4116889792407164572197f,2.2135576248798094489700f,\ +-0.8117887004060938549443f,0.543890637094475826174f,-0.4300056333049381840361f,\ +-1.1073264735386671997475f,1.9600404811338050237168f,-1.1810889471038799047875f,\ +-1.5998650464994574882382f,0.2370987431342703177783f,-1.1837915340560738464148f,\ +-1.3250738110530209112881f,0.9867165393345800339375f,-0.4254735979103318466166f,\ +-0.1977286302171261667127f,-1.3843612904745590252986f,0.0058770971600078198913f,\ +1.6513137110120594819307f,-1.9479686718307542836470f,-1.1853539723928359084226f,\ +-0.1952876876932538308118f,-0.3910952467587283098993f,2.6051477231429984726674f,\ +-1.1685665444554920178177f,0.4303553159707447783866f,0.4980619697002917622974f,\ +-0.5945099409025637049453f,0.6251723753612481448982f,0.5667367529854526742028f,\ +0.2583522627447231712061f,-1.117334797621551301106f,-0.1572947959550771157566f,\ +-0.1675843890566963978461f,-0.4415529643720014774111f,0.0296777742804143623845f,\ +0.950535269366517221457f,-0.2023353295590510914082f,1.2240649283812428116391f,\ +0.8408743467009373029342f,0.7289489292828028599303f,-0.3650480390020546805907f,\ +0.7141089622210116116818f,-1.6330473677930090747878f,-1.2120035333729530790947f,\ +2.5522160888662996924836f,0.4631064145940361198583f,-0.0364246441804653570129f,\ +0.7308349560709582748430f,-1.059234312724760096458f,-1.5608743035213317185f,\ +0.7865883787823105821602f,-0.1899223202317779357617f,-0.4035214553331447628892f,\ +1.4993140466900047869103f,1.2050329976249689600820f,-0.2109320691913422751718f,\ +0.0478227589320652582416f,1.1080187662760754285785f,0.3698710666565526716809f,\ +-1.8629885917707584841452f,0.1117850228517819205498f,0.9930250182564113181627f,\ +1.2533428090752711803191f,0.5303160507909902010582f,0.2252859052932770778099f,\ +-0.7558035543285445134742f,1.1653980888802857318609f} + +#define RESULT {1.819266428064204577097f,1.3677812549451693335811f,1.8623697303215194231996f,\ +1.0553168123818659207558f,1.3421296845542964870646f,1.0200363222965405096687f,\ +1.403465448863383979727f,1.0195724536239654245406f,1.4580674176636316818900f,\ +1.0284200725097112361084f,1.0000121854655601438822f,1.2324226844271635172845f,\ +1.6231798706546742838697f,1.0573052784271492754442f,1.1987446423322825062030f,\ +2.64573472675944731947f,1.2711350583337506225945f,2.8877476825709762486838f,\ +1.6555376604226368364436f,1.0415986209192817923963f,1.829342489722003417540f,\ +3.171729047671292711641f,8.2663047019615358834699f,1.0831783845382449982253f,\ +1.0019062434070211686787f,1.0939395186073928023518f,1.3632471669518277934685f,\ +1.5737842316817938215223f,2.4064287835907673951397f,2.0048370085520934580359f,\ +1.1011474483510161892497f,1.1300087947090773354830f,1.3462897763229764169779f,\ +1.0924759182927643585970f,1.7144810122297002852321f,1.7053954010120264683792f,\ +1.4457904936509571314218f,1.048092245021622570533f,5.126007634597746331906f,\ +1.7289119973762236970316f,1.2555903810189259495189f,1.0909502538663513604433f,\ +6.2596397068650517780952f,1.03991721163594563748f,1.2919843250699158954120f,\ +1.3061137606130501787050f,1.0582378205813938176760f,1.5138557575271749389145f,\ +1.0108570760043096292691f,1.5316284576789631621807f,1.8408591504389772985917f,\ +1.1080580118223748442574f,1.4853883271417620548505f,2.1817178624460376035188f,\ +1.0382828245407387246502f,2.9156663093555850174710f,1.7189510624849844155904f,\ +1.390081256029065626123f,1.0625696729809925855648f,1.4226777259325882329932f,\ +1.0252897080419871578272f,1.0288006377558764903313f,1.5891703898572226982822f,\ +1.558389589207426872974f,1.0598715893830090717f,1.5319423704594259394440f,\ +1.1669134763143933497531f,1.8325639262468249590654f,1.3074443355436990987783f,\ +1.1812094824791219416227f,1.5560581683472911596056f,1.0337783603024415235438f,\ +1.20761220067196339834f,2.1303694894256701708457f,1.3019874017358665785338f,\ +1.3157780065006974279385f,1.0331959861022277369358f,1.6880453716815839726451f,\ +2.0916769731603670479103f,2.000344096331303500591f,3.7862367743494589333864f,\ +1.7612050492619382158210f,1.016315598810441089839f,2.2657204820986769355784f,\ +4.0406956659153259181494f,1.3145132010698166169504f,1.1120358920747182018829f,\ +1.1432241110320022769997f,1.2095957312624510127108f,1.0114976895400229484068f,\ +1.1244804773055134816673f,1.8121625561683152305648f,1.1020033178144590380043f,\ +1.3340717665795371882353f,1.6104789889363373411868f,1.2118376325588768871455f,\ +1.2122253780682052948237f,1.1134219567585550425548f,1.7616758393639733171199f,\ +1.3591064226145659343814f,1.1388088791439558988827f,1.1588706347019575026991f,\ +1.2383685118981913042546f,1.5228821862471519921201f,1.0266012226158198750170f,\ +2.4078326713444666573594f,1.00009946658283555010f,1.0244435586923690273409f,\ +1.8732301190987417083278f,1.1253813439974511556585f,1.4537494816372256156711f,\ +1.4543489946263667977888f,1.3659627989922018542757f,1.0509945293445170921842f,\ +1.0312647772215886021741f,3.68574234301369418887f,1.2979736367142225006432f,\ +1.0319750139115386744493f,2.3138394341351444793986f,1.7935669311616093679618f,\ +1.061800258350523940010f,1.0001345667304306630285f,1.0568774415753066087120f,\ +2.4366507835843460583192f,5.0073927789679837374592f,1.1530000373394655444059f,\ +1.2017269174685778487799f,1.0728807813362080114672f,1.2415589372685298386045f,\ +1.0064780997777151849704f,1.0680153713756039834948f,1.3208958764713327749263f,\ +1.2182291644802725194552f,1.0859476120918869490595f,4.6287577582643999463130f,\ +1.3479977392146349490787f,1.1515908109414143556393f,1.0938858068153072267137f,\ +1.6783490081276506433738f,3.6202335893551729206763f,1.782432142455154355787f,\ +2.5771439034538188295187f,1.0282398297270358700217f,1.786426290897340729558f,\ +2.014123198363930722365f,1.5276055774381211982f,1.0918876182447221356853f,\ +1.019612078038364622046f,2.1213794605936713288941f,1.0000172701852236833986f,\ +2.7028112826383159372767f,3.5784939357816578642257f,1.7887413660887121480414f,\ +1.0191293197498234590626f,1.0774575372953134611009f,6.8035582731627464170288f,\ +1.764094760751516499653f,1.0940409161295887585652f,1.1266181837435944590453f,\ +1.1819878003429369339727f,1.2018685976750431709803f,1.1649400331120620677439f,\ +1.03355898490236453036f,1.6919235891909962798962f,1.0123963536864837298168f,\ +1.0140751587041334502715f,1.0990787112389970303639f,1.0004404174672476557362f,\ +1.4868140745992959317334f,1.02053972356750688455f,1.847508472372893173485f,\ +1.3748631970003435398553f,1.2776582369190518928548f,1.0673732569157268201820f,\ +1.2659971203245654614022f,2.6573926189895762384197f,1.8289053177424414720065f,\ +6.4567128779259412851843f,1.1091640429888753871523f,1.0006634506999989575604f,\ +1.2791603587689326371191f,1.61544148317066760256f,2.4864680737312045977205f,\ +1.3256439332679719189656f,1.0180895207546800662612f,1.0825255238019519943293f,\ +2.3509495822805339670936f,1.8182756477804529193776f,1.0223287733363202178793f,\ +1.001143726087694751925f,1.679282557162007583074f,1.0691856802487731403772f,\ +3.2990857486037623580444f,1.0062544545151006492034f,1.5349210973541418390198f,\ +1.8937893477592186997072f,1.1439441561926790846826f,1.0254843822262098562703f,\ +1.2994774746280413069144f,1.7594989466591723914490f} + +#define CSOURCER {-0.8912345066950769778558f,-0.0058415661764856371616f,0.8327394520710053038570f,\ +-1.3031116495573464852953f,1.3063996947557070527068f,-0.3291212350984021872691f,\ +-0.4314780628860441225036f,0.3257069146291299843732f,0.2704533752036020199938f,\ +0.3948286552396417792288f,1.7413456505609685720515f,-0.0929389968439678221257f,\ +-1.7740482961163070996236f,-0.9310406640182858906130f,1.0558482448966843847415f,\ +0.5302093445317125341987f,0.9099214704748677107204f,-1.3248358105760951186625f,\ +-0.5468817390748145212953f,-0.8462613338460863721124f,-0.8447436284186202737345f,\ +-1.201032047282137193989f,0.0724835993626015417934f,0.0038054949984360143984f,\ +-0.1410382163048108095094f,-1.7842189597096504982687f,0.0501420738427398662851f,\ +-0.2334922077300364828822f,1.5945984531602754863400f,-0.3238241601909672695569f,\ +1.513308285995593083229f,1.5778451444411625281816f,1.3691912706993336623640f,\ +1.748251159750787042668f,0.6019009531079806407661f,0.0153371667399079970179f,\ +-2.11368074169300124154f,0.0736235546297408505190f,1.16364818469077779817f,\ +-1.7239586420846975123311f,-0.1812698216235553161368f,1.3506264987504341679170f,\ +0.1572244306209917286132f,0.0637660966151842728555f,-0.1712993899334549763314f,\ +1.9516485698976029361518f,2.845403039274271073111f,0.2554082947132658709677f,\ +0.3587738434809014664850f,1.6800084635178351710749f,-0.7143150645295742728891f,\ +0.3176042681985608573392f,0.1918613409687800752668f,-0.8669525494355047046113f,\ +-2.486482303849266717322f,-0.3399076190046602663486f,-0.0275599140270330646152f,\ +0.0760891140551305106277f,0.0175525149136643889014f,-1.0447511992604696651199f,\ +0.5928194662003063442057f,0.5337685538183976063920f,-0.1083277352156265110894f,\ +1.3163705916013288543809f,1.6481947619041572572485f,-0.0366427588652487520871f,\ +-2.24532677610144792979f,1.1646157862674424432470f,0.1931514629705824159789f,\ +-2.0280558458213828743055f,-1.588195044157987734224f,1.217389599860282611843f,\ +-0.7923310676779923289459f,0.4657912238712272334773f,0.6341322794098591675294f,\ +-0.2308714073795904986319f,0.0959191686134504700734f,-0.4119590516116395373380f,\ +0.9909317687163362586844f,-1.1184985773424866994930f,0.3764360122586650203580f,\ +1.0283807947333536425560f,0.4399875767202614529339f,-0.4587329057670580523265f,\ +-0.8383371473991714228902f,1.8010370613667443517869f,0.3638310348854316700340f,\ +0.5630372956104594539539f,0.5158868637708874382852f,0.6872616626544041373847f,\ +-0.0355020269914341005113f,0.8259138693919667595367f,0.6872047295901000385498f,\ +0.0739287007414783509107f,-0.7662836697323893719869f,0.4114094358620231095536f,\ +0.9046891131020067255974f,0.7464765051550138474923f,-1.2447871833324788415354f,\ +0.6121845724663061982795f,1.2932746927561220573466f,-1.3794546951962081138277f,\ +-1.0054979370864329801805f,0.304912140043878954199f,2.2462341404304981828943f,\ +0.8089620929537136850840f,0.9035087652875184449641f,1.3506573247795918835124f,\ +0.7844818177699410810533f,-0.0679273669198190016560f,0.4928294105013013015615f,\ +-1.096446680245239946316f,1.737658266453646849214f,1.2019686032899719041467f,\ +0.1928095667884118236124f,-1.5186389453508686298022f,-1.2473448039026917566f,\ +-1.489337044442988755577f,1.4654430117361589847036f,-0.3194353686893170451988f,\ +0.9845148496238763646815f,0.6602210723100759848236f,0.8588563891948870487880f,\ +-1.9910804060218119104775f,-0.6479512615308331557884f,0.3691293678246713727553f,\ +-0.71770775009329423888f,0.0044545145586906377197f,-1.7569208392800599316530f,\ +2.0338706868044176268029f,-2.1630248696548646236693f,-0.8178753147165283010622f,\ +-1.3281476236021181325242f,0.6822623476118111485178f,0.7066790730643729423477f,\ +-0.423530195967014910785f,-0.8514600115056394358248f,0.1911450421094866014560f,\ +-0.0937215291541069195347f,0.5968058072572121064425f,0.1973784591490661544100f,\ +-1.6526328643143648466918f,2.1042236280016610727728f,-2.19182144090441122231f,\ +-1.2142537279036162978230f,-0.1183253697043944729916f,-0.8801137301237593746350f,\ +-0.9900854927608483402324f,-0.4110378213905900302017f,-1.0605052107018932971982f,\ +2.0298978504498510488929f,0.9198308522281034571577f,1.4593911606425682414567f,\ +1.313234307458837291094f,1.5294344184237567141338f,0.6175875795682116420338f,\ +0.2031917147194874651017f,1.5255721310550354186120f,0.9034041242193133758320f,\ +-0.7761278947312221232480f,-0.4993921694234899066878f,-0.4357874013090125009384f,\ +0.3873324791493603647119f,-0.4467287463644364353677f,-0.2545033653001004259053f,\ +-1.3746540854818518617719f,-0.1477740272607140914474f,-1.5074443625622220288562f,\ +-1.6715013742258788553841f,0.9592226709426125985658f,1.3640187263976746301353f,\ +0.7890452102613630946948f,1.2129240708363580036888f,-0.9486821752491236825477f,\ +-0.4274439849602727492517f,1.6129284060703097392f,0.9379949480470993750103f,\ +-0.5596964661999650481050f,-0.7987634619537844482551f,0.0324112900849305857198f,\ +1.314201571181351946294f,1.0612990922031533269632f,0.9227327442687582870207f,\ +1.0844570327567082390630f,-0.7983322787922396690519f,0.4385271461747112797802f,\ +0.0024102971394308028881f,-1.0118154904234695212750f,0.0705293335731081022510f,\ +0.0697245903762851448882f,-0.1632285547093744459968f,-0.3480161062719534514898f,\ +0.7985173205564675136259f,0.1109596610185162313122f,2.1081890906632976268043f,\ +0.4892671398131347992866f,1.0240089881181213549155f,1.4852757378982723857064f,\ +1.0644644981998814259327f,-0.3570451345877300175502f} + +#define CSOURCEI {-0.9898306808620782604180f,0.3667210055378663513537f,-0.0115516846422681774414f,\ +0.8852998822794806432768f,-1.1751393894807391493629f,-0.0206719580996688329089f,\ +0.7962831267090092479677f,-0.3570515343460327617464f,1.1412480529936015472003f,\ +0.9660799200593181979002f,-1.500080296017527903274f,1.5242908911731756216312f,\ +1.105363493233324723164f,-1.4826475597643153925276f,-0.0160696607830907479963f,\ +-1.1650712441016521925263f,-1.5029224597675916452744f,-0.1699343140216190151115f,\ +0.7034171630892511739575f,0.78048631235475940393f,0.3572706186066606504070f,\ +-0.6408324378966977485916f,-0.0937081428320361148332f,-0.5995006453733843221343f,\ +1.998069767982257660677f,-1.4952437710179469210203f,-0.0218783914582419587724f,\ +0.6948934249723224265693f,0.1340798946938218938474f,0.89984980932311908752f,\ +-0.2284707639451582783519f,-1.9920610974541457238729f,0.3296873301478878692805f,\ +0.8334316663655645385234f,0.6017800660861944983537f,0.3195021884236714515559f,\ +0.8984984730147690390467f,-1.9683562813815465020184f,-0.2621383110944355832039f,\ +-0.6316753727255608463764f,-0.0591493996271135885623f,0.4809775893765277920977f,\ +0.6120565292662866196949f,0.6937256492244192607188f,-1.4222204429149998272663f,\ +0.8456412639793806640398f,0.5364524335270092203487f,-0.5058105404615705902316f,\ +-1.5311811141279494385969f,0.0523506509744253098471f,-0.5845520117472021714988f,\ +1.1469635617104527725019f,-0.1258479133308397501789f,0.5773840158286764889795f,\ +-1.1474331349335626928365f,-0.3322391415499996170091f,0.9929767773460509427963f,\ +-1.660441950926221155171f,-1.0585630798226148829855f,-0.5685726288282663132279f,\ +2.5350425363467468109491f,1.1303214701472124037451f,0.5096756039133761850835f,\ +0.5467199129804439783342f,1.4455896704702442256973f,0.2077882393389256510119f,\ +1.3512301851415178255422f,0.2700167751147149464153f,-0.6941424124437390874576f,\ +0.5635246670082925124490f,0.5834755445761464764942f,0.9008533966882129595533f,\ +-1.170120921094221611014f,-0.0177589837851252312084f,-0.2475436907499060923410f,\ +0.4245903735389653377297f,1.3061684980078611673093f,-0.5518911372967175710258f,\ +-0.1216398923828668349190f,-0.1029994384259720480168f,-0.1089806892178883240829f,\ +1.0016946254399594629092f,0.2334205918306470894930f,0.9399822370279485861388f,\ +-0.5987819428189028458931f,1.4171477596181012437171f,-0.0511681877729818074263f,\ +-1.239060328697855206670f,0.1921278548938223085241f,0.5833400770787767752878f,\ +0.1323798905411992243852f,0.0725274151024776908558f,1.517150104931189957824f,\ +-0.2298162704468252326429f,-0.4156880360427151477332f,-1.2865870850947289660837f,\ +0.2915127708019566443731f,-0.4334207057720374511867f,0.6674221275639458106355f,\ +-0.1336045597099253245954f,0.2151665632136103845085f,-0.3174957202806932832218f,\ +0.9961380035737125160367f,1.5546597091479958940852f,-1.3388468039798184783251f,\ +-0.5065257499177515665423f,-1.0639142786788362560202f,-0.2959444267422965957337f,\ +-1.960038123367497275851f,-2.1398034807947201585421f,1.3019428580756020608078f,\ +-0.3083046332207799999914f,0.2621552778202266842378f,0.5195575373923391193642f,\ +1.56243573209724884165f,0.2068570860697496183178f,-1.0570132216452536866313f,\ +-0.5904609039323533981047f,-1.8482550680523897046470f,-1.291460161650367144404f,\ +-0.7557326141240545691602f,-1.0579108981634606223565f,1.2726680818341371548286f,\ +0.8679294400149879518125f,0.1923087263308917160831f,-0.7207099055968289036400f,\ +-0.9810187619058614583167f,-1.1007025532949878954270f,1.0502610988542768755138f,\ +2.1328376492581355705624f,0.2517811686949605887165f,0.0286045569084023044992f,\ +0.5426452678085846859091f,1.0007501149236575077595f,-0.1483667758019126259317f,\ +0.6740034918705165578601f,-0.7882925718203834808406f,-0.7561945904807015894633f,\ +0.5978999579905148742398f,-1.0006972818202708452873f,-0.8844110367528469351939f,\ +0.0563203493770412927377f,0.0010532695687821122445f,-2.2465253729529170989565f,\ +1.141716522775603870343f,-0.4500026076505115879556f,0.9053568457125464874480f,\ +1.1182847109018192455210f,0.8014435340539697305573f,0.7353172667964483766312f,\ +-1.0684850588765142376246f,-0.8549786389844856726583f,3.744686089807424789200f,\ +0.2152832470021692201634f,-0.8813298598480671097732f,1.096456876472062580419f,\ +0.3072305150928033579127f,-0.0799524082246828721177f,-0.0588190904677381790067f,\ +-1.1720572424194137806097f,1.4720320544391665151807f,0.0931276494198173265815f,\ +0.555984015411468357470f,0.8773397145008163811042f,0.3438026639727968514215f,\ +0.2511717975861258445036f,-0.4806220734748062883845f,0.1665649861790623464941f,\ +-0.9011922058627225284866f,-1.3882654124150977104080f,-1.0995275754970570414315f,\ +-0.2796226936636541648973f,1.8675624576106222285432f,-0.6479880884779005700835f,\ +-1.2193765127792735025736f,-0.4210708606718742141872f,1.074252254135527273604f,\ +0.5620287257728261431922f,-0.5121392183328929981201f,0.0495074962957085112913f,\ +-1.483551847645206089865f,-0.1477396930496895632867f,0.4331368024681788719832f,\ +-0.1336623009706502385185f,-0.5252621832336971108290f,0.6576305030526226058640f,\ +-2.5329417269156695446952f,-0.3644974785307753539776f,-3.0957701776748671740336f,\ +-1.5563868957442139606684f,-1.3037172144407160878643f,0.1173565633554439491260f,\ +-1.4546337195274263720535f,0.8077473947731041992171f,0.5608831835142086275070f,\ +-0.2032753128403547993042f,2.1656548569001641268983f,-1.0352617083883073334505f,\ +0.0703447174899709398721f,0.9001420266818445092838f} + +#define CRESULTR {0.7816146272263719829709f,0.9335239938948984850242f,1.3671418657595642009994f,\ +1.251053426889690234347f,0.7638235407866506010421f,1.05442571981112132029f,\ +0.7654863707154079266459f,0.9870695051633786576417f,0.4317842171461107048103f,\ +0.6134213525393761301530f,0.2077424772758102444747f,0.0466895952950193357522f,\ +1.360861123120397309094f,0.1290276167481773372803f,1.6109467398934755877349f,\ +0.4514742994866134950804f,0.0978899773240222564885f,1.9847014656066033211346f,\ +0.8795516810834358434334f,0.9805643961019996357464f,1.2914771272713012617572f,\ +1.45266805020831779593f,0.9982291599155850292391f,0.8256234470461548680120f,\ +-0.4185192299594263642959f,0.2310786951961565083291f,1.0010177538173574696145f,\ +0.7891557184270517888436f,2.5416517088949488467620f,0.6546112908226877635798f,\ +2.3190840475863043756988f,-1.0326993872554559583676f,1.9805065587758790002226f,\ +1.9896627954528611770257f,0.9782130127113016770934f,0.9495035596250852583111f,\ +2.6155274562386430226013f,-0.3882195415344683042669f,1.6969468407328636150311f,\ +2.3343766660435352200409f,1.0146967843242544748961f,1.8258003683547168183310f,\ +0.8286050933424484732370f,0.7704328385697075676219f,0.1502070282359266317762f,\ +2.3818436251417942628450f,7.4205579165122914631070f,0.9034699872486960936513f,\ +0.0421812525739015259374f,2.772183837530781680414f,1.05592364033954333458f,\ +0.4321743126982589000562f,1.0104075090452335761171f,1.172999728469012792331f,\ +2.4859521407117588509550f,1.0004516930864140178414f,0.546406215495572333829f,\ +-0.0897848836255507876114f,0.4902005853747226638006f,1.3459428245240352417511f,\ +-0.9702703286402243332276f,0.4885630407318873325018f,0.8780295479347596243613f,\ +1.70760011581548409865f,0.3365500801559331289781f,0.9791465640129676240022f,\ +1.0399586044108937166186f,1.694655018871175533590f,0.782984551558400743154f,\ +3.2677601373666536055396f,2.1277760759506403332f,1.14078060084558496889f,\ +0.5190124031043247265771f,1.1102812125309757806946f,1.1710705982540408065518f,\ +0.9356000257245263851402f,0.2627541871520008842644f,0.9248192933983879759907f,\ +1.521163371222483906564f,1.6845378275230893372338f,1.06533482774366716761f,\ +0.8498389444062255382306f,1.0685794539652364587567f,0.652956087446700861321f,\ +1.1336945232455741816580f,0.4760496137462009169639f,1.0655234579631518432308f,\ +0.3786859524519583519719f,1.1151440885209693565372f,1.0396183182135259048806f,\ +0.9918753196058325283246f,1.3573231183580980463432f,0.0667878216615050979144f,\ +0.9763703551872023878033f,1.1968339368077574036420f,0.3044649077728942554444f,\ +1.3772502379038416009394f,1.17234744424829684384f,1.4766671247289078205966f,\ +1.1826761905568310417891f,1.9143513147617730041361f,2.0066566439861803772260f,\ +0.8422630906406018969079f,0.0168918363185286551920f,1.0985590427740710151028f,\ +1.1765072536632881217145f,0.6974498887881349640239f,1.9699828668985011059789f,\ +-0.5023701162984575141479f,-0.5400394193341752080428f,0.2985422403364683119342f,\ +1.5853347023892305767134f,2.8298681106779470795232f,1.57430200098008077347f,\ +0.0085163822819922137264f,2.34150280392945697727f,0.9260267598505396158259f,\ +1.935359947414732717519f,-0.624580203843195791436f,0.2899045962478056792655f,\ +1.1098967555784207128511f,0.6015796718407534493522f,0.4088898624506622225816f,\ +2.4110975561220100438220f,1.194926943855234124925f,0.8031086031385790136028f,\ +0.7056759527365589201864f,0.4529743829467441917913f,1.4838629998186587677367f,\ +-2.0715572287647061600069f,4.2672653505633393322682f,1.3529709414016093393940f,\ +1.7293958649615748246475f,0.6702228972280770413761f,1.246418198725941284266f,\ +0.8524596514683829839854f,0.9764536278838282790105f,0.7407821510692440547530f,\ +0.8301521851442831279044f,0.6387195724636756111181f,0.6461301327556139284525f,\ +2.7018352901688040823558f,4.1613347047505291342873f,-2.8343681862783589586741f,\ +0.7623226303646806201186f,0.9067568500030595002315f,0.8723652455116047699235f,\ +0.6696132906174546706168f,0.7552700261493744404717f,1.1992371819877765126705f,\ +1.8643427000471699539474f,0.9539854852947572405597f,-1.8677739580920826867327f,\ +1.9475448138625472971341f,1.5369506397672023645384f,0.5466606741068265051808f,\ +0.9729193674298542982015f,2.3999437957484786032580f,1.4341047292357653741846f,\ +0.5111837868275163065945f,0.1111569790233604693164f,1.091716362873146328738f,\ +0.9138969247921984173644f,0.7040484777727061826980f,0.9721353920795816616618f,\ +2.0373197284299586762302f,0.8964067096914249965778f,2.3355486655682877739082f,\ +1.7093760866374785312161f,0.2716303051904848664400f,0.9460612941094431738165f,\ +1.2762143042912967860758f,-0.5352378220939374431353f,1.1838129188764214827501f,\ +0.3761598820395333775402f,2.3805545048605618596582f,0.7017854493503786761366f,\ +0.9822084988099225588698f,1.1648832392783827760496f,0.9992994024245958062380f,\ +0.1738523619678353504536f,1.6004378914991708171556f,1.3222645989799672872067f,\ +1.6332603440938282535200f,1.1558588483310223704592f,0.8687697917589873863875f,\ +-0.8204224950713523423218f,1.4547791700377004087130f,-1.0014359468702989097721f,\ +0.0144439712508898226995f,0.2674388703277625345400f,1.0538721408636444465401f,\ +0.1548583219344299433118f,0.6953871836582313781250f,3.5373520681952288491345f,\ +1.0989946596859092586840f,-0.8807918395297148483891f,1.18456726702104053750f,\ +1.6180875245455190736266f,0.6615360547308598571092f} + +#define CRESULTI {0.8476313539717991174527f,-0.0020945428347154504238f,-0.0107702820990110675198f,\ +-1.3194799051731675998411f,-1.5788424410279275900137f,0.0069265821924918190636f,\ +-0.3180628434269115456523f,-0.1158623505001605547005f,0.2488922702434745726219f,\ +0.3333162069042073238911f,-2.7579550935532486377610f,-0.0929722217314629395535f,\ +-2.558018975124945360022f,1.0673421965913736375597f,-0.0202992468302341001751f,\ +-0.5103135313335316336492f,-1.0383893485568700398858f,0.2955939972849115360276f,\ +-0.3716363644745803163083f,-0.669112301980219426056f,-0.3318327753869652063656f,\ +0.9035686841735829366584f,-0.0067883075736271340089f,-0.0021471806447879195068f,\ +-0.1287847092516060110157f,2.8852450693166233897102f,-0.0010974001216119489213f,\ +-0.1508680801994282949519f,0.315705921414520418455f,-0.2580859369524737267909f,\ +-0.4893903475844605388545f,-2.116294802120160856163f,0.5953479459460185863051f,\ +2.0617504351927595784844f,0.3616928144472888462246f,0.0048175006267416721831f,\ +-3.1913265982599425818478f,-0.0679428805767179483377f,-0.3743690366783002931861f,\ +1.6027053949682106281927f,0.0107745309683946743906f,0.8329399053511026274066f,\ +0.0907062192789129806414f,0.0408000708558418981320f,0.1702419063491371065133f,\ +2.5813113904964448686030f,4.3826942657913274814518f,-0.1250993995488117738191f,\ +-0.366232782627764485994f,0.1355060901825991537262f,0.4285644238647245418683f,\ +0.2943941929388677047896f,-0.0242296816969479640591f,-0.5347582943284873158163f,\ +5.440972259812645539512f,0.1130116459854922927875f,-0.0230886388762507679950f,\ +-0.0758567265188389433517f,-0.0153004723200108137121f,0.6705905748883707051533f,\ +0.3580727041769314333841f,0.5060754117432990639713f,-0.0529558939424066774104f,\ +0.8998620364333704824134f,2.4830051583371242074350f,-0.0075609544367582562363f,\ +-4.5567155472995342080367f,0.3858035723583744802667f,-0.1243338609096430735779f,\ +-1.9945093918095539997637f,-1.2920941940088974675405f,1.2080631306058675633608f,\ +0.8083456169264077173509f,-0.0085739065252298622688f,-0.1660020282935961710713f,\ +-0.0959540597572042242014f,0.0927222427996397119410f,0.2221508503381195154258f,\ +-0.1409070089536773040528f,0.1405249830722395676386f,-0.0419169397939630830607f,\ +1.0272672902510724401992f,0.1050876648914500499643f,-0.3835786757949954384195f,\ +0.5298437409836795897178f,2.9106995454114534815915f,-0.0190217208337024913656f,\ +-0.5609150372475696366692f,0.1029355491400509997613f,0.4090658874763115071538f,\ +-0.0046870241505978906330f,0.0668889266782490693464f,0.7415168418856862286859f,\ +-0.0168562013052173872985f,0.3406253082923152986083f,-0.4061399877851155082453f,\ +0.2969570085375197732169f,-0.3434409399238548266098f,-0.9854495385788534234095f,\ +-0.0867374346127948586682f,0.3597999966335438393195f,0.5808295174480837541608f,\ +-0.9935741356819206560047f,0.3096185219585154135835f,-4.5479921396771585406782f,\ +-0.4366900670417938612466f,-0.9018465944214471008422f,-0.5250881076401040514767f,\ +-0.8025691478992442728924f,0.0572684987995472974398f,0.4945930961405698988997f,\ +0.4034972398433521179051f,0.7137454043276676429741f,0.7512128888062908904644f,\ +0.1939996418115135512483f,-0.4464039676558783642513f,1.3907357608014461192170f,\ +1.17156541392215607367f,-1.9708685366549760775712f,0.3123022444724680712902f,\ +-0.7896872395843760328304f,-0.6179850212857144198253f,0.9256883067644073870284f,\ +-2.7417718288371224488742f,-0.1326893078962607386284f,-0.2491649089658723725815f,\ +0.6490031468453125729212f,-0.0039713278584005608923f,-2.4386883505629461943442f,\ +3.178543851545130305425f,-1.0690676099739919724385f,-0.0260882664072711288605f,\ +-0.9060493921002102934992f,0.6199896062130800800105f,-0.1133779208230118323852f,\ +-0.2723070216270195298414f,0.6794632710962359434248f,-0.1319558520667497847345f,\ +-0.0528338647750857190455f,-0.53278022650161005469f,-0.1536737960232173183517f,\ +-0.1415472283443244549961f,0.0042545728383564943367f,3.4486281529351474617329f,\ +-1.3962363760387317412892f,0.0515879186128369374154f,-0.7852445756480942451461f,\ +-1.0432119477148995567717f,-0.3036586016327645909385f,-0.8524640219222514581077f,\ +-3.278864600929186412515f,-0.7961629883628608128632f,-1.1545100621855832745410f,\ +0.3684195377039459207147f,-1.6970666375940057779559f,0.5849997270051815467795f,\ +0.0618729525386339657134f,-0.1749203390283090575608f,-0.0606310989665877000943f,\ +0.7892429044220883316285f,-0.5178739198482895655928f,-0.0418201497112469372519f,\ +0.2095761220035197158751f,-0.3550942958596610687927f,-0.0867144455279654918778f,\ +-0.4598945931287213850780f,0.0685694193597463919065f,-0.3559389766660929765862f,\ +2.0119894555407911163059f,-1.0947444956011096461879f,-1.6288470340375438283331f,\ +-0.2410820142960599099524f,1.4659778142858674865323f,0.6624490343288035321123f,\ +0.4136536130989748594189f,-0.9846866209581750517543f,0.9510859925791920188587f,\ +-0.3140825904492373088495f,0.4344001304574144906034f,0.0016042272632115935332f,\ +-1.7199780122539785054414f,-0.1872506113405222882839f,0.4446357342161921244461f,\ +-0.1745599221993578142875f,0.4442139130537332003534f,0.2767209124711134116126f,\ +-0.0013781156561338940309f,0.4254643497866397727769f,-0.0032333769526939463469f,\ +-0.0697738544158777868054f,0.1581414947349125965648f,-0.0415758240738434495243f,\ +-0.8801521218406083146846f,0.0803587769045229632914f,2.1574882446469239027920f,\ +-0.1027605757720615048401f,1.0043017952229080780313f,-1.8015810020856124484823f,\ +0.0897692625606805599814f,-0.2856956371820633111547f} + + + + void scoshsTest(void) { - printf(">> Float scalar\n"); - printf("scoshs(0) = %f\n", scoshs(0.0f)); - printf("scoshs(PI) = %f\n", scoshs(FPI)); - printf("scoshs(PI/2) = %f\n", scoshs(FPI/2)); - printf("scoshs(PI/3) = %f\n", scoshs(FPI/3)); - printf("scoshs(PI/4) = %f\n", scoshs(FPI/4)); - printf("scoshs(PI/6) = %f\n", scoshs(FPI/6)); - printf("scoshs(-PI) = %f\n", scoshs(-FPI)); - printf("scoshs(-PI/2) = %f\n", scoshs(-FPI/2)); - printf("scoshs(-PI/3) = %f\n", scoshs(-FPI/3)); - printf("scoshs(-PI/4) = %f\n", scoshs(-FPI/4)); - printf("scoshs(-PI/6) = %f\n", scoshs(-FPI/6)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=scoshs(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-6); + } } void ccoshsTest(void) { - floatComplex pi_pi = FloatComplex(FPI, FPI); - floatComplex pi_2_pi_2 = FloatComplex(FPI/2, FPI/2); - floatComplex pi_2_pi_3 = FloatComplex(FPI/2, FPI/3); - floatComplex pi_2_pi_4 = FloatComplex(FPI/2, FPI/4); - floatComplex out; - - printf(">> Float Complex scalar\n"); - out = ccoshs(pi_pi); - printf("ccoshs(PI + I*PI) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoshs(pi_2_pi_2); - printf("ccoshs(PI/2 + I*PI/2) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoshs(pi_2_pi_3); - printf("ccoshs(PI/2 + I*PI/3) = %f + I * %f\n", creals(out), cimags(out)); - out = ccoshs(pi_2_pi_4); - printf("ccoshs(PI/2 + I*PI/4) = %f + I * %f\n", creals(out), cimags(out)); + 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=ccoshs(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-5); + } } void scoshaTest(void) { - float out[5]; - float in[5] = {FPI, FPI/2, FPI/3, FPI/4, FPI/6}; - int i = 0; - - printf(">> Float array\n"); - scosha(in, 5, out); - for (i = 0 ; i < 5 ; ++i) - printf("scosha(array) = %f\n", out[i]); + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i,j; + j=1; + scosha(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-6); + } } void ccoshaTest(void) { - floatComplex in[4]; - floatComplex out[4]; - int i = 0; - - in[0] = FloatComplex(FPI, FPI); - in[1] = FloatComplex(FPI/2, FPI/2); - in[2] = FloatComplex(FPI/2, FPI/3); - in[3] = FloatComplex(FPI/2, FPI/4); - - ccosha(in, 4, out); - printf(">> Float Complex Array\n"); - for (i = 0 ; i < 4 ; ++i) - printf("ccosha(array) = %e + I * %e\n", creals(out[i]), cimags(out[i])); + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + ccosha(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-5); + } } + int testCosh(void) { printf("\n>>>> Hyperbolic Cosine Tests\n"); scoshsTest(); diff --git a/src/elementaryFunctions/exp/testDoubleExp.c b/src/elementaryFunctions/exp/testDoubleExp.c index 73aa4a8d..200b6235 100644 --- a/src/elementaryFunctions/exp/testDoubleExp.c +++ b/src/elementaryFunctions/exp/testDoubleExp.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,35 +12,485 @@ #include "testExp.h" +#define SOURCE {0.2179693998688542744269,-0.0965447246339290049422,0.7336822469173450711466,\ +0.1536179219946321450330,2.4661907147341337598334,0.6332832861607330388054,\ +0.4890665386763063948727,-1.2667347141842044688786,0.1055086446255857485221,\ +-0.5936826571652784600985,-0.7816336465253074239357,-1.2815191120322371176599,\ +-0.9972908908531801230879,-0.5763370349806613557320,0.3762718127153176217448,\ +-0.8343599392689131644119,-1.0647534449045219506758,0.8534997909421322415113,\ +0.4306578956143343739349,0.5321132560429659985601,1.5974906319789743402993,\ +0.7312358120089610391545,0.4431279991113933891533,0.0087064913021668820237,\ +-0.8280501749431711244753,-1.0000194068543815095751,-0.8231062295149559338014,\ +-1.014391306624823796412,0.9121054970139131912177,-0.3855306050210344781526,\ +-0.2598191828862038144088,-0.0831341089570867414205,1.6949336044621277075350,\ +0.2429392861367114797577,1.8753502720069497033961,0.1984146246369250243813,\ +-0.7119008641532499348514,0.2504295152565002013922,1.8412596530958635909769,\ +-0.8228059182439799723596,0.6769888144769687920999,-0.4970822573553836942750,\ +0.0527831065241245664388,0.9397902577952749192391,-0.1148979773734264131502,\ +0.0647134776331551031525,0.3730550115687696344224,1.8451193005461747898011,\ +-0.5388550697275177325807,0.9483924031089353556823,0.0149553330989996690475,\ +0.3492458987360779198994,0.6782119558587149654727,-1.0638111247721440122405,\ +-0.0013200516387791912543,0.5311672327771198576229,-0.6446734157979014945283,\ +0.7518088875179287366990,-0.6321033286458267452801,-1.7783294717850963717609,\ +-0.9695340176537615706209,0.0585248375044749719054,-0.4174672618194515405499,\ +1.067002270541741681953,-0.1107931733964626630495,0.9733263412399585368107,\ +-1.5676178926909869471018,1.5082394419009976793689,1.4975531724590585014312,\ +0.0773364211376570409584,0.8296923447513622207339,-0.9966607229071756668404,\ +-0.5179876589725144198084,0.4414952679928694223577,-0.8736872755871413209761,\ +-0.0349791375435402618344,0.9274876201813765375093,0.4517463561226834900530,\ +-0.9961910310034214344199,-0.4760507657625145383484,0.2735565496341169633432,\ +-0.8683706445498747816814,-0.5819104976015757602070,1.0334934603683001430596,\ +1.3664069352627037368109,0.7304950466471921144418,-2.2795501799654798169570,\ +-0.3686784792993444970222,-1.2288389604009317679356,-1.372993238103811464157,\ +0.4327366693143714915237,-2.5372469745505505933636,-0.6466940204055214858059,\ +0.3727678446055545102844,-1.2012067538727111415398,-0.4120248811585083825726,\ +-0.1824358873620524901238,-0.7071004997444696460462,-0.0734584462405756949410,\ +0.4857107830752938615326,-1.5839443933479926407415,-2.6376393427060378371607,\ +-0.1810786671588598961691,0.8157163062709066325695,-0.3867087459826359374659,\ +0.4198660262170845203222,-0.6048459538042058047935,0.7659922557941690746119,\ +0.7134643264223192726803,0.1349874125377001632398,0.9411487010623025284417,\ +-2.1973029826905001726800,-1.9520696706230427075468,-1.2525761477383645647876,\ +0.3859074186443228193788,2.7807429866034785170825,-0.4523923998873963236989,\ +1.585571863180605944876,-0.8857651118640259557679,1.3802479208151854361830,\ +-0.3327040930736118173883,-0.2328335442849216174732,-0.7859150581069940244561,\ +-0.7298755566585160003967,-0.2812060079915064125800,-0.5573134267677620767856,\ +-0.5509002031358800621774,1.5296906305375963519566,-0.5702710404977533453774,\ +-1.3692402567978680938410,0.1826473558262797503016,0.1798346311903204763905,\ +0.4425890891364235302241,-0.9017692018513575602512,-1.4772671313778520385540,\ +0.4118240527515873439235,-0.3831680771908100302525,-1.7286187555088927680913,\ +0.9581454530897092203290,-0.4289057042708049327651,-1.2735233142733974887051,\ +0.7534058867095866363073,0.4695440194018555835065,-1.4064759963786124252749,\ +0.4697098567590811124539,-0.4910731440349740406504,0.9955428392828012951199,\ +1.1510113490256201895789,-0.1082632054930593029640,0.4856574660939540488691,\ +2.8432492089162182402617,-0.2526776656626389394589,-2.1526240294434693112180,\ +-0.1700067035996372932782,-1.2942848891673066624719,0.3501843381023743151381,\ +0.1214335524018897854992,-0.0093577680302103644072,-0.8404790744305570271422,\ +-0.2709432496692772418534,2.129923383430207373124,0.1924976275921922719281,\ +-0.9958949135265199315015,0.5029057807067898178133,2.1223686722196575260568,\ +0.0454634212534271303641,0.9495546668659169409210,0.9477155819428292327089,\ +2.5219360071943213164047,0.6965268573783115479969,1.0778432726775772909633,\ +-2.5098595900849196560500,0.4486528645511871360441,-0.4241938936353907840804,\ +-0.1335517966712884141423,-0.1078744374453666915459,0.2327494623534509532448,\ +0.9351842746020352370451,0.5235744811910800766697,-0.0660252647673259390748,\ +-0.5945113005344258017004,0.8805986363667026584068,1.4189560003612493588321,\ +1.409077916250558226707,0.696455894185944335284,0.90951587071067696577,\ +-0.3637587731642325517001,-0.6227550415243503501017,-0.8451138025419450139353,\ +-0.9376931811420606832641,-0.5548689487135263220807,-0.5854929781645817898905,\ +1.2660172290794624583299,0.5877121654077364087954,-1.2764933780334013491142,\ +0.7392453034050661120347,0.3032161878585472591929,-0.4000095029594706308451,\ +0.6502681159628262985706,1.845716594779029051665} + +#define RESULT {1.2435490142739233920821,0.9079692880976051316821,2.0827356520772775105854,\ +1.1660452814005672905751,11.777497445956059962668,1.8837854434705150197260,\ +1.6307932268341887027674,0.2817501160466636123125,1.1112757110437740948328,\ +0.5522896416607726566284,0.4576577492819154380221,0.2776152512958051654657,\ +0.3688774179340663095239,0.5619530154526948262372,1.456843068428832488337,\ +0.4341522763440999188589,0.3448128596551297553319,2.347849472141609439291,\ +1.5382692112870990364115,1.7025263838493789325668,4.9406190246302923441135,\ +2.0776466024256405873416,1.5575716893750450875444,1.0087445030337489626504,\ +0.43690033557496926742,0.3678723018579735937195,0.4390656952911728971856,\ +0.3626230889407328072949,2.489558777574301107194,0.6800896814511222521205,\ +0.7711910177313587855252,0.9202277281636028760659,5.4462843442294808227189,\ +1.2749912121263455855313,6.5231035807982653551562,1.219467910454189230052,\ +0.4907105362925133218432,1.2845770436515608903250,6.3044747124787887671005,\ +0.4391975714691279120139,1.9679429600133448996502,0.6083029443616727593991,\ +1.054200971008417697661,2.5594445384876851612432,0.8914570880611734082777,\ +1.0668533032547884431551,1.4521642234675371518904,6.3288547811978252966014,\ +0.5834158405874197983465,2.5815562199289581180039,1.0150677236735847763782,\ +1.4179978313495280595191,1.9703515051800046808950,0.3451379368940441505487,\ +0.9986808192461388289374,1.7009165158858785549256,0.5248339165868535216575,\ +2.120832897097891578397,0.5314727626805419991030,0.1689200974890469886258,\ +0.3792597252702665788782,1.0602713198612101486162,0.6587130565620143984873,\ +2.9066530672450663352890,0.8951238652136722651065,2.6467337728218058856555,\ +0.2085413590449486931355,4.5187682330848559786318,4.4707365550132545095607,\ +1.0804054865026515575011,2.2926132972391299880144,0.3691099459169989716045,\ +0.5957181306287809841038,1.5550306685748274126979,0.4174096039635283306168,\ +0.9656255613686579586386,2.5281495201925832105871,1.5710534099579722688844,\ +0.3692833545913285497875,0.6212319441335979464114,1.314631699051673319190,\ +0.4196347266560193634000,0.5588297032433613420466,2.810868359578304609414,\ +3.921236098173682904644,2.076108123684798468,0.1023302265504790059536,\ +0.6916477537748028092679,0.2926321380214171319345,0.2533474941164985949626,\ +1.5414702508327886576467,0.0790838201409621577298,0.5237745054427331847791,\ +1.4517472697479263388232,0.3008309638501235339092,0.6623077968618373834175,\ +0.8332380633061603480982,0.4930717885873925898643,0.9291747556935816554358,\ +1.6253298553258777037200,0.2051642515979318348585,0.0715299280520010488660,\ +0.8343697186187617464981,2.2607945137747993413768,0.6792889117422631350962,\ +1.521757666329790259496,0.5461585538073224777023,2.1511277850444776582606,\ +2.0410498879452951825897,1.1445223776283628414063,2.5629237613167004106174,\ +0.1111023997465931806294,0.141979915628105440861,0.2857676680597394103245,\ +1.470948482105968180278,16.13100161483945527152,0.6361045134063019190762,\ +4.882082463582880116348,0.4123985215384664559934,3.9758872105147431419425,\ +0.7169823228043985530,0.7922854429887553617817,0.4557025166581872288596,\ +0.4819689641868314944340,0.7548728096296193346149,0.5727457220779371693808,\ +0.5764306720519700721894,4.61674832039780813631,0.5653721791738470781041,\ +0.2543000889430159783267,1.2003910225327127925254,1.1970193970806983774224,\ +1.5567325245923557819339,0.4058509918676029837314,0.2282606431186239848152,\ +1.5095688084830436448414,0.681698311719268423836,0.1775294522772180583203,\ +2.606857448284196188126,0.6512213336764225424247,0.279843904757457517807,\ +2.1242225714533806701922,1.5992647932168715385615,0.2450051627087996841681,\ +1.5995300330564117263776,0.6119693104596294341846,2.706192970479794457361,\ +3.1613885606985867582353,0.8973913670061375302822,1.6252431999544321161721,\ +17.171468681707562353722,0.7767182044255251938125,0.1161789005908738792172,\ +0.8436591610241814809257,0.2740938017114021296727,1.4193291609241254214169,\ +1.129114336496770620855,0.9906858796267230538035,0.4315037514894317638436,\ +0.7626597763715156075293,8.4142221179071938763627,1.2122736276966128432520,\ +0.3693927220385589405005,1.6535190604459728547226,8.350894611450568660871,\ +1.0465127237901119539032,2.5845584134924157737601,2.579809559192972390207,\ +12.452681823131790395109,2.0067707887308077197019,2.9383355238494659467108,\ +0.0812796509085991214505,1.5662008789775083705820,0.6542970055839620879823,\ +0.8749821466412209813868,0.8977403119208263726492,1.2620652448583575822028,\ +2.547682887735915890914,1.6880507842731462542218,0.9361072134619135010070,\ +0.5518321800737933102710,2.4123433907357978434050,4.132803541818598880297,\ +4.0921803308889375117019,2.0066283869219931901284,2.4831200911745119341845,\ +0.6950588413666404230540,0.5364644180251368910106,0.4295084762729607374965,\ +0.3915299831612857883734,0.5741474990346947526731,0.5568312884718313870991,\ +3.546698706809571000065,1.7998659059051445030519,0.2790139835869558937453,\ +2.094354315836046254162,1.3542071959523713786666,0.6703136760416763539894,\ +1.916054484944200275720,6.3326360988263932227937} + +#define ZSOURCER {0.4962097263673624913949,0.8910778018246798826141,0.0947801220713381104011,\ +-0.4603936178711778848260,-1.0252845699539288037982,-0.98492140788616533431,\ +0.6666841978684399094846,-0.8284280082188715255143,-0.8087801325930177309687,\ +0.4980076621960153326896,0.7628920854029445086653,2.8126683658021311984498,\ +1.691339266824742670892,-0.658296432197564951316,-0.8165943259043131341457,\ +-0.153838313722479663737,1.0488069232465311308999,0.8083896014295570697783,\ +-2.5696290069516263265825,-0.1755006665720788838758,-0.4111892069294727503070,\ +0.4347439848326261624401,0.2238731702156319669506,0.1031628567688149950010,\ +-0.8488244709313933489270,-1.4082269940133023133910,-0.5694039300480933096793,\ +0.6847821865673663355167,-0.2355866905280663559097,0.126244929305970754463,\ +-0.7524531768104696372035,1.547744870456928323321,1.9472508676223883039569,\ +0.4418443111187473348878,-1.2649638329504953038196,-1.8396310805312170444381,\ +-1.8200055182230749917238,-0.2830037881038854896687,1.0167783703917296911357,\ +-1.3736934824588333814432,-1.6523791477656657455952,2.0750211192468381860010,\ +-2.2299199681252757088146,0.0617102387651526432255,-0.1883752530215108134115,\ +0.2017498149536396945258,-0.3785108864619266544338,1.4258759859183376406122,\ +-0.2179348061181922979745,0.1732283900046150681984,0.1667406411484310679860,\ +-0.6517590587731293405582,0.2359187276296556834421,0.2867271206877638478616,\ +0.0606400241806124770672,-0.0258227029380159664451,0.0208448589487377940188,\ +-0.1006137675958410082622,0.6887664099542869511339,0.1558887949250353788244,\ +0.8324928725743804269754,-0.3151516259195137337201,-0.3438938576674008262835,\ +0.0533533125037666533519,1.410105419112359426137,-0.72771444778030081046,\ +-0.0273112350183467821052,-0.1234715201495915903873,1.6876811670344133986532,\ +1.7843408966113634139816,0.4553194681918236175200,-2.482440448619641859551,\ +-0.5647234157267987386675,0.4002741476630126693514,2.0575413657607160011764,\ +0.9910894257133318063779,-0.8534666223545112062610,1.0313921190741603961527,\ +-0.5817813998765138938651,0.6420267245927361310365,-0.9597162563373448085358,\ +0.1578963713606084673380,-0.3170234887209238405781,1.1563426252866808585651,\ +-1.9325017123145520336891,0.6854693920869295853393,-0.5604369008834102494632,\ +-2.2658178544445064517276,-0.3315993869783789849137,-0.3992162906900829644208,\ +-1.538475385459755262474,0.7929279218821023711428,0.4799096678735629839530,\ +0.3842559929950347674676,-0.2870732232583454446306,-0.5902902430980193626553,\ +-0.7496420812260378152558,-0.5047035567506975572982,0.2586980379965187482050,\ +1.5714132313006403673938,-1.0578766388700049372318,0.7485548459128271714391,\ +-1.3801279040397811392893,0.4597603556312274686313,1.6137862227144141868962,\ +-1.2277987398411676078780,0.2068847811693011184975,-0.2479337336106740286024,\ +-0.3541997324021416981843,0.1707344260894599619061,-1.1381496515511626554940,\ +-0.8140025532586576684224,0.0735093571009233642810,0.3035280587071761959628,\ +-0.2782846453257922791913,1.6871692459980407452491,-1.323166422518824214549,\ +-0.0753800807237546693917,-0.4003058770927516718530,0.4033101968714281615469,\ +0.1113491527432870636938,-0.8349617120636146916368,-0.6907116891918870793532,\ +-0.0170584241359153961082,0.8194033291997417922659,0.1556399708519044799981,\ +0.1516310573630105518195,0.7495489249293494360415,0.1716685606331417590642,\ +0.4519531238973814590842,0.9288803038597209793537,-2.3544674327002401703623,\ +-0.4112942143200571387673,-1.3097240599804396143924,-0.6114852145918039383332,\ +-0.8710601639646612381895,0.3633484479767548624984,-0.3041452834723618048329,\ +-1.3937055405477738467823,-0.5975281694506322516247,-0.6997444046104884796122,\ +-0.3196851144737095085091,1.09857442199734944843,-1.77236020622582612916,\ +-0.0885003512087364219152,1.3820373060805490883496,-0.3478356988431264840145,\ +-1.5917082966936921817336,-1.2805101534361520432270,0.2630673092127150392017,\ +0.3354398592128065015316,0.3056832398609472534190,-0.3465598133034439864986,\ +-0.0149898968435104897046,-0.8499089854435717406034,1.1188306614388350279654,\ +-0.6366826455916885230124,0.7478712286232889194793,-1.1407898077101095157815,\ +1.7416298413146675816421,-0.6492757257758221545174,0.9050061520410521698210,\ +-0.7214302149042788325772,0.1880549880800692907901,-0.6074290437972867939820,\ +-0.3926402375420063872724,-2.1738375226761288416810,-0.3077758151743882342188,\ +-1.4339354091797107404460,0.5131602976051053977002,0.0609103217068958785463,\ +-0.0915059705228822850565,0.2851713506321221225370,0.3850345796175008161732,\ +0.5344891195679912776484,-0.3352957511414503266600,0.5011675332336322785665,\ +0.9817842562968046582483,0.3201410638941641906285,2.908782756663177426759,\ +-0.8167435983319983883177,-0.6395703111646185989869,0.4768832439562080693918,\ +-2.3940570181394389415175,1.181268742272832517060,0.7860988797801938821053,\ +0.2080213710796271764369,-0.0657191135894376471382,2.2596861347367309669210,\ +0.7576187360739459197845,0.0816850726713814895286,0.713209526903904489359,\ +1.0221713946590338384368,-1.3357158672812421418286,-1.3632163488573514342761,\ +-0.1933486222136764076662,0.1054205318382937656141,0.8628332102807707570946,\ +0.6890069943729065782279,-0.1425645528482178403529} + +#define ZSOURCEI {0.4187679309893236334617,0.9571040727588696617190,1.172760842677368797737,\ +0.8367787345559263290085,0.0537934646406551114639,-0.3937773223205939254754,\ +1.7876375988580777143255,-0.5864530819794440130721,-0.9799596671663597380331,\ +-1.435491321041636902933,-0.7958478780018579668010,0.5425829186077295585022,\ +-0.6690160051984340716658,0.4469912205186009623858,-0.2043520888417388603475,\ +-0.4718547031305261874046,1.2345904036110504353729,0.2305518055397126619965,\ +1.0780366202665678798667,0.4904320988250001067676,-0.2652022209879114633679,\ +-0.9976659763947106629445,-1.349099117857334384496,-0.4904839979026296425957,\ +0.5445911400019642911730,1.5676016792969027502380,0.9705535858979048580153,\ +1.562322752104617240576,0.9312705713450669664510,-1.491064034017491879425,\ +0.5387480326121706353248,0.2780267771815282396020,-0.6792511192992195523388,\ +-1.7001946270260519522566,1.1064967394734230854425,0.6449691334115315033415,\ +1.010191395265231717460,0.7617257042808376343856,0.7130320908537892687917,\ +1.3873980946032253847022,1.0464400502880701893105,0.7743318486747019502303,\ +-1.0385544825558827852774,0.2570923151837984921286,-0.8100639413180467096609,\ +0.9637587964856539901604,1.5615765140914361630564,0.5804915960065005764434,\ +-0.2022297555607953933876,0.6091855774356720321094,-0.5513582447276994535912,\ +-0.4240953703415643594177,-0.8690915476323599619946,-1.0352497689734347918744,\ +0.3275700398280019243202,-0.7970043301223290743707,0.2341992112983941609627,\ +-0.2288430429610794625273,1.213479264737873375424,0.9031823906644896871043,\ +1.4754958638303785622981,1.6520423035243945175665,0.8178319166692843422695,\ +-0.4286042039456253727181,0.4413804125451418203241,-0.8566414495458910538517,\ +-1.3669367412247732662678,2.0376720143917643746079,-1.8253356531263227324757,\ +1.5266365006585700392350,0.1161871811298216261576,-0.6659495480394291844206,\ +-0.5450277852280467349999,1.2558648076421243811041,-0.7854748651398538727975,\ +-2.1498185127975446562232,-1.4516576281976432127863,0.4432114256783392658434,\ +-0.0042605582120147401926,-0.0805101613497762047533,-1.1324416682104487819061,\ +0.1150256099470636506066,1.3050405907321147580546,-1.0622634828383090699333,\ +-1.35922814179336781670,-1.703726701643710983447,-0.282327674589286536921,\ +1.4699227361546476355869,1.2714945342939698580409,0.8438338325656443705824,\ +1.6086130230417976516577,-0.8654237444216958952126,-2.1306341506077157710308,\ +0.4262366479533865049056,1.2202306126621282889033,-0.4781944951046422920271,\ +2.2327961471769124379705,0.6988675202840052280706,-1.1016041402782228431079,\ +-0.0366155088206388534822,0.9663901570211483882389,-0.3288372819689815984567,\ +1.8550047995758884855633,-0.9247532047817873523954,-1.1547662665953339899971,\ +1.4270134659704167834349,-0.2267973730507581442417,1.4593991828148868972193,\ +-0.8205572609516469384516,-0.3297213070039397009303,-0.5787995844520394950194,\ +1.8452573890170231862840,-0.5998455574460443973095,0.5461062118050383773493,\ +0.3989213456307151295377,0.6223400150931739371885,-0.661605777551548035476,\ +-0.806522789665139905324,-0.2812497112451433634028,-0.4100128914055168882768,\ +-1.50945722493549672194,0.4603669785905236677692,-0.4126050173509914209546,\ +1.6611257451475334168123,-0.8697907951355576816610,0.6696537851786207307114,\ +-0.5134482200325719558620,0.1007092240430608326429,1.2778361566544564897896,\ +1.2322028231309287704676,0.2307590408528507608388,1.5263506644977615778203,\ +-0.8569947230359247214437,1.1048772379802629384216,-0.2109985124170330184068,\ +-0.0551453334787995949617,0.1230778288705814127457,-1.423405390861443020611,\ +-0.394586285353004440069,-0.2879823286948200999902,0.1062021177580684955233,\ +-0.6907035832345697068391,0.3653158847737960068791,0.9338855454474609407711,\ +-0.4120224826154939568035,-0.1450379965292624417916,-0.9040960399672915981384,\ +-0.3390386771829260181832,1.625054083669380089461,0.4716305826679590418316,\ +0.6165901874856758446697,0.4270688825812783973035,-0.8343519087812022450024,\ +-0.5142102680242138790234,-0.3269678763130224319333,-0.4453255190855087697344,\ +-1.2280852212014194968503,0.0988020658802584578195,0.7533305302295955074854,\ +0.1183515262592216288340,0.4361801271894044096378,-1.203233821600386388440,\ +0.6270203182178656353685,-0.2147899120281239748742,-1.6199408065241285293,\ +-0.3813310069938283253244,-0.952339709740829487572,-1.3753328967678597472002,\ +0.1397812751994848834425,1.043902134788026403456,1.1627380196617531638026,\ +-1.0121704799221244996943,1.0517816399459063436694,0.0479426304050067017548,\ +-1.9256009187313227748461,0.0702119825151238802219,-1.5960860779727858993482,\ +0.3892567541356096727512,-0.3405739777798729162051,-2.3927967690864724303879,\ +1.4571677327957668346414,1.7033833498531005812282,1.4103109856750082329313,\ +0.8887233594164675176685,1.085007779468186495109,-0.1517851031708108977547,\ +-1.4279908879739833249545,0.8317119599758505676945,-0.100625285489182120235,\ +-0.0641469431098572184791,0.9441650291895723468016,1.7557389523285045207501,\ +-1.4553402741895795635685,0.8280178925672729839391,0.3768033744738639723160,\ +0.769460862052703697955,1.7363387952951863102413,0.2883880023549790228010,\ +0.1937130526956079012990,0.7931867418127547253448} + +#define ZRESULTR {1.5005579968888511643854,1.4038788522636540534450,0.4261430281005708642361,\ +0.4227040163485943913280,0.3581755188101993225835,0.3448856718113299524298,\ +-0.4190544272790215352131,0.3637606739341552875011,0.2481133547640819725366,\ +0.221957537083997319405,1.5004406253943489701896,14.262372555443052490887,\ +4.2569132214783609313713,0.4668662514373775884735,0.4327387090783468837074,\ +0.7637186245018753316671,0.9416373255706453893055,2.1849079400266222528160,\ +0.0362192687509753849517,0.7401390786280732658753,0.6396875438787329448687,\ +0.8375646978007738052696,0.2750576263630330475785,0.9779650400990845815485,\ +0.3660147454727735727431,0.0007813344853740371429,0.3196234331185683896770,\ +0.0168057767355581332003,0.4715477957119850183076,0.0903652551480593341227,\ +0.4044631913155857239062,4.5203389894684722349893,5.4536105990647092411905,\ +-0.2007273149144214174910,0.1263903817022170861240,0.1269607449461356840636,\ +0.0861483947375209779818,0.5452795580354135029921,2.0908477302753070148356,\ +0.0461711120003356623176,0.0959224290498517928594,5.6938820505915233027849,\ +0.0545714270555244795879,1.0286954018234739649529,0.5710758281447196882397,\ +0.6979532622664902374865,0.0063143806135506170760,3.4798191533417077714319,\ +0.7877896535828416979541,0.9752288031986856564615,1.0063735441532775105600,\ +0.4749622284565679919410,0.8172752232835529540012,0.6797654131732457916115,\ +1.0060191413953609718135,0.6810372893714221609329,0.9931890911476703998062,\ +0.8807071418681532426476,0.6964662788868779541573,0.7235561661943166189559,\ +0.2187683453764143193254,-0.0592182210929489902251,0.4848204523909904195555,\ +0.9593919417277750882889,3.7038010572869821679376,0.3163625232453476932015,\ +0.1969961410854516870028,-0.3978181614570159285726,-1.361462433143773242961,\ +0.2629151417766518727959,1.5660468223975476664833,0.0656893454691978989635,\ +0.4861465273206775350445,0.4622214272783724542393,5.5338903531227128240744,\ +-1.474264258662732141048,0.0506254763419271280878,2.5339495141019958701634,\ +0.5588967788586440832432,1.8941728912398605455536,0.1625651067402884841773,\ +1.1633063892460699940,0.191283239298288054719,1.547496475194143350507,\ +0.0304040029736053936393,-0.2630510364909662279764,0.5483550218772245132826,\ +0.0104474069781232917903,0.2116381376777875800155,0.4458460510519014485808,\ +-0.0081176195921236100894,1.4326892345597483924280,-0.8581368290819433308769,\ +1.3371299915531948965253,0.2577287469128092811665,0.4920040313161565537214,\ +-0.2904655234170689381834,0.462163508824150970344,0.5856645720520745612703,\ +4.81021957957627943614,0.1973001680885165531887,2.0006745533290084537725,\ +-0.0705330419570823624609,0.9534341938168940933096,2.0294673010324730810794,\ +0.0419743009154483204259,1.198346516707147646486,0.0867559391436964755240,\ +0.4784523700257174994022,1.1222795076752876131110,0.2682227152927741387067,\ +-0.1200874658138830208820,0.8883849124062789259781,1.1576031776174615650632,\ +0.6976356512079191496412,4.3909706615004120422441,0.2101052025810229428870,\ +0.6417663596495127853458,0.6437857682896207522916,1.3727122635941697570416,\ +0.0685209480693795836004,0.3887184828749501441791,0.4591565751761637059758,\ +-0.0886808967743262233085,1.4635680657432861284661,0.9160726657458563293446,\ +1.0136746786541579457008,2.1053235388732902677589,0.3428728910762353088160,\ +0.5219502401364545240980,2.4645660104152655733856,0.0042184623117796499203,\ +0.4339378404381282194890,0.1212485246955130047120,0.5305120745426482598006,\ +0.4178714460322863755160,1.42725807301201368382,0.1083449257198766668697,\ +0.2290848259097614525448,0.5275132726780440428627,0.4939136954488312358791,\ +0.5598904753492991437369,2.8019267774958218630843,0.1010607343958155046604,\ +0.838703631682240602,3.9411880425167020725041,0.4367206268973685134860,\ +0.1919888550719570374792,-0.0150705892655913463452,1.1588916915452081024540,\ +1.1410183495054209146247,1.2356219575708369262657,0.4749404480211336654349,\ +0.8577273295080861670314,0.4048075578221899673004,2.7627080603314042583918,\ +0.1777810656017677348739,2.1021956426305754561668,0.2330964886175431460824,\ +5.66671671967639412060,0.4735105506685184928450,0.8882739731815125772130,\ +0.3935986079583607688548,1.1791667609118299253623,-0.0267606605538480354922,\ +0.6267669571981022702545,0.0659441611256419563114,0.1427681092204574897497,\ +0.2360440610261224370081,0.8400442654362825223302,0.4217500256271256020568,\ +0.4836741737176751265714,0.659708006511050548681,1.4679764549267637629981,\ +-0.5928767353529774686294,0.7133645918582519618312,-0.0417400106828591799246,\ +2.46953429512858368966,1.2982129272812710230056,-13.430164449559464756589,\ +0.0501008887550637785346,-0.0697374371031275891442,0.2574407425697148865673,\ +0.0575298048786480678563,1.5214153238495213837922,2.1695830700438989424583,\ +0.1752306830704533635590,0.6307656294349494041640,9.5316214402790411241995,\ +2.1288031244453153867369,0.6363319322612546180551,-0.3752333236632875990146,\ +0.3201657030914684676226,0.1778562682310512732542,0.2378885254191149545289,\ +0.5920073359495072740089,-0.1831081087669608753465,2.2719985676152019138385,\ +1.9544837479586136819165,0.6083604660209539494176} + +#define ZRESULTI {0.66789173388469347259,1.9929317082415038964172,1.0134693185160317252524,\ +0.4685368189063157107199,0.0192861086704356442245,-0.1432921900711904839021,\ +1.9021551721948490865088,-0.2416937871379007396477,-0.3698944066530311935992,\ +-1.630400797414071512037,-1.53213128993891678498,8.5994415909131678432686,\ +-3.3657446415150640284253,0.2237921440211748103088,-0.0896829281433757230513,\ +-0.3897266612271670926937,2.6944436446476398572258,0.5128535974480390446928,\ +0.0674551867661900700357,0.3951923071518532726287,-0.1737389326052603821804,\ +-1.2977574398167355251843,-1.220297105474789312041,-0.5222431149169146635813,\ +0.2216906290760837783260,0.2445752865761168237668,0.4669490113374816231406,\ +1.983268587510182312528,0.6339653057626817300729,-1.1309555970451541373478,\ +0.2417594109687444814405,1.2901913158229225686568,-4.40337349863430294050,\ +-1.5425684980543696855904,0.2523692809573465090089,0.0955121010048793767089,\ +0.1372242993017437351355,0.5200557398879992465623,1.8081956965026793060503,\ +0.2489243937541025242233,0.1658522561714183829462,5.5692357559437404290748,\ +-0.0926616074754614826858,0.2704548071084568183764,-0.5999663537818090697229,\ +1.0049457307841926922976,0.6848514061793418150614,2.2823134654584236180597,\ +-0.1615224571979621548401,0.6804242491001384340876,-0.6188951521875099004433,\ +-0.2144424405243884335093,-0.9669529580119747835809,-1.1455586484969144667190,\ +0.3418574459217512129250,-0.6970321107785095726683,0.2369522455719338394076,\ +-0.2051372202341115724700,1.8654869710971573315561,0.9177784888023613474317,\ +2.2886105642667078363672,0.7272712824943110554443,0.5173355346085974915127,\ +-0.4383775740596613790245,1.7499274197824987719940,-0.3649863488832993385635,\ +-0.9529087376623858185454,0.7892565481221736067852,-5.2327138940157267299469,\ +5.9498471753939741191175,0.1827777741034706804335,-0.0516109653428112533091,\ +-0.2947431961312417803001,1.4188420873857061632606,-5.534739336307598733811,\ +-2.255013513539458447354,-0.4229165121855131270756,1.2028903349471207206989,\ +-0.0023812266691438442427,-0.1528305178806574626815,-0.3467892290786088183019,\ +0.1344033089941876202289,0.7027456808048029301972,-2.7761066302583010667604,\ +-0.1415572225289876973076,-1.9671936933888867216069,-0.1590647203810587884121,\ +0.1032177704018006486608,0.6858644064375456483873,0.5012535303694961585919,\ +0.2145546901849673948615,-1.6825191334017586264338,-1.3692428047734856999540,\ +0.6071558835309880386433,0.7048129294793062937785,-0.2550146122571063656004,\ +0.3727193608915256306524,0.388381095349859650767,-1.1552707405821953656755,\ +-0.1762073913025017923850,0.2856835610783352019659,-0.6826826797070948416035,\ +0.2414553165222597663764,-1.2645359787455874300832,-4.5934329346040874142432,\ +0.2899138963758796094794,-0.2765396421605960108892,0.7755744714874250878012,\ +-0.5133371708548779555059,-0.3840592062347947810430,-0.1752712350242682792789,\ +0.4264971552447213154480,-0.6075754177972138014852,0.7035454748522144141631,\ +0.2940690048846716919684,3.1502912129208726632612,-0.1636049555981854697340,\ +-0.66946985566275640789,-0.1859947683471395718513,-0.5966446238894932418972,\ +-1.1156829506070020663344,0.1927677941084386115111,-0.2009874518146967659060,\ +0.9790782744873792742268,-1.7340674208694739633074,0.7252463079270474732851,\ +-0.5716056662861231929540,0.2127452321317529204681,1.1366978856910239237266,\ +1.4821597980401888250412,0.5790353877850622499324,0.0948502955617512716335,\ +-0.5009900731541635510169,0.2411262068342296116530,-0.1136285464587050847429,\ +-0.0230670473414846290139,0.1765562266540864622133,-0.7297546590556842627251,\ +-0.0953969444497970303631,-0.1562582727501122537017,0.0526527844386815990774,\ +-0.4627604755682861448207,1.0716924742142539539458,0.1366141387590569244992,\ +-0.3665452417574971422098,-0.5756642515297435425126,-0.5549906098825418965248,\ +-0.0677059511108183409434,0.2774865464288255867409,0.5910566892682205253351,\ +0.8087239218207783464365,0.5623045509398011398972,-0.5238753172271245484026,\ +-0.4845296390188432167356,-0.1372866414817625335676,-1.3186482320231969200819,\ +-0.4982790611331439079024,0.2083797712931309276119,0.2186064764396851156647,\ +0.6738135687471651369407,0.2207138713569412324933,-2.3068359206298949537484,\ +0.2851861631055106482968,-0.2572412622481385358064,-0.5440918958783450554151,\ +-0.2513065277256731899769,-0.0926726651078676189055,-0.7210825269104839119194,\ +0.0332111240217310629830,1.4439889712068714189286,0.9755400591442719981927,\ +-0.7738329957764321642699,1.1548413262354173536295,0.0704326239228644929158,\ +-1.6002810307194081929083,0.0501692094503282184914,-1.6501195063537017482247,\ +1.012969261434880197115,-0.4600643435261628222399,-12.481321255158581706723,\ +0.4390187012381037146014,0.5228891202405995253244,1.5903431490098800527022,\ +0.0708411654197008272549,2.8815196278940593543894,-0.3318628781486120393751,\ +-1.218706228014425851924,0.6920752550579561956923,-0.9623724741584287478702,\ +-0.1367438235977035676516,0.8789505770880949864221,2.005732337058288017317,\ +-2.760719914038102906773,0.1937015573007111746140,0.0941350707005644549152,\ +0.5734318083679456057311,1.095987006643926342520,0.6740067391703287169591,\ +0.3834169282796987543449,0.6179115751021659885822} + + + + void dexpsTest(void) { - /* FIXME : Implement some test here ... */ - printf(">> Double scalar\n"); - printf("dexps(0) = %e\n", dexps(0.0)); - printf("dexps(PI) = %e\n", dexps(DPI)); - printf("dexps(PI/2) = %e\n", dexps(DPI/2)); - printf("dexps(PI/3) = %e\n", dexps(DPI/3)); - printf("dexps(PI/4) = %e\n", dexps(DPI/4)); - printf("dexps(PI/6) = %e\n", dexps(DPI/6)); - printf("dexps(-PI) = %e\n", dexps(-DPI)); - printf("dexps(-PI/2) = %e\n", dexps(-DPI/2)); - printf("dexps(-PI/3) = %e\n", dexps(-DPI/3)); - printf("dexps(-PI/4) = %e\n", dexps(-DPI/4)); - printf("dexps(-PI/6) = %e\n", dexps(-DPI/6)); + double in[]=SOURCE; + double res[]=RESULT; + double out; + int i; + + for (i=0;i<200;i++){ + out=dexps(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-15); + } +} + +void zexpsTest(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=zexps(in); + assert(( (fabs(zreals(out)-resR[i]))/(fabs(zreals(out))) )<1e-15); + assert(( (fabs(zimags(out)-resI[i]))/(fabs(zimags(out))) )<1e-15); + } +} + +void dexpaTest(void) { + double in[]=SOURCE; + double res[]=RESULT; + double out[200]; + int i; + + dexpa(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-15); + } +} + +void zexpaTest(void) { + double inR[]=ZSOURCER; + double inI[]=ZSOURCEI; + double resR[]=ZRESULTR; + double resI[]=ZRESULTI; + doubleComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=DoubleComplex(inR[i],inI[i]); + } + zexpa(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 testExp(void) { - printf("\n>>>> Double Exponential Tests\n"); + printf("\n>>>> Double Hyperbolic Cosine Tests\n"); dexpsTest(); - /* FIXME : Implement some test here ... */ - /* - zexpsTest(); - dexpaTest(); - zexpaTest(); - */ + zexpsTest(); + dexpaTest(); + zexpaTest(); return 0; } int main(void) { - assert(testExp() == 0); + assert( testExp() == 0); return 0; } diff --git a/src/elementaryFunctions/exp/testExp.h b/src/elementaryFunctions/exp/testExp.h index ba41ab0f..6f0a879f 100644 --- a/src/elementaryFunctions/exp/testExp.h +++ b/src/elementaryFunctions/exp/testExp.h @@ -15,6 +15,7 @@ #include <stdio.h> #include <assert.h> +#include <math.h> #include "exp.h" #include "constant.h" diff --git a/src/elementaryFunctions/exp/testFloatExp.c b/src/elementaryFunctions/exp/testFloatExp.c index 56b94901..7f9774a6 100644 --- a/src/elementaryFunctions/exp/testFloatExp.c +++ b/src/elementaryFunctions/exp/testFloatExp.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,31 +12,482 @@ #include "testExp.h" +#define SOURCE {0.2179693998688542744269f,-0.0965447246339290049422f,0.7336822469173450711466f,\ +0.1536179219946321450330f,2.4661907147341337598334f,0.6332832861607330388054f,\ +0.4890665386763063948727f,-1.2667347141842044688786f,0.1055086446255857485221f,\ +-0.5936826571652784600985f,-0.7816336465253074239357f,-1.2815191120322371176599f,\ +-0.9972908908531801230879f,-0.5763370349806613557320f,0.3762718127153176217448f,\ +-0.8343599392689131644119f,-1.0647534449045219506758f,0.8534997909421322415113f,\ +0.4306578956143343739349f,0.5321132560429659985601f,1.5974906319789743402993f,\ +0.7312358120089610391545f,0.4431279991113933891533f,0.0087064913021668820237f,\ +-0.8280501749431711244753f,-1.0000194068543815095751f,-0.8231062295149559338014f,\ +-1.014391306624823796412f,0.9121054970139131912177f,-0.3855306050210344781526f,\ +-0.2598191828862038144088f,-0.0831341089570867414205f,1.6949336044621277075350f,\ +0.2429392861367114797577f,1.8753502720069497033961f,0.1984146246369250243813f,\ +-0.7119008641532499348514f,0.2504295152565002013922f,1.8412596530958635909769f,\ +-0.8228059182439799723596f,0.6769888144769687920999f,-0.4970822573553836942750f,\ +0.0527831065241245664388f,0.9397902577952749192391f,-0.1148979773734264131502f,\ +0.0647134776331551031525f,0.3730550115687696344224f,1.8451193005461747898011f,\ +-0.5388550697275177325807f,0.9483924031089353556823f,0.0149553330989996690475f,\ +0.3492458987360779198994f,0.6782119558587149654727f,-1.0638111247721440122405f,\ +-0.0013200516387791912543f,0.5311672327771198576229f,-0.6446734157979014945283f,\ +0.7518088875179287366990f,-0.6321033286458267452801f,-1.7783294717850963717609f,\ +-0.9695340176537615706209f,0.0585248375044749719054f,-0.4174672618194515405499f,\ +1.067002270541741681953f,-0.1107931733964626630495f,0.9733263412399585368107f,\ +-1.5676178926909869471018f,1.5082394419009976793689f,1.4975531724590585014312f,\ +0.0773364211376570409584f,0.8296923447513622207339f,-0.9966607229071756668404f,\ +-0.5179876589725144198084f,0.4414952679928694223577f,-0.8736872755871413209761f,\ +-0.0349791375435402618344f,0.9274876201813765375093f,0.4517463561226834900530f,\ +-0.9961910310034214344199f,-0.4760507657625145383484f,0.2735565496341169633432f,\ +-0.8683706445498747816814f,-0.5819104976015757602070f,1.0334934603683001430596f,\ +1.3664069352627037368109f,0.7304950466471921144418f,-2.2795501799654798169570f,\ +-0.3686784792993444970222f,-1.2288389604009317679356f,-1.372993238103811464157f,\ +0.4327366693143714915237f,-2.5372469745505505933636f,-0.6466940204055214858059f,\ +0.3727678446055545102844f,-1.2012067538727111415398f,-0.4120248811585083825726f,\ +-0.1824358873620524901238f,-0.7071004997444696460462f,-0.0734584462405756949410f,\ +0.4857107830752938615326f,-1.5839443933479926407415f,-2.6376393427060378371607f,\ +-0.1810786671588598961691f,0.8157163062709066325695f,-0.3867087459826359374659f,\ +0.4198660262170845203222f,-0.6048459538042058047935f,0.7659922557941690746119f,\ +0.7134643264223192726803f,0.1349874125377001632398f,0.9411487010623025284417f,\ +-2.1973029826905001726800f,-1.9520696706230427075468f,-1.2525761477383645647876f,\ +0.3859074186443228193788f,2.7807429866034785170825f,-0.4523923998873963236989f,\ +1.585571863180605944876f,-0.8857651118640259557679f,1.3802479208151854361830f,\ +-0.3327040930736118173883f,-0.2328335442849216174732f,-0.7859150581069940244561f,\ +-0.7298755566585160003967f,-0.2812060079915064125800f,-0.5573134267677620767856f,\ +-0.5509002031358800621774f,1.5296906305375963519566f,-0.5702710404977533453774f,\ +-1.3692402567978680938410f,0.1826473558262797503016f,0.1798346311903204763905f,\ +0.4425890891364235302241f,-0.9017692018513575602512f,-1.4772671313778520385540f,\ +0.4118240527515873439235f,-0.3831680771908100302525f,-1.7286187555088927680913f,\ +0.9581454530897092203290f,-0.4289057042708049327651f,-1.2735233142733974887051f,\ +0.7534058867095866363073f,0.4695440194018555835065f,-1.4064759963786124252749f,\ +0.4697098567590811124539f,-0.4910731440349740406504f,0.9955428392828012951199f,\ +1.1510113490256201895789f,-0.1082632054930593029640f,0.4856574660939540488691f,\ +2.8432492089162182402617f,-0.2526776656626389394589f,-2.1526240294434693112180f,\ +-0.1700067035996372932782f,-1.2942848891673066624719f,0.3501843381023743151381f,\ +0.1214335524018897854992f,-0.0093577680302103644072f,-0.8404790744305570271422f,\ +-0.2709432496692772418534f,2.129923383430207373124f,0.1924976275921922719281f,\ +-0.9958949135265199315015f,0.5029057807067898178133f,2.1223686722196575260568f,\ +0.0454634212534271303641f,0.9495546668659169409210f,0.9477155819428292327089f,\ +2.5219360071943213164047f,0.6965268573783115479969f,1.0778432726775772909633f,\ +-2.5098595900849196560500f,0.4486528645511871360441f,-0.4241938936353907840804f,\ +-0.1335517966712884141423f,-0.1078744374453666915459f,0.2327494623534509532448f,\ +0.9351842746020352370451f,0.5235744811910800766697f,-0.0660252647673259390748f,\ +-0.5945113005344258017004f,0.8805986363667026584068f,1.4189560003612493588321f,\ +1.409077916250558226707f,0.696455894185944335284f,0.90951587071067696577f,\ +-0.3637587731642325517001f,-0.6227550415243503501017f,-0.8451138025419450139353f,\ +-0.9376931811420606832641f,-0.5548689487135263220807f,-0.5854929781645817898905f,\ +1.2660172290794624583299f,0.5877121654077364087954f,-1.2764933780334013491142f,\ +0.7392453034050661120347f,0.3032161878585472591929f,-0.4000095029594706308451f,\ +0.6502681159628262985706f,1.845716594779029051665f} + +#define RESULT {1.2435490142739233920821f,0.9079692880976051316821f,2.0827356520772775105854f,\ +1.1660452814005672905751f,11.777497445956059962668f,1.8837854434705150197260f,\ +1.6307932268341887027674f,0.2817501160466636123125f,1.1112757110437740948328f,\ +0.5522896416607726566284f,0.4576577492819154380221f,0.2776152512958051654657f,\ +0.3688774179340663095239f,0.5619530154526948262372f,1.456843068428832488337f,\ +0.4341522763440999188589f,0.3448128596551297553319f,2.347849472141609439291f,\ +1.5382692112870990364115f,1.7025263838493789325668f,4.9406190246302923441135f,\ +2.0776466024256405873416f,1.5575716893750450875444f,1.0087445030337489626504f,\ +0.43690033557496926742f,0.3678723018579735937195f,0.4390656952911728971856f,\ +0.3626230889407328072949f,2.489558777574301107194f,0.6800896814511222521205f,\ +0.7711910177313587855252f,0.9202277281636028760659f,5.4462843442294808227189f,\ +1.2749912121263455855313f,6.5231035807982653551562f,1.219467910454189230052f,\ +0.4907105362925133218432f,1.2845770436515608903250f,6.3044747124787887671005f,\ +0.4391975714691279120139f,1.9679429600133448996502f,0.6083029443616727593991f,\ +1.054200971008417697661f,2.5594445384876851612432f,0.8914570880611734082777f,\ +1.0668533032547884431551f,1.4521642234675371518904f,6.3288547811978252966014f,\ +0.5834158405874197983465f,2.5815562199289581180039f,1.0150677236735847763782f,\ +1.4179978313495280595191f,1.9703515051800046808950f,0.3451379368940441505487f,\ +0.9986808192461388289374f,1.7009165158858785549256f,0.5248339165868535216575f,\ +2.120832897097891578397f,0.5314727626805419991030f,0.1689200974890469886258f,\ +0.3792597252702665788782f,1.0602713198612101486162f,0.6587130565620143984873f,\ +2.9066530672450663352890f,0.8951238652136722651065f,2.6467337728218058856555f,\ +0.2085413590449486931355f,4.5187682330848559786318f,4.4707365550132545095607f,\ +1.0804054865026515575011f,2.2926132972391299880144f,0.3691099459169989716045f,\ +0.5957181306287809841038f,1.5550306685748274126979f,0.4174096039635283306168f,\ +0.9656255613686579586386f,2.5281495201925832105871f,1.5710534099579722688844f,\ +0.3692833545913285497875f,0.6212319441335979464114f,1.314631699051673319190f,\ +0.4196347266560193634000f,0.5588297032433613420466f,2.810868359578304609414f,\ +3.921236098173682904644f,2.076108123684798468f,0.1023302265504790059536f,\ +0.6916477537748028092679f,0.2926321380214171319345f,0.2533474941164985949626f,\ +1.5414702508327886576467f,0.0790838201409621577298f,0.5237745054427331847791f,\ +1.4517472697479263388232f,0.3008309638501235339092f,0.6623077968618373834175f,\ +0.8332380633061603480982f,0.4930717885873925898643f,0.9291747556935816554358f,\ +1.6253298553258777037200f,0.2051642515979318348585f,0.0715299280520010488660f,\ +0.8343697186187617464981f,2.2607945137747993413768f,0.6792889117422631350962f,\ +1.521757666329790259496f,0.5461585538073224777023f,2.1511277850444776582606f,\ +2.0410498879452951825897f,1.1445223776283628414063f,2.5629237613167004106174f,\ +0.1111023997465931806294f,0.141979915628105440861f,0.2857676680597394103245f,\ +1.470948482105968180278f,16.13100161483945527152f,0.6361045134063019190762f,\ +4.882082463582880116348f,0.4123985215384664559934f,3.9758872105147431419425f,\ +0.7169823228043985530f,0.7922854429887553617817f,0.4557025166581872288596f,\ +0.4819689641868314944340f,0.7548728096296193346149f,0.5727457220779371693808f,\ +0.5764306720519700721894f,4.61674832039780813631f,0.5653721791738470781041f,\ +0.2543000889430159783267f,1.2003910225327127925254f,1.1970193970806983774224f,\ +1.5567325245923557819339f,0.4058509918676029837314f,0.2282606431186239848152f,\ +1.5095688084830436448414f,0.681698311719268423836f,0.1775294522772180583203f,\ +2.606857448284196188126f,0.6512213336764225424247f,0.279843904757457517807f,\ +2.1242225714533806701922f,1.5992647932168715385615f,0.2450051627087996841681f,\ +1.5995300330564117263776f,0.6119693104596294341846f,2.706192970479794457361f,\ +3.1613885606985867582353f,0.8973913670061375302822f,1.6252431999544321161721f,\ +17.171468681707562353722f,0.7767182044255251938125f,0.1161789005908738792172f,\ +0.8436591610241814809257f,0.2740938017114021296727f,1.4193291609241254214169f,\ +1.129114336496770620855f,0.9906858796267230538035f,0.4315037514894317638436f,\ +0.7626597763715156075293f,8.4142221179071938763627f,1.2122736276966128432520f,\ +0.3693927220385589405005f,1.6535190604459728547226f,8.350894611450568660871f,\ +1.0465127237901119539032f,2.5845584134924157737601f,2.579809559192972390207f,\ +12.452681823131790395109f,2.0067707887308077197019f,2.9383355238494659467108f,\ +0.0812796509085991214505f,1.5662008789775083705820f,0.6542970055839620879823f,\ +0.8749821466412209813868f,0.8977403119208263726492f,1.2620652448583575822028f,\ +2.547682887735915890914f,1.6880507842731462542218f,0.9361072134619135010070f,\ +0.5518321800737933102710f,2.4123433907357978434050f,4.132803541818598880297f,\ +4.0921803308889375117019f,2.0066283869219931901284f,2.4831200911745119341845f,\ +0.6950588413666404230540f,0.5364644180251368910106f,0.4295084762729607374965f,\ +0.3915299831612857883734f,0.5741474990346947526731f,0.5568312884718313870991f,\ +3.546698706809571000065f,1.7998659059051445030519f,0.2790139835869558937453f,\ +2.094354315836046254162f,1.3542071959523713786666f,0.6703136760416763539894f,\ +1.916054484944200275720f,6.3326360988263932227937f} + +#define CSOURCER {0.4962097263673624913949f,0.8910778018246798826141f,0.0947801220713381104011f,\ +-0.4603936178711778848260f,-1.0252845699539288037982f,-0.98492140788616533431f,\ +0.6666841978684399094846f,-0.8284280082188715255143f,-0.8087801325930177309687f,\ +0.4980076621960153326896f,0.7628920854029445086653f,2.8126683658021311984498f,\ +1.691339266824742670892f,-0.658296432197564951316f,-0.8165943259043131341457f,\ +-0.153838313722479663737f,1.0488069232465311308999f,0.8083896014295570697783f,\ +-2.5696290069516263265825f,-0.1755006665720788838758f,-0.4111892069294727503070f,\ +0.4347439848326261624401f,0.2238731702156319669506f,0.1031628567688149950010f,\ +-0.8488244709313933489270f,-1.4082269940133023133910f,-0.5694039300480933096793f,\ +0.6847821865673663355167f,-0.2355866905280663559097f,0.126244929305970754463f,\ +-0.7524531768104696372035f,1.547744870456928323321f,1.9472508676223883039569f,\ +0.4418443111187473348878f,-1.2649638329504953038196f,-1.8396310805312170444381f,\ +-1.8200055182230749917238f,-0.2830037881038854896687f,1.0167783703917296911357f,\ +-1.3736934824588333814432f,-1.6523791477656657455952f,2.0750211192468381860010f,\ +-2.2299199681252757088146f,0.0617102387651526432255f,-0.1883752530215108134115f,\ +0.2017498149536396945258f,-0.3785108864619266544338f,1.4258759859183376406122f,\ +-0.2179348061181922979745f,0.1732283900046150681984f,0.1667406411484310679860f,\ +-0.6517590587731293405582f,0.2359187276296556834421f,0.2867271206877638478616f,\ +0.0606400241806124770672f,-0.0258227029380159664451f,0.0208448589487377940188f,\ +-0.1006137675958410082622f,0.6887664099542869511339f,0.1558887949250353788244f,\ +0.8324928725743804269754f,-0.3151516259195137337201f,-0.3438938576674008262835f,\ +0.0533533125037666533519f,1.410105419112359426137f,-0.72771444778030081046f,\ +-0.0273112350183467821052f,-0.1234715201495915903873f,1.6876811670344133986532f,\ +1.7843408966113634139816f,0.4553194681918236175200f,-2.482440448619641859551f,\ +-0.5647234157267987386675f,0.4002741476630126693514f,2.0575413657607160011764f,\ +0.9910894257133318063779f,-0.8534666223545112062610f,1.0313921190741603961527f,\ +-0.5817813998765138938651f,0.6420267245927361310365f,-0.9597162563373448085358f,\ +0.1578963713606084673380f,-0.3170234887209238405781f,1.1563426252866808585651f,\ +-1.9325017123145520336891f,0.6854693920869295853393f,-0.5604369008834102494632f,\ +-2.2658178544445064517276f,-0.3315993869783789849137f,-0.3992162906900829644208f,\ +-1.538475385459755262474f,0.7929279218821023711428f,0.4799096678735629839530f,\ +0.3842559929950347674676f,-0.2870732232583454446306f,-0.5902902430980193626553f,\ +-0.7496420812260378152558f,-0.5047035567506975572982f,0.2586980379965187482050f,\ +1.5714132313006403673938f,-1.0578766388700049372318f,0.7485548459128271714391f,\ +-1.3801279040397811392893f,0.4597603556312274686313f,1.6137862227144141868962f,\ +-1.2277987398411676078780f,0.2068847811693011184975f,-0.2479337336106740286024f,\ +-0.3541997324021416981843f,0.1707344260894599619061f,-1.1381496515511626554940f,\ +-0.8140025532586576684224f,0.0735093571009233642810f,0.3035280587071761959628f,\ +-0.2782846453257922791913f,1.6871692459980407452491f,-1.323166422518824214549f,\ +-0.0753800807237546693917f,-0.4003058770927516718530f,0.4033101968714281615469f,\ +0.1113491527432870636938f,-0.8349617120636146916368f,-0.6907116891918870793532f,\ +-0.0170584241359153961082f,0.8194033291997417922659f,0.1556399708519044799981f,\ +0.1516310573630105518195f,0.7495489249293494360415f,0.1716685606331417590642f,\ +0.4519531238973814590842f,0.9288803038597209793537f,-2.3544674327002401703623f,\ +-0.4112942143200571387673f,-1.3097240599804396143924f,-0.6114852145918039383332f,\ +-0.8710601639646612381895f,0.3633484479767548624984f,-0.3041452834723618048329f,\ +-1.3937055405477738467823f,-0.5975281694506322516247f,-0.6997444046104884796122f,\ +-0.3196851144737095085091f,1.09857442199734944843f,-1.77236020622582612916f,\ +-0.0885003512087364219152f,1.3820373060805490883496f,-0.3478356988431264840145f,\ +-1.5917082966936921817336f,-1.2805101534361520432270f,0.2630673092127150392017f,\ +0.3354398592128065015316f,0.3056832398609472534190f,-0.3465598133034439864986f,\ +-0.0149898968435104897046f,-0.8499089854435717406034f,1.1188306614388350279654f,\ +-0.6366826455916885230124f,0.7478712286232889194793f,-1.1407898077101095157815f,\ +1.7416298413146675816421f,-0.6492757257758221545174f,0.9050061520410521698210f,\ +-0.7214302149042788325772f,0.1880549880800692907901f,-0.6074290437972867939820f,\ +-0.3926402375420063872724f,-2.1738375226761288416810f,-0.3077758151743882342188f,\ +-1.4339354091797107404460f,0.5131602976051053977002f,0.0609103217068958785463f,\ +-0.0915059705228822850565f,0.2851713506321221225370f,0.3850345796175008161732f,\ +0.5344891195679912776484f,-0.3352957511414503266600f,0.5011675332336322785665f,\ +0.9817842562968046582483f,0.3201410638941641906285f,2.908782756663177426759f,\ +-0.8167435983319983883177f,-0.6395703111646185989869f,0.4768832439562080693918f,\ +-2.3940570181394389415175f,1.181268742272832517060f,0.7860988797801938821053f,\ +0.2080213710796271764369f,-0.0657191135894376471382f,2.2596861347367309669210f,\ +0.7576187360739459197845f,0.0816850726713814895286f,0.713209526903904489359f,\ +1.0221713946590338384368f,-1.3357158672812421418286f,-1.3632163488573514342761f,\ +-0.1933486222136764076662f,0.1054205318382937656141f,0.8628332102807707570946f,\ +0.6890069943729065782279f,-0.1425645528482178403529f} + +#define CSOURCEI {0.4187679309893236334617f,0.9571040727588696617190f,1.172760842677368797737f,\ +0.8367787345559263290085f,0.0537934646406551114639f,-0.3937773223205939254754f,\ +1.7876375988580777143255f,-0.5864530819794440130721f,-0.9799596671663597380331f,\ +-1.435491321041636902933f,-0.7958478780018579668010f,0.5425829186077295585022f,\ +-0.6690160051984340716658f,0.4469912205186009623858f,-0.2043520888417388603475f,\ +-0.4718547031305261874046f,1.2345904036110504353729f,0.2305518055397126619965f,\ +1.0780366202665678798667f,0.4904320988250001067676f,-0.2652022209879114633679f,\ +-0.9976659763947106629445f,-1.349099117857334384496f,-0.4904839979026296425957f,\ +0.5445911400019642911730f,1.5676016792969027502380f,0.9705535858979048580153f,\ +1.562322752104617240576f,0.9312705713450669664510f,-1.491064034017491879425f,\ +0.5387480326121706353248f,0.2780267771815282396020f,-0.6792511192992195523388f,\ +-1.7001946270260519522566f,1.1064967394734230854425f,0.6449691334115315033415f,\ +1.010191395265231717460f,0.7617257042808376343856f,0.7130320908537892687917f,\ +1.3873980946032253847022f,1.0464400502880701893105f,0.7743318486747019502303f,\ +-1.0385544825558827852774f,0.2570923151837984921286f,-0.8100639413180467096609f,\ +0.9637587964856539901604f,1.5615765140914361630564f,0.5804915960065005764434f,\ +-0.2022297555607953933876f,0.6091855774356720321094f,-0.5513582447276994535912f,\ +-0.4240953703415643594177f,-0.8690915476323599619946f,-1.0352497689734347918744f,\ +0.3275700398280019243202f,-0.7970043301223290743707f,0.2341992112983941609627f,\ +-0.2288430429610794625273f,1.213479264737873375424f,0.9031823906644896871043f,\ +1.4754958638303785622981f,1.6520423035243945175665f,0.8178319166692843422695f,\ +-0.4286042039456253727181f,0.4413804125451418203241f,-0.8566414495458910538517f,\ +-1.3669367412247732662678f,2.0376720143917643746079f,-1.8253356531263227324757f,\ +1.5266365006585700392350f,0.1161871811298216261576f,-0.6659495480394291844206f,\ +-0.5450277852280467349999f,1.2558648076421243811041f,-0.7854748651398538727975f,\ +-2.1498185127975446562232f,-1.4516576281976432127863f,0.4432114256783392658434f,\ +-0.0042605582120147401926f,-0.0805101613497762047533f,-1.1324416682104487819061f,\ +0.1150256099470636506066f,1.3050405907321147580546f,-1.0622634828383090699333f,\ +-1.35922814179336781670f,-1.703726701643710983447f,-0.282327674589286536921f,\ +1.4699227361546476355869f,1.2714945342939698580409f,0.8438338325656443705824f,\ +1.6086130230417976516577f,-0.8654237444216958952126f,-2.1306341506077157710308f,\ +0.4262366479533865049056f,1.2202306126621282889033f,-0.4781944951046422920271f,\ +2.2327961471769124379705f,0.6988675202840052280706f,-1.1016041402782228431079f,\ +-0.0366155088206388534822f,0.9663901570211483882389f,-0.3288372819689815984567f,\ +1.8550047995758884855633f,-0.9247532047817873523954f,-1.1547662665953339899971f,\ +1.4270134659704167834349f,-0.2267973730507581442417f,1.4593991828148868972193f,\ +-0.8205572609516469384516f,-0.3297213070039397009303f,-0.5787995844520394950194f,\ +1.8452573890170231862840f,-0.5998455574460443973095f,0.5461062118050383773493f,\ +0.3989213456307151295377f,0.6223400150931739371885f,-0.661605777551548035476f,\ +-0.806522789665139905324f,-0.2812497112451433634028f,-0.4100128914055168882768f,\ +-1.50945722493549672194f,0.4603669785905236677692f,-0.4126050173509914209546f,\ +1.6611257451475334168123f,-0.8697907951355576816610f,0.6696537851786207307114f,\ +-0.5134482200325719558620f,0.1007092240430608326429f,1.2778361566544564897896f,\ +1.2322028231309287704676f,0.2307590408528507608388f,1.5263506644977615778203f,\ +-0.8569947230359247214437f,1.1048772379802629384216f,-0.2109985124170330184068f,\ +-0.0551453334787995949617f,0.1230778288705814127457f,-1.423405390861443020611f,\ +-0.394586285353004440069f,-0.2879823286948200999902f,0.1062021177580684955233f,\ +-0.6907035832345697068391f,0.3653158847737960068791f,0.9338855454474609407711f,\ +-0.4120224826154939568035f,-0.1450379965292624417916f,-0.9040960399672915981384f,\ +-0.3390386771829260181832f,1.625054083669380089461f,0.4716305826679590418316f,\ +0.6165901874856758446697f,0.4270688825812783973035f,-0.8343519087812022450024f,\ +-0.5142102680242138790234f,-0.3269678763130224319333f,-0.4453255190855087697344f,\ +-1.2280852212014194968503f,0.0988020658802584578195f,0.7533305302295955074854f,\ +0.1183515262592216288340f,0.4361801271894044096378f,-1.203233821600386388440f,\ +0.6270203182178656353685f,-0.2147899120281239748742f,-1.6199408065241285293f,\ +-0.3813310069938283253244f,-0.952339709740829487572f,-1.3753328967678597472002f,\ +0.1397812751994848834425f,1.043902134788026403456f,1.1627380196617531638026f,\ +-1.0121704799221244996943f,1.0517816399459063436694f,0.0479426304050067017548f,\ +-1.9256009187313227748461f,0.0702119825151238802219f,-1.5960860779727858993482f,\ +0.3892567541356096727512f,-0.3405739777798729162051f,-2.3927967690864724303879f,\ +1.4571677327957668346414f,1.7033833498531005812282f,1.4103109856750082329313f,\ +0.8887233594164675176685f,1.085007779468186495109f,-0.1517851031708108977547f,\ +-1.4279908879739833249545f,0.8317119599758505676945f,-0.100625285489182120235f,\ +-0.0641469431098572184791f,0.9441650291895723468016f,1.7557389523285045207501f,\ +-1.4553402741895795635685f,0.8280178925672729839391f,0.3768033744738639723160f,\ +0.769460862052703697955f,1.7363387952951863102413f,0.2883880023549790228010f,\ +0.1937130526956079012990f,0.7931867418127547253448f} + +#define CRESULTR {1.5005579968888511643854f,1.4038788522636540534450f,0.4261430281005708642361f,\ +0.4227040163485943913280f,0.3581755188101993225835f,0.3448856718113299524298f,\ +-0.4190544272790215352131f,0.3637606739341552875011f,0.2481133547640819725366f,\ +0.221957537083997319405f,1.5004406253943489701896f,14.262372555443052490887f,\ +4.2569132214783609313713f,0.4668662514373775884735f,0.4327387090783468837074f,\ +0.7637186245018753316671f,0.9416373255706453893055f,2.1849079400266222528160f,\ +0.0362192687509753849517f,0.7401390786280732658753f,0.6396875438787329448687f,\ +0.8375646978007738052696f,0.2750576263630330475785f,0.9779650400990845815485f,\ +0.3660147454727735727431f,0.0007813344853740371429f,0.3196234331185683896770f,\ +0.0168057767355581332003f,0.4715477957119850183076f,0.0903652551480593341227f,\ +0.4044631913155857239062f,4.5203389894684722349893f,5.4536105990647092411905f,\ +-0.2007273149144214174910f,0.1263903817022170861240f,0.1269607449461356840636f,\ +0.0861483947375209779818f,0.5452795580354135029921f,2.0908477302753070148356f,\ +0.0461711120003356623176f,0.0959224290498517928594f,5.6938820505915233027849f,\ +0.0545714270555244795879f,1.0286954018234739649529f,0.5710758281447196882397f,\ +0.6979532622664902374865f,0.0063143806135506170760f,3.4798191533417077714319f,\ +0.7877896535828416979541f,0.9752288031986856564615f,1.0063735441532775105600f,\ +0.4749622284565679919410f,0.8172752232835529540012f,0.6797654131732457916115f,\ +1.0060191413953609718135f,0.6810372893714221609329f,0.9931890911476703998062f,\ +0.8807071418681532426476f,0.6964662788868779541573f,0.7235561661943166189559f,\ +0.2187683453764143193254f,-0.0592182210929489902251f,0.4848204523909904195555f,\ +0.9593919417277750882889f,3.7038010572869821679376f,0.3163625232453476932015f,\ +0.1969961410854516870028f,-0.3978181614570159285726f,-1.361462433143773242961f,\ +0.2629151417766518727959f,1.5660468223975476664833f,0.0656893454691978989635f,\ +0.4861465273206775350445f,0.4622214272783724542393f,5.5338903531227128240744f,\ +-1.474264258662732141048f,0.0506254763419271280878f,2.5339495141019958701634f,\ +0.5588967788586440832432f,1.8941728912398605455536f,0.1625651067402884841773f,\ +1.1633063892460699940f,0.191283239298288054719f,1.547496475194143350507f,\ +0.0304040029736053936393f,-0.2630510364909662279764f,0.5483550218772245132826f,\ +0.0104474069781232917903f,0.2116381376777875800155f,0.4458460510519014485808f,\ +-0.0081176195921236100894f,1.4326892345597483924280f,-0.8581368290819433308769f,\ +1.3371299915531948965253f,0.2577287469128092811665f,0.4920040313161565537214f,\ +-0.2904655234170689381834f,0.462163508824150970344f,0.5856645720520745612703f,\ +4.81021957957627943614f,0.1973001680885165531887f,2.0006745533290084537725f,\ +-0.0705330419570823624609f,0.9534341938168940933096f,2.0294673010324730810794f,\ +0.0419743009154483204259f,1.198346516707147646486f,0.0867559391436964755240f,\ +0.4784523700257174994022f,1.1222795076752876131110f,0.2682227152927741387067f,\ +-0.1200874658138830208820f,0.8883849124062789259781f,1.1576031776174615650632f,\ +0.6976356512079191496412f,4.3909706615004120422441f,0.2101052025810229428870f,\ +0.6417663596495127853458f,0.6437857682896207522916f,1.3727122635941697570416f,\ +0.0685209480693795836004f,0.3887184828749501441791f,0.4591565751761637059758f,\ +-0.0886808967743262233085f,1.4635680657432861284661f,0.9160726657458563293446f,\ +1.0136746786541579457008f,2.1053235388732902677589f,0.3428728910762353088160f,\ +0.5219502401364545240980f,2.4645660104152655733856f,0.0042184623117796499203f,\ +0.4339378404381282194890f,0.1212485246955130047120f,0.5305120745426482598006f,\ +0.4178714460322863755160f,1.42725807301201368382f,0.1083449257198766668697f,\ +0.2290848259097614525448f,0.5275132726780440428627f,0.4939136954488312358791f,\ +0.5598904753492991437369f,2.8019267774958218630843f,0.1010607343958155046604f,\ +0.838703631682240602f,3.9411880425167020725041f,0.4367206268973685134860f,\ +0.1919888550719570374792f,-0.0150705892655913463452f,1.1588916915452081024540f,\ +1.1410183495054209146247f,1.2356219575708369262657f,0.4749404480211336654349f,\ +0.8577273295080861670314f,0.4048075578221899673004f,2.7627080603314042583918f,\ +0.1777810656017677348739f,2.1021956426305754561668f,0.2330964886175431460824f,\ +5.66671671967639412060f,0.4735105506685184928450f,0.8882739731815125772130f,\ +0.3935986079583607688548f,1.1791667609118299253623f,-0.0267606605538480354922f,\ +0.6267669571981022702545f,0.0659441611256419563114f,0.1427681092204574897497f,\ +0.2360440610261224370081f,0.8400442654362825223302f,0.4217500256271256020568f,\ +0.4836741737176751265714f,0.659708006511050548681f,1.4679764549267637629981f,\ +-0.5928767353529774686294f,0.7133645918582519618312f,-0.0417400106828591799246f,\ +2.46953429512858368966f,1.2982129272812710230056f,-13.430164449559464756589f,\ +0.0501008887550637785346f,-0.0697374371031275891442f,0.2574407425697148865673f,\ +0.0575298048786480678563f,1.5214153238495213837922f,2.1695830700438989424583f,\ +0.1752306830704533635590f,0.6307656294349494041640f,9.5316214402790411241995f,\ +2.1288031244453153867369f,0.6363319322612546180551f,-0.3752333236632875990146f,\ +0.3201657030914684676226f,0.1778562682310512732542f,0.2378885254191149545289f,\ +0.5920073359495072740089f,-0.1831081087669608753465f,2.2719985676152019138385f,\ +1.9544837479586136819165f,0.6083604660209539494176f} + +#define CRESULTI {0.66789173388469347259f,1.9929317082415038964172f,1.0134693185160317252524f,\ +0.4685368189063157107199f,0.0192861086704356442245f,-0.1432921900711904839021f,\ +1.9021551721948490865088f,-0.2416937871379007396477f,-0.3698944066530311935992f,\ +-1.630400797414071512037f,-1.53213128993891678498f,8.5994415909131678432686f,\ +-3.3657446415150640284253f,0.2237921440211748103088f,-0.0896829281433757230513f,\ +-0.3897266612271670926937f,2.6944436446476398572258f,0.5128535974480390446928f,\ +0.0674551867661900700357f,0.3951923071518532726287f,-0.1737389326052603821804f,\ +-1.2977574398167355251843f,-1.220297105474789312041f,-0.5222431149169146635813f,\ +0.2216906290760837783260f,0.2445752865761168237668f,0.4669490113374816231406f,\ +1.983268587510182312528f,0.6339653057626817300729f,-1.1309555970451541373478f,\ +0.2417594109687444814405f,1.2901913158229225686568f,-4.40337349863430294050f,\ +-1.5425684980543696855904f,0.2523692809573465090089f,0.0955121010048793767089f,\ +0.1372242993017437351355f,0.5200557398879992465623f,1.8081956965026793060503f,\ +0.2489243937541025242233f,0.1658522561714183829462f,5.5692357559437404290748f,\ +-0.0926616074754614826858f,0.2704548071084568183764f,-0.5999663537818090697229f,\ +1.0049457307841926922976f,0.6848514061793418150614f,2.2823134654584236180597f,\ +-0.1615224571979621548401f,0.6804242491001384340876f,-0.6188951521875099004433f,\ +-0.2144424405243884335093f,-0.9669529580119747835809f,-1.1455586484969144667190f,\ +0.3418574459217512129250f,-0.6970321107785095726683f,0.2369522455719338394076f,\ +-0.2051372202341115724700f,1.8654869710971573315561f,0.9177784888023613474317f,\ +2.2886105642667078363672f,0.7272712824943110554443f,0.5173355346085974915127f,\ +-0.4383775740596613790245f,1.7499274197824987719940f,-0.3649863488832993385635f,\ +-0.9529087376623858185454f,0.7892565481221736067852f,-5.2327138940157267299469f,\ +5.9498471753939741191175f,0.1827777741034706804335f,-0.0516109653428112533091f,\ +-0.2947431961312417803001f,1.4188420873857061632606f,-5.534739336307598733811f,\ +-2.255013513539458447354f,-0.4229165121855131270756f,1.2028903349471207206989f,\ +-0.0023812266691438442427f,-0.1528305178806574626815f,-0.3467892290786088183019f,\ +0.1344033089941876202289f,0.7027456808048029301972f,-2.7761066302583010667604f,\ +-0.1415572225289876973076f,-1.9671936933888867216069f,-0.1590647203810587884121f,\ +0.1032177704018006486608f,0.6858644064375456483873f,0.5012535303694961585919f,\ +0.2145546901849673948615f,-1.6825191334017586264338f,-1.3692428047734856999540f,\ +0.6071558835309880386433f,0.7048129294793062937785f,-0.2550146122571063656004f,\ +0.3727193608915256306524f,0.388381095349859650767f,-1.1552707405821953656755f,\ +-0.1762073913025017923850f,0.2856835610783352019659f,-0.6826826797070948416035f,\ +0.2414553165222597663764f,-1.2645359787455874300832f,-4.5934329346040874142432f,\ +0.2899138963758796094794f,-0.2765396421605960108892f,0.7755744714874250878012f,\ +-0.5133371708548779555059f,-0.3840592062347947810430f,-0.1752712350242682792789f,\ +0.4264971552447213154480f,-0.6075754177972138014852f,0.7035454748522144141631f,\ +0.2940690048846716919684f,3.1502912129208726632612f,-0.1636049555981854697340f,\ +-0.66946985566275640789f,-0.1859947683471395718513f,-0.5966446238894932418972f,\ +-1.1156829506070020663344f,0.1927677941084386115111f,-0.2009874518146967659060f,\ +0.9790782744873792742268f,-1.7340674208694739633074f,0.7252463079270474732851f,\ +-0.5716056662861231929540f,0.2127452321317529204681f,1.1366978856910239237266f,\ +1.4821597980401888250412f,0.5790353877850622499324f,0.0948502955617512716335f,\ +-0.5009900731541635510169f,0.2411262068342296116530f,-0.1136285464587050847429f,\ +-0.0230670473414846290139f,0.1765562266540864622133f,-0.7297546590556842627251f,\ +-0.0953969444497970303631f,-0.1562582727501122537017f,0.0526527844386815990774f,\ +-0.4627604755682861448207f,1.0716924742142539539458f,0.1366141387590569244992f,\ +-0.3665452417574971422098f,-0.5756642515297435425126f,-0.5549906098825418965248f,\ +-0.0677059511108183409434f,0.2774865464288255867409f,0.5910566892682205253351f,\ +0.8087239218207783464365f,0.5623045509398011398972f,-0.5238753172271245484026f,\ +-0.4845296390188432167356f,-0.1372866414817625335676f,-1.3186482320231969200819f,\ +-0.4982790611331439079024f,0.2083797712931309276119f,0.2186064764396851156647f,\ +0.6738135687471651369407f,0.2207138713569412324933f,-2.3068359206298949537484f,\ +0.2851861631055106482968f,-0.2572412622481385358064f,-0.5440918958783450554151f,\ +-0.2513065277256731899769f,-0.0926726651078676189055f,-0.7210825269104839119194f,\ +0.0332111240217310629830f,1.4439889712068714189286f,0.9755400591442719981927f,\ +-0.7738329957764321642699f,1.1548413262354173536295f,0.0704326239228644929158f,\ +-1.6002810307194081929083f,0.0501692094503282184914f,-1.6501195063537017482247f,\ +1.012969261434880197115f,-0.4600643435261628222399f,-12.481321255158581706723f,\ +0.4390187012381037146014f,0.5228891202405995253244f,1.5903431490098800527022f,\ +0.0708411654197008272549f,2.8815196278940593543894f,-0.3318628781486120393751f,\ +-1.218706228014425851924f,0.6920752550579561956923f,-0.9623724741584287478702f,\ +-0.1367438235977035676516f,0.8789505770880949864221f,2.005732337058288017317f,\ +-2.760719914038102906773f,0.1937015573007111746140f,0.0941350707005644549152f,\ +0.5734318083679456057311f,1.095987006643926342520f,0.6740067391703287169591f,\ +0.3834169282796987543449f,0.6179115751021659885822f} + + + + void sexpsTest(void) { - /* FIXME : add some tests there */ - printf(">> Float scalar\n"); - printf("sexps(0) = %f\n", sexps(0.0f)); - printf("sexps(PI) = %f\n", sexps(FPI)); - printf("sexps(PI/2) = %f\n", sexps(FPI/2)); - printf("sexps(PI/3) = %f\n", sexps(FPI/3)); - printf("sexps(PI/4) = %f\n", sexps(FPI/4)); - printf("sexps(PI/6) = %f\n", sexps(FPI/6)); - printf("sexps(-PI) = %f\n", sexps(-FPI)); - printf("sexps(-PI/2) = %f\n", sexps(-FPI/2)); - printf("sexps(-PI/3) = %f\n", sexps(-FPI/3)); - printf("sexps(-PI/4) = %f\n", sexps(-FPI/4)); - printf("sexps(-PI/6) = %f\n", sexps(-FPI/6)); + float in[]=SOURCE; + float res[]=RESULT; + float out; + int i; + + for (i=0;i<200;i++){ + out=sexps(in[i]); + assert(( (fabs(out-res[i]))/(fabs(out)) )<1e-6); + } } +void cexpsTest(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=cexps(in); + assert(( (fabs(creals(out)-resR[i]))/(fabs(creals(out))) )<1e-5); + assert(( (fabs(cimags(out)-resI[i]))/(fabs(cimags(out))) )<1e-6); + } +} + +void sexpaTest(void) { + float in[]=SOURCE; + float res[]=RESULT; + float out[200]; + int i,j; + j=1; + sexpa(in,200,out); + for (i=0;i<200;i++){ + assert(( (fabs(out[i]-res[i]))/(fabs(out[i])) )<1e-6); + } +} + +void cexpaTest(void) { + float inR[]=CSOURCER; + float inI[]=CSOURCEI; + float resR[]=CRESULTR; + float resI[]=CRESULTI; + floatComplex in[200],out[200]; + int i; + + for (i=0;i<200;i++){ + in[i]=FloatComplex(inR[i],inI[i]); + } + cexpa(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 testExp(void) { - printf("\n>>>> Exponential Tests\n"); + printf("\n>>>> Hyperbolic Cosine Tests\n"); sexpsTest(); - /* FIXME : Implement some test here ... */ - /* - cexpsTest(); - sexpaTest(); - cexpaTest(); - */ + cexpsTest(); + sexpaTest(); + cexpaTest(); return 0; } |