/* * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab * 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 * you should have received as part of this distribution. The terms * are also available at * http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt * */ #include "testAcos.h" #include #include #include #define InRF {0.4424391170032322406769f,0.6678683990612626075745f,0.3319660718552768230438f, \ 0.9546736516058444976807f,0.0156700448133051395416f,0.8749210601672530174255f, \ 0.4522444806061685085297f,0.5117330569773912429810f,0.0253186416812241077423f, \ 0.0014351801946759223938f,0.9977079438976943492889f,0.2380047738552093505859f, \ 0.9923671730794012546539f,0.8377430764958262443542f,0.3201149418018758296967f, \ 0.8609968703240156173706f,0.2300571207888424396515f,0.0514277378097176551819f, \ 0.7738713542930781841278f,0.7888738475739955902100f,0.3247241438366472721100f, \ 0.4342710664495825767517f,0.2505763596855103969574f,0.1493970695883035659790f, \ 0.1849924144335091114044f,0.4753739954903721809387f,0.1413027080707252025604f, \ 0.8269120678305625915527f,0.7530783289112150669098f,0.4791984809562563896179f, \ 0.5703613697551190853119f,0.4661327209323644638062f,0.9719535936601459980011f, \ 0.9472813690081238746643f,0.2443005586974322795868f,0.9114723093807697296143f, \ 0.1021176860667765140533f,0.442370138131082057953f,0.7598891309462487697601f, \ 0.0506714452058076858521f,0.9817296904511749744415f,0.6537305163219571113586f, \ 0.7148343580774962902069f,0.5314728766679763793945f,0.3238495090045034885406f, \ 0.8823759732767939567566f,0.4649840756319463253021f,0.3200931679457426071167f, \ 0.6445384477265179157257f,0.6649690875783562660217f,0.87176320655271410942f, \ 0.5702412538230419158936f,0.9155691773630678653717f,0.7551447888836264610291f, \ 0.8835946596227586269379f,0.7714338693767786026001f,0.535495069343596696854f, \ 0.1810054751113057136536f,0.2950546029023826122284f,0.6453578546643257141113f, \ 0.7128289067186415195465f,0.5975380046293139457703f,0.5275121121667325496674f, \ 0.7590293344110250473022f,0.8550809700973331928253f,0.6527025634422898292542f, \ 0.7750031943432986736298f,0.3234997726976871490479f,0.0574064985848963260651f, \ 0.5859434073790907859802f,0.3590891859494149684906f,0.146858902648091316223f, \ 0.2846125257201492786407f,0.7778714792802929878235f,0.6364495265297591686249f, \ 0.2102845311164855957031f,0.3402740904130041599274f,0.46986890118569135666f, \ 0.3029589070938527584076f,0.8358892183750867843628f,0.2167098228819668292999f, \ 0.372365341521799564362f,0.4379987935535609722137f,0.9151138328015804290771f, \ 0.9195669055916368961334f,0.3805362572893500328064f,0.1327533251605927944183f, \ 0.1664179805666208267212f,0.3607654091902077198029f,0.1161730112507939338684f, \ 0.0462395879440009593964f,0.8910173103213310241699f,0.4135520034469664096832f, \ 0.5144748641178011894226f,0.7328222631476819515228f,0.1954176928848028182983f, \ 0.7234130431897938251495f,0.1745128417387604713440f,0.0849626506678760051727f, \ 0.1494962759315967559814f,0.3685970292426645755768f,0.6921154772862792015076f, \ 0.734952067490667104721f,0.8488794136792421340942f,0.9639964443631470203400f, \ 0.6939264284446835517883f,0.7593796211294829845428f,0.8503674715757369995117f, \ 0.3021389641799032688141f,0.7913839695975184440613f,0.5300843580625951290131f, \ 0.9491565059870481491089f,0.1250380431301891803741f,0.1733723590150475502014f, \ 0.0553417871706187725067f,0.7666068188846111297607f,0.1206528753973543643951f, \ 0.0562950810417532920837f,0.6550347781740128993988f,0.1173083875328302383423f, \ 0.7377077308483421802521f,0.7103199632838368415833f,0.3135588350705802440643f, \ 0.6241931691765785217285f,0.9126206659711897373199f,0.2805461687967181205750f, \ 0.5542117445729672908783f,0.5504442807286977767944f,0.3022916098125278949738f, \ 0.1218430632725358009338f,0.1788175995461642742157f,0.3169520534574985504150f, \ 0.1164998249150812625885f,0.8661109572276473045349f,0.7163351974450051784515f, \ 0.6740669626742601394653f,0.1436607432551681995392f,0.9407137231901288032532f, \ 0.9242008137516677379608f,0.9963994324207305908203f,0.0636921771802008152008f, \ 0.7568332878872752189636f,0.1861553504131734371185f,0.6694165151566267014f, \ 0.6417399053461849689484f,0.2864959994331002235413f,0.1503058592788875102997f, \ 0.036585446447134017944f,0.8965126336552202701569f,0.2470208695158362388611f, \ 0.4511714405380189418793f,0.8758140746504068374634f,0.8369763311930000782013f, \ 0.6116396905854344367981f,0.8594635161571204662323f,0.8739381656050682067871f, \ 0.8611579411663115024567f,0.6650390280410647392273f,0.7033504783175885677338f, \ 0.0680055823177099227905f,0.4108084668405354022980f,0.3225740874186158180237f, \ 0.9049567128531634807587f,0.7221073396503925323486f,0.9756754324771463871002f, \ 0.931904456578195095062f,0.4758459976874291896820f,0.6085055340081453323364f, \ 0.0411347192712128162384f,0.27580172289162874222f,0.8152392762713134288788f, \ 0.1618081480264663696289f,0.0729317762888967990875f,0.9948789654299616813660f, \ 0.6547168060205876827240f,0.4749407302588224411011f,0.1327822064049541950226f, \ 0.1489921221509575843811f,0.9931546817533671855927f,0.605664949864149093628f, \ 0.2185817272402346134186f,0.1360632320865988731384f,0.8656457341276109218597f, \ 0.1623940262943506240845f,0.9229755070991814136505f,0.6870755525305867195129f, \ 0.2901548030786216259003f,0.6380550339818000793457f,0.5040368759073317050934f, \ 0.1559905512258410453796f,0.2356583862565457820892f,0.4607480820268392562866f, \ 0.9618054111488163471222f,0.8233367735520005226135f,0.9555186624638736248016f, \ 0.2299523688852787017822f,0.2144343988038599491119f,0.4322205847129225730896f, \ 0.5298418900929391384125f,0.1070291120558977127075f} #define InIF {0.9676976692862808704376f,0.6755087869241833686829f,0.9605711805634200572968f, \ 0.8287713527679443359375f,0.3716058083809912204742f,0.8529331116005778312683f, \ 0.6630636467598378658295f,0.3127506356686353683472f,0.0578817431814968585968f, \ .4168665865436196327209f,0.6979019264690577983856f,0.3232105635106563568115f, \ 0.6520457030273973941803f,0.6255217781290411949158f,0.5866900808177888393402f, \ 0.1662572268396615982056f,0.3538595554418861865997f,0.0223209084942936897278f, \ 0.0555838677100837230682f,0.8830965086817741394043f,0.6798805170692503452301f, \ 0.9601878477260470390320f,0.5503053902648389339447f,0.9100682642310857772827f, \ 0.9618742396123707294464f,0.8895119810476899147034f,0.8663921202532947063446f, \ 0.6742273755371570587158f,0.6948372707702219486237f,0.6285339510068297386169f, \ 0.7384302965365350246429f,0.0932216811925172805786f,0.3283788901753723621368f, \ 0.3349032746627926826477f,0.7320226985029876232147f,0.4482167810201644897461f, \ 0.5952123203314840793610f,0.3971578357741236686707f,0.2822407945059239864349f, \ 0.5986177157610654830933f,0.9705053125508129596710f,0.9648752519860863685608f, \ 0.2223112653009593486786f,0.0073375217616558074951f,0.3558401078917086124420f, \ 0.3362461170181632041931f,0.6462869024835526943207f,0.5453626606613397598267f, \ 0.5815327730961143970490f,0.9218191178515553474426f,0.4494518819265067577362f, \ 0.5443653240799903869629f,0.8210619115270674228668f,0.0031680269166827201843f, \ 0.3902114122174680233002f,0.0661126133054494857788f,0.5113567491061985492706f, \ 0.0052305692806839942932f,0.0172157580964267253876f,0.8574225939810276031494f, \ 0.872694595251232385635f,0.5010691648349165916443f,0.3054686388932168483734f, \ 0.9594172257930040359497f,0.6219576788134872913361f,0.6678035454824566841125f, \ 0.3451700019650161266327f,0.439822167158126831055f,0.9729993590153753757477f, \ 0.4124652473255991935730f,0.9270431711338460445404f,0.2170634549111127853394f, \ 0.5178697113879024982452f,0.8865239778533577919006f,0.3678963701240718364716f, \ 0.4449110589921474456787f,0.0826504887081682682037f,0.6078358581289649009705f, \ 0.4201686209999024868011f,0.4264193121343851089478f,0.1516494569368660449982f, \ 0.9087635399773716926575f,0.6092100176028907299042f,0.5259142145514488220215f, \ 0.9537041061557829380035f,0.9292181981727480888367f,0.8420463739894330501556f, \ 0.0477776136249303817749f,0.8043447365052998065948f,0.8733733976259827613831f, \ 0.6313782478682696819305f,0.5507782585918903350830f,0.7975669191218912601471f, \ 0.7488008355721831321716f,0.7785643390379846096039f,0.5666997302323579788208f, \ 0.4409633320756256580353f,0.3067779587581753730774f,0.8593392628245055675507f, \ 0.1920152455568313598633f,0.3279649713076651096344f,0.4025174556300044059753f, \ 0.3560156985186040401459f,0.5213593374937772750854f,0.4409417365677654743195f, \ 0.4940686235204339027405f,0.7799209128133952617645f,0.3915464095771312713623f, \ 0.1789123923517763614655f,0.4986406108364462852478f,0.6278176582418382167816f, \ 0.4048861656337976455688f,0.7036139038391411304474f,0.7250975342467427253723f, \ 0.5160594466142356395721f,0.7005459144711494445801f,0.6976801478303968906403f, \ 0.1013754708692431449890f,0.3362301974557340145111f,0.4427097495645284652710f, \ 0.1286799986846745014191f,0.4155713254585862159729f,0.7760182614438235759735f, \ 0.4942846037447452545166f,0.1127647892571985721588f,0.7894535725936293601990f, \ 0.0490748188458383083344f,0.2449031788855791091919f,0.4716751468367874622345f, \ 0.1031448738649487495422f,0.1776066529564559459686f,0.0619737505912780761719f, \ 0.0768572040833532810211f,0.5897265700623393058777f,0.6714532985351979732513f, \ 0.3335268478840589523315f,0.5744381849654018878937f,0.3185150483623147010803f, \ 0.9473985652439296245575f,0.57160880789160728455f,0.5848113656975328922272f, \ 0.7857599845156073570251f,0.3324664360843598842621f,0.5449722055345773696899f, \ 0.9705804106779396533966f,0.3315144600346684455872f,0.9949513408355414867401f, \ 0.9098131582140922546387f,0.2666130834259092807770f,0.6014269543811678886414f, \ 0.6469328044913709163666f,0.3073055054992437362671f,0.8659543325193226337433f, \ 0.7722052121534943580627f,0.3620244706980884075165f,0.3966818638145923614502f, \ 0.0553487525321543216705f,0.7595019852742552757263f,0.3521075001917779445648f, \ 0.7926115561276674270630f,0.4941224199719727039337f,0.1269726501777768135071f, \ 0.0467983442358672618866f,0.3756254166364669799805f,0.2301741042174398899078f, \ 0.9152546999976038932800f,0.3194008930586278438568f,0.9443374704569578170776f, \ 0.8468258534558117389679f,0.1096191117540001869202f,0.2030929992906749248505f, \ 0.6782134883105754852295f,0.8342829556204378604889f,0.9650435885414481163025f, \ 0.9410973764024674892426f,0.3796364162117242813110f,0.7794532743282616138458f, \ 0.9074576767161488533020f,0.7145868721418082714081f,0.9640186801552772521973f, \ 0.4678759598173201084137f,0.2299097580835223197937f,0.8920741169713437557220f, \ 0.1667113658040761947632f,0.4915095348842442035675f,0.3024059170857071876526f, \ 0.1440355475060641765594f,0.9354602731764316558838f,0.4561293558217585086823f, \ 0.5141706829890608787537f,0.2665198049508035182953f,0.4771588463336229324341f, \ 0.3820844483561813831329f,0.6670796470716595649719f,0.0574905085377395153046f, \ 0.4276479780673980712891f,0.3921637185849249362946f,0.0390139548107981681824f, \ 0.0896534039638936519623f,0.1133126895874738693237f} #define ResRF {1.255529833022194452496f,1.0200026717383132712769f,1.3324589639215225211899f, \ 0.8677406156444121831939f,1.5561073447625946020167f,0.9286968935379427136922f, \ 1.1937226600193293624130f,1.067915927099262640709f,1.545517326047555650703f, \ 1.5694716389035829884335f,0.7825751983710025339036f,1.3429338762216549429951f, \ 0.7639188473405255086490f,0.8664584310401818312286f,1.2939802433811951054565f, \ 0.5990898407849659657032f,1.3527841901085291276274f,1.5193587499057941148095f, \ 0.6904789613904125378241f,0.9961995980090498914450f,1.3021994564088539281244f, \ 1.26004387047876331707f,1.3507596621653372714889f,1.4603873397973008430029f, \ 1.4376480261770669955013f,1.2185152537606129818926f,1.4640602217743992063959f, \ 0.894854807527207585238f,0.9591997301055474878240f,1.164221222913740527716f, \ 1.1146461656150485897143f,1.0887716288036126677241f,0.5830870294869971992568f, \ 0.6121373513947664379842f,1.3737517861001466989990f,0.7178494362155037888940f, \ 1.4830224178312794158785f,1.15302764511686950399f,0.7870894488597584004452f, \ 1.5273165827155432694440f,0.9046421279509564428167f,1.1098998065332701390417f, \ 0.8178369263058140603562f,1.0104814656927540994502f,1.2625532917342228156343f, \ 0.6793632590344759192291f,1.1798090506359553142346f,1.2887180301097407308930f, \ 1.0105656841969548054294f,1.0915011675220371856199f,0.7542427310988851774098f, \ 1.0653686177891663611206f,0.8900627912448225709241f,0.7149348217487093704037f, \ 0.7102600249699384526991f,0.6960735527765307129044f,1.088533305867128486710f, \ 1.388790211991853373874f,1.2713337729965381583952f,1.088577004770347134155f, \ 1.0451133763707507462470f,1.028861647762511877f,1.0500108990334240388620f, \ 1.0388362590565514143037f,0.8513413455225736781173f,1.0298997364083655181588f, \ 0.7980374938553029817712f,1.272512010082343492101f,1.5296574807566454268226f, \ 1.0155756589776196996411f,1.3087404816635104243261f,1.4268507232054599143112f, \ 1.3171287563927265296115f,1.0046812403038571925862f,0.9520223764784513376114f, \ 1.3780800950311928865233f,1.2249760089920562755594f,1.1679630143718853219070f, \ 1.2895295822531129825705f,0.7757074400337321540277f,1.3549804577387012383127f, \ 1.2966028029732796778006f,1.1956170559024092980849f,0.7573690728750529510549f, \ 0.9358060876311721232312f,1.2935811029700821084276f,1.4692924940131448785507f, \ 1.403798205397557063989f,1.2904936439816625526333f,1.4833304573509458190728f, \ 1.5316962881883187108656f,0.7896852637031629429387f,1.2487229023268595629048f, \ 1.1608910658948932148604f,1.0024005845134518200013f,1.4005673415801471737296f, \ 0.8902696237675791213206f,1.4033814016250207856729f,1.5063701881984010721993f, \ 1.4235075164410782022628f,1.2154417216544426416647f,0.9067832509325496337382f, \ 0.8451361326845713284328f,0.8105760364528488137736f,0.6677149293012821784643f, \ 0.9376824522142382933865f,0.9834531063046333398958f,0.7435234402945338771929f, \ 1.2692770995801996303243f,0.8506643591613352040071f,1.1209388788239313949902f, \ 0.6577834067257107841797f,1.4685347852910790589220f,1.4304586887418837548580f, \ 1.5216097729687187989356f,0.9508172376200363373755f,1.4718437723337385314437f, \ 1.5147598813826532726523f,0.9228342692416234838149f,1.463425399368290413804f, \ 0.7595378867190821781108f,0.8934128848181713822285f,1.3234788454526924539323f, \ 1.0022503118871550764624f,0.4807627355715887174092f,1.3509123886799738745168f, \ 0.9845326329544197285770f,1.0135326383159133367684f,1.2959003688929946473962f, \ 1.4493071459819437674099f,1.393898839191649585700f,1.2489929355782913856f, \ 1.4543809570962817900863f,0.8282434492927793767691f,0.979974070275603015290f, \ 0.9016529084751209177639f,1.4461450567069793482489f,0.6070295384428338048011f, \ 0.9308147234333767894299f,0.7189471755291521049003f,1.5158092773905904593335f, \ 0.9872214614683698652442f,1.3935021592326080064339f,0.9771853998510096062091f, \ 1.1193192900537867195965f,1.296487096062820532083f,1.4643457982927459148925f, \ 1.5437362050733878238162f,0.6187847061723403818689f,1.3588173690830449569233f, \ 1.1915339871130086191187f,0.6686084978144331003591f,0.9583842322663218560308f, \ 1.0912664509894050013372f,0.7181625782359223331142f,0.7233140240221890282513f, \ 0.5428178535441999796873f,1.0471999339904087822362f,0.8769816861755428405445f, \ 1.5175053601847408035752f,1.1993783088315406182289f,1.2453663926230837954989f, \ 0.4514953581289469219939f,0.8662667007384096118372f,0.4974730247398895799371f, \ 0.9147617192703559885203f,1.1061521220724712666339f,1.1357238908175482094975f, \ 1.5394063571165421677733f,1.2932180862175921554069f,0.6824933434976203638911f, \ 1.43686302401783927429f,1.5148015609296603400935f,0.8950325309450218869145f, \ 1.1033723890979516557564f,1.1179316393641773874634f,1.4660961587943455164407f, \ 1.4605422546022659435749f,0.7934640514556516865952f,1.1421515306768439401708f, \ 1.3722266762337298473540f,1.4378608786974975686235f,0.9484918901540384528204f, \ 1.409977666065525436778f,0.7322918733552260528441f,0.8770810468745882104713f, \ 1.2797762559830598849686f,1.113354965599829160539f,1.1052282890851641283803f, \ 1.4319057784002142685864f,1.3414927111991592489915f,1.150175091750528233447f, \ 0.6311676673228704403940f,0.8947310349200747747744f,0.3427408557056949023334f, \ 1.3585307702603606205827f,1.3703718078359574672476f,1.1242902219788122319954f, \ 1.0158255484348914787773f,1.4642540410581941223711f} #define ResIF {-0.89394934684766447219f,-0.7269960621148598978181f,-0.873228865930417708086f, \ -0.9411580369058477613109f,-0.3635823360806625381692f,-0.9266296361203899545345f, \ -0.6634195150572302912551f,-0.3497653794429004814326f,-0.0578679396761476172451f, \ -0.4056499805826500049122f,-0.8741287625997348209594f,-0.3259826010316183575455f, \ -0.8401934298465025818814f,-0.7488675904074600930826f,-0.5773032354998757220699f, \ -0.2907264701768227377343f,-0.3549390003452199127132f,-0.0223486092632642734113f, \ -0.0871612243254889368371f,-0.9176985409654165870563f,-0.6568925683359604361655f, \ -0.8873647393225528867688f,-0.5376252047526711708159f,-0.8204495329467825781578f, \ -0.8603334854615410920431f,-0.8439135541376909799283f,-0.7874200016694758996749f, \ -0.7820668187587638264802f,-0.7702271668977674901058f,-0.6397730584800335185136f, \ -0.7501646240735952986256f,-0.1050163064317838901296f,-0.5657338500383883861389f, \ -0.5540440668540072000070f,-0.6903185807895677594814f,-0.6373808782648936466231f, \ -0.5666907482042378152443f,-0.4219005724672658108609f,-0.3886193868474250856515f, \ -0.5681250599967884173935f,-1.0378225966102092581167f,-0.9349807842842002836292f, \ -0.3001473873644374679159f,-0.0086619472523597629970f,-0.3652645919168465704630f, \ -0.5124455823851000735303f,-0.6518809665531226649193f,-0.5410207144441225857179f, \ -0.6415487649665978509006f,-0.9086003711350160161331f,-0.6165709440100644034288f, \ -0.5877295308593559752808f,-0.9208050182698661600966f,-0.0048324714164703318209f, \ -0.5674999297524496721934f,-0.1029242691026374945107f,-0.5491640506289516832084f, \ -0.0053183908272447745144f,-0.0180166547854653871785f,-0.8584065847628071788122f, \ -0.8876649204332747178370f,-0.5558116272697392057367f,-0.3452541277977640987729f, \ -0.9592322323801306671598f,-0.7535283497855133072463f,-0.7161931212080890896132f, \ -0.4651350655885536089507f,-0.4452798781006889750067f,-0.8627422069241995616906f, \ -0.4680940627922438035391f,-0.8526687741435754475106f,-0.2176103156742132949120f, \ -0.5122870446551318623918f,-0.9165631260315680872708f,-0.4375389900682862820425f, \ -0.4390596706521518455268f,-0.0877388848995636905226f,-0.6201939230056620067089f, \ -0.4244909451374946907087f,-0.5765081340409458077190f,-0.1546339715387441970940f, \ -0.8412371149638495637646f,-0.6152054338449556292190f,-0.7055085618375696032700f, \ -1.0060843012853948330587f,-0.8572003556218193986993f,-0.7684942188683597796839f, \ -0.0484327267220403465120f,-0.7613094946055299905296f,-0.7914662562103550458303f, \ -0.5959529832580606756309f,-0.7135015962341314521566f,-0.7642115760119819745100f, \ -0.7454508488281011979737f,-0.8264682151161963918895f,-0.5472791982347332551129f, \ -0.5406217977943502672744f,-0.3063151633155380415552f,-0.7796913689590335705404f, \ -0.1929181474134157303624f,-0.3430522750956541133682f,-0.4911328183727812768389f, \ -0.459568916168811014700f,-0.6685113226304408851064f,-0.6625697799772538587604f, \ -0.5798078060087921148380f,-0.8360708027394485597483f,-0.5502607336825936501512f, \ -0.1862858035907569154155f,-0.6223700777366898417853f,-0.6503554622010890851058f, \ -0.6214803763548166770647f,-0.658644048866955045263f,-0.6789244719569749175747f, \ -0.4960847336430311282918f,-0.7793968717468962026373f,-0.6535755489490102654315f, \ -0.1013611882342874415119f,-0.4101097128485187148783f,-0.4317360856761057741338f, \ -0.1858046514491050738016f,-0.5108140928015871828904f,-0.7329583102689192219970f, \ -0.5572655332532194805140f,-0.2414852833474282756132f,-0.7396265276752447270781f, \ -0.0588783609986792688673f,-0.2846992688951475170001f,-0.4723177842872927079121f, \ -0.1037246805315373693324f,-0.1794574611552203768916f,-0.0652808430937008854489f, \ -0.0773039499491101622652f,-0.7330187724544895422341f,-0.7392992415079050472215f,\ -0.4133533124652354895368f,-0.5506738102468112794341f,-0.5328074192235940920170f, \ -1.0038415897821586497685f,-0.7848345170731062525604f,-0.5565211946593774383629f, \ -0.8394668443345630892694f,-0.3316478088740031915371f,-0.6174546571080481438543f, \ -0.9359141759808927707454f,-0.3379222154458279558931f,-0.8818086263290126902703f, \ -0.8163896696778171202524f,-0.4448261056193882900800f,-0.5818126677407939872921f, \ -0.6497328441864358428148f,-0.4773967451595543809439f,-0.9219910445529124753961f, \ -0.7866824847635498496601f,-0.5256445971902782288154f,-0.5682526122395586964942f, \ -0.1069466527081457118964f,-0.7916702346016932789752f,-0.4433240253515259299277f, \ -0.7277712730096503879196f,-0.508130072062960125301f,-0.1336083189147964367383f,\ -0.1070544087071799849165f,-0.4749428955148710107537f,-0.4653576600823912667870f, \ -0.9868535311953914312966f,-0.3500843154048065564155f,-0.9103124176740465811619f, \ -0.7691355099915161419588f,-0.1137367567447675059666f,-0.3166772504537387900037f, \ -0.6397920481545310567029f,-0.7602207727265776204817f,-1.0393654015282784985885f, \ -0.9191682984673771317219f,-0.4105629424946563021948f,-0.7199249389558314282667f, \ -0.8184995123883722634162f,-0.8831578283865785250484f,-0.9231074927684407294137f, \ -0.4607753273118053716217f,-0.2299250742000491787298f,-0.9489247717923485758718f, \ -0.1680978688129062259549f,-0.6812321574150533853853f,-0.3838159223290327215494f, \ -0.1497969931648169827909f,-0.9112200478501172318246f,-0.4905472078299850102745f, \ -0.4982920949193456183757f,-0.2703771635876200951643f,-0.501441786599973071681f,\ -0.6091306446866900925485f,-0.7751834725402599879374f,-0.1702436202720564450974f, \ -0.4245933471268953929290f,-0.3901971933403464709578f,-0.0432410994613097177108f, \ -0.1052903868471218307157f,-0.1137136398834104750177f} #define InRD {0.9181839306838810443878,0.0884356433525681495667,0.4926414485089480876923, \ 0.8834870792925357818604,0.6802056566812098026276,0.0268530314788222312927, \ 0.7203164598904550075531,0.4598560053855180740356,0.4730282914824783802032, \ 0.0919386046007275581360,0.7707213866524398326874,0.2658544182777404785156, \ 0.0074534364975988864899,0.9752697972580790519714,0.7235199823044240474701, \ 0.5191026907414197921753,0.6986512844450771808624,0.0405965903773903846741, \ 0.1825077752582728862762,0.3346745036542415618896,0.7407455802895128726959, \ 0.2895397534593939781189,0.1539079672656953334808,0.2327872756868600845337, \ 0.249757957179099321365,0.1534609617665410041809,0.8524017068557441234589, \ 0.1445394679903984069824,0.5686616473831236362457,0.3302547885105013847351, \ 0.2786427377723157405853,0.8844447638839483261108,0.3282945682294666767120, \ 0.3848125720396637916565,0.9120064224116504192352,0.5585131235420703887939, \ 0.3578817830421030521393,0.3319081580266356468201,0.3623231402598321437836, \ 0.8766287136822938919067,0.0389173370786011219025,0.9202555166557431221008, \ 0.3243460613302886486053,0.8379747122526168823242,0.1961554684676229953766, \ 0.836488234810531139374,0.6787032946012914180756,0.7582549881190061569214, \ 0.1194611941464245319366,0.5478108832612633705139,0.0830844114534556865692, \ 0.1074626557528972625732,0.8102702707983553409576,0.0020722588524222373962, \ 0.8974113441072404384613,0.1269455049186944961548,0.0464085307903587818146, \ 0.9040105016902089118958,0.7867436590604484081268,0.6945183053612709045410, \ 0.3590205931104719638824,0.7864200873300433158875,0.8456682055257260799408, \ 0.4063719864934682846069,0.5153579493053257465363,0.5949906939640641212463, \ 0.5879231388680636882782,0.3445296920835971832275,0.6011764244176447391510, \ 0.0055679446086287498474,0.6450063190422952175140,0.4985997099429368972778, \ 0.2964930129237473011017,0.1925860242918133735657,0.5175180840305984020233, \ 0.3105752766132354736328,0.4384520896710455417633,0.2674221722409129142761, \ 0.2229883982799947261810,0.3114312570542097091675,0.465050995815545320511, \ 0.1054230490699410438538,0.1839383761398494243622,0.3182676993310451507568, \ 0.8334749997593462467194,0.7803529789671301841736,0.1999261802993714809418, \ 0.1607502643018960952759,0.0067916330881416797638,0.3250140668824315071106, \ 0.8473272952251136302948,0.4055975303053855895996,0.1027544015087187290192, \ 0.0367881907150149345398,0.1505991755984723567963,0.0478651728481054306030, \ 0.7984658707864582538605,0.0468508685007691383362,0.8687802697531878948212, \ 0.6377770192921161651611,0.5846501276828348636627,0.3718070005998015403748, \ 0.2409734181128442287445,0.8118529785424470901489,0.9632846158929169178009, \ 0.1664984868839383125305,0.5345636266283690929413,0.6970838457345962524414, \ 0.6823413469828665256500,0.3967337189242243766785,0.2399202152155339717865, \ 0.1569029819220304489136,0.6013874863274395465851,0.6506889471784234046936, \ 0.2553333411924540996552,0.3477048687636852264404,0.2817953140474855899811, \ 0.3077315231785178184509,0.9059348977170884609222,0.5546605382114648818970, \ 0.8953115609474480152130,0.7834150167182087898254,0.1403537872247397899628, \ 0.7755798771977424621582,0.5447361194528639316559,0.0693962080404162406921, \ 0.7488555698655545711517,0.0215708073228597640991,0.5904601295478641986847, \ 0.2870239550247788429260,0.9467164869420230388641,0.8032453395426273345947, \ 0.0766134397126734256744,0.4733499353751540184021,0.1665818593464791774750, \ 0.7712225038558244705200,0.8505714428611099720001,0.3183112638071179389954, \ 0.4035588609986007213593,0.9796781539916992187500,0.4695712872780859470367, \ 0.0718349842354655265808,0.9567936672829091548920,0.7416916470974683761597, \ 0.4881874625571072101593,0.3396144369617104530334,0.9112829784862697124481, \ 0.5451393984258174896240,0.2204167605377733707428,0.9863075008615851402283, \ 0.2036699182353913784027,0.9978853110224008560181,0.5701226112432777881622, \ 0.8649067105725407600403,0.6157743069343268871307,0.2710180804133415222168, \ 0.0235887938179075717926,0.5910312486812472343445,0.5396073102019727230072, \ 0.0088853742927312850952,0.3979325224645435810089,0.0808908129110932350159, \ 0.8576204623095691204071,0.1746748872101306915283,0.4391269073821604251862, \ 0.0716713583096861839294,0.7819390646182000637054,0.8002922702580690383911, \ 0.8633827907033264636993,0.3430927144363522529602,0.9963299590162932872772, \ 0.1092859357595443725586,0.9356399574317038059235,0.8588880775496363639832, \ 0.9446536763571202754974,0.9815687369555234909058,0.1789177213795483112335, \ 0.5469553777948021888733,0.6095509598962962627411,0.2286865226924419403076, \ 0.3082748861052095890045,0.9369305213913321495056,0.6251136637292802333832, \ 0.6483835671097040176392,0.9831290808506309986115,0.3739325078204274177551, \ 0.0672900262288749217987,0.327214874327182769775,0.4716854714788496494293, \ 0.0272304220125079154968,0.7657743184827268123627,0.1599553581327199935913, \ 0.8212248464114964008331,0.4125823015347123146057,0.4811308677308261394501, \ 0.0545558966696262359619,0.6280010775662958621979,0.6469958787783980369568, \ 0.7909024558030068874359,0.7913962621241807937622} #define InID {0.0004979562945663928986,0.1546611981466412544250,0.0284530925564467906952, \ 0.0055849254131317138672,0.8097954043187201023102,0.0428051082417368888855, \ 0.1182951643131673336029,0.2610557358711957931519,0.8207950596697628498077, \ 0.8662176290526986122131,0.6516509572975337505341,0.6852114759385585784912, \ 0.7980552376247942447662,0.9992001941427588462830,0.0459985560737550258636, \ 0.1328642908483743667603,0.1799852666445076465607,0.3336857678368687629700, \ 0.1323521169833838939667,0.3482229933142662048340,0.4151491993106901645660, \ 0.5222808374091982841492,0.0140265165828168392181,0.0936772432178258895874, \ 0.554428898263722658157,0.4849792802706360816956,0.5406363750807940959930, \ 0.7141286022961139678955,0.1927964971400797367096,0.3982981061562895774841, \ 0.2410794547758996486664,0.1056184638291597366333,0.3544462365098297595978, \ 0.8855850743129849433899,0.0592544334940612316132,0.5570028573274612426758, \ 0.4150356748141348361969,0.6272481856867671012878,0.7362630530260503292084, \ 0.4334241282194852828979,0.6547862743027508258820,0.1096570501103997230530, \ 0.1828466425649821758270,0.1703294925391674041748,0.5361933619715273380280, \ 0.7314661284908652305603,0.6858070171438157558441,0.5467864666134119033813, \ 0.3000954654999077320099,0.9861098499968647956848,0.2921617510728538036346, \ 0.7068451717495918273926,0.9738530241884291172028,0.9392196042463183403015, \ 0.2147838263772428035736,0.8976975139230489730835,0.3853864748962223529816, \ 0.7197126084938645362854,0.6032756562344729900360,0.3933832384645938873291, \ 0.2768237129785120487213,0.2433026498183608055115,0.5238274834118783473969, \ 0.5727928597480058670044,0.1115069282241165637970,0.8871827023103833198547, \ 0.4918101537041366100311,0.620717465877532958984,0.6681088157929480075836, \ 0.3346294192597270011902,0.4008522643707692623138,0.8206953983753919601440, \ 0.0156081621535122394562,0.3082795003429055213928,0.1921516875736415386200, \ 0.9084058068692684173584,0.9628748060204088687897,0.4108279338106513023376, \ 0.1077714688144624233246,0.4543590787798166275024,0.5766139742918312549591, \ 0.7918981136754155158997,0.8716701003722846508026,0.7446341440081596374512, \ 0.8614199929870665073395,0.8598338318988680839539,0.6422161697410047054291, \ 0.1284126546233892440796,0.1956893731839954853058,0.7571631455793976783752, \ 0.0799373830668628215790,0.3010600395500659942627,0.61714327195659279823, \ 0.8184841191396117210388,0.3742539635859429836273,0.4915034342557191848755, \ 0.5517093283124268054962,0.7295224415138363838196,0.5729464250616729259491, \ 0.0226564854383468627930,0.0795128741301596164703,0.6061109183356165885925, \ 0.0581077202223241329193,0.2136410307139158248901,0.3317275200970470905304, \ 0.7118408391252160072327,0.5123297641985118389130,0.0925556533038616180420, \ 0.1120351166464388370514,0.0331352194771170616150,0.2188743329606950283051, \ 0.8885411117225885391235,0.3364450898952782154083,0.4304939182475209236145, \ 0.0395783367566764354706,0.7718926444649696350098,0.3852231525816023349762, \ 0.584660629741847515106,0.9142434685491025447845,0.8109691496938467025757, \ 0.9606793900020420551300,0.4564617509022355079651,0.2252602274529635906219, \ 0.6146492399275302886963,0.5445657209493219852448,0.4790671234950423240662, \ 0.8712163171730935573578,0.6290841717272996902466,0.0488327336497604846954, \ 0.2014226512983441352844,0.3932394194416701793671,0.5574976503849029541016, \ 0.7534958967007696628571,0.6016047922894358634949,0.9978243424557149410248, \ 0.871782509610056877136,0.1253611450083553791046,0.7888469258323311805725, \ 0.8198945443145930767059,0.8846442662179470062256,0.6113598407246172428131, \ 0.3129875948652625083923,0.2698480314575135707855,0.3510415498167276382446, \ 0.0002431091852486133575,0.8000906230881810188293,0.8083376321010291576385, \ 0.0676734074950218200684,0.4463855498470366001129,0.1329871071502566337585, \ 0.9925356446765363216400,0.4392634835094213485718,0.7494483222253620624542, \ 0.8954892838373780250549,0.1376328612677752971649,0.4803910739719867706299, \ 0.9836516068316996097565,0.2990262722596526145935,0.4373219660483300685883, \ 0.2216190565377473831177,0.0704064411111176013947,0.3104516910389065742493, \ 0.8870153087191283702850,0.9886686950922012329102,0.3880559303797781467438, \ 0.1997731504961848258972,0.8535470529459416866302,0.5233913194388151168823, \ 0.0124758337624371051788,0.2265536198392510414124,0.6351096997968852519989, \ 0.4152868799865245819092,0.6822845251299440860748,0.6837346693500876426697, \ 0.8551749861799180507660,0.8123193774372339248657,0.0824123290367424488068, \ 0.0176315875723958015442,0.0341491582803428173065,0.8797791674733161926270, \ 0.5397802316583693027496,0.2428503734990954399109,0.1825126199983060359955, \ 0.9759421404451131820679,0.7248379667289555072784,0.3708766037598252296448, \ 0.7591939563862979412079,0.0132757760584354400635,0.4527114764787256717682, \ 0.0710861748084425926208,0.8389283320866525173187,0.9739420730620622634888, \ 0.1777097475714981555939,0.2829279201105237007141,0.8323502647690474987030, \ 0.0483473539352416992188,0.2749410220421850681305,0.9980281023308634757996, \ 0.6025707735680043697357,0.3654889445751905441284} #define ResRD {0.4073265521222889096187,1.4832960157658940936187,1.0559760538030802390352, \ 0.4876757408319799536,1.0503603238676473274893,1.543964660923583975816, \ 0.7807960353449081569721,1.113475122068019684818,1.2074148700721019089599, \ 1.5013200231227292746894,0.9297840505433454527662,1.3514532021448848464473, \ 1.5649706537079166590587,0.9184476769025181619455,0.7642136963785024494911, \ 1.0321272581534788326252,0.8249731824697179582984,1.5322804352205618982907, \ 1.3889179161647142723979,1.2511777469647082927651,0.8631362880453896657684, \ 1.3132001390852299227419,1.4162898618562522745634,1.336955652419456130886, \ 1.3518798690760625014207,1.432530814961507692473,0.8166991767829372417253, \ 1.4531763459288651318957,0.9836350291388685773697,1.2611871109235879284682, \ 1.2970941054870110953345,0.5247972514595955484396,1.2580817851890182534902, \ 1.284150657350121349509,0.4431164578699607337064,1.0790628231962844374436, \ 1.2369697766373111136318,1.2891801931155641991467,1.279426005626910445301, \ 0.7411469003274002709247,1.5382371539791293013621,0.4648284998100537523946, \ 1.2466755478200817197632,0.6344745057664578080647,1.3976472343104680007286, \ 0.9101343728052767589887,1.0145238645542766775520,0.8998398574208711364619, \ 1.4561881086142904884184,1.18618251793282958317,1.4909812525527503801470, \ 1.483042965312622918361,1.0101711671842434903112,1.5692858337560215975515, \ 0.581296448133323040430,1.4763786358343300442186,1.5274840435675274274985, \ 0.8570040265906480048130,0.8982361671454072160614,0.9010874927564332947938, \ 1.2192362807008756409033,0.7383467259694986850604,0.8144931489593250084624, \ 1.2166243834118397604271,1.03436100179767165308,1.131906113417643577890, \ 1.0351962467792186206594,1.2775309074990219837531,1.071918673883956119042, \ 1.565516150270076733975,0.9534817223618026194032,1.18808795707930903163, \ 1.2698193301194886650762,1.3859852741821954147383,1.0412417743580970608264, \ 1.3416868735639895238165,1.2575402806037097036551,1.3220218864013655313272, \ 1.3473014979095856435976,1.285468609148218810390,1.1658747858778166772709, \ 1.488164159422029397817,1.4322756049582612281057,1.3158102253315304697168, \ 0.9591789810942366045765,0.9946060566652682455313,1.4024848311652073906686, \ 1.4107060249666192319751,1.5641310708030540244096,1.3120464909736666569984, \ 0.5765266085251754546448,1.174948768778458774165,1.4833345055395814604537, \ 1.542328840440976067683,1.4294563291509121416567,1.5278339217974101771347, \ 0.8672708709861330911295,1.5329472698613195724704,0.8183477500293765416473, \ 0.8795454275343114192154,0.9497631085851768739658,1.2520159281840994580648, \ 1.3278713297298554429915,0.6921693745176561440857,0.5940515258646017482391, \ 1.4351615904003474089023,1.0896179081737702443178,0.8073262505844599479232, \ 0.8303525589696477693380,1.1631217540254512599063,1.3345425852020198487224, \ 1.4535942378139874442411,0.9795882485013941431973,0.9572655323242533764727, \ 1.3128248243665050498663,1.2961023348938622845594,1.3059941497461620141252, \ 1.304483982989253165741,0.9305437394849996879387,1.1438076057366068916110, \ 0.9529804506540070496712,0.8395036014732552009932,1.4335056151860767759132, \ 0.9118181357873784698143,1.088227104950570067743,1.5081933427510285650186, \ 1.0197527081918582592124,1.5525377607896333476134,0.9404998007389445691118, \ 1.286060244811547681465,0.6524446466111782916286,0.8656706311155134558888, \ 1.5096117736353744653854,1.1637012525123178185993,1.4530145530183353752562, \ 1.0046068631631419609818,0.5919009089776723353538,1.3213581010685828687201, \ 1.2600188980179465314535,0.8740394919467842083094,1.1689296619753437589395, \ 1.5022014467298512307991,0.5528837279866596343680,0.8359949109724567062329, \ 1.0607846432300507277802,1.3062568171740265299263,0.8879559287204453754683, \ 0.9963420783593853746751,1.3688496242545662440193,0.3803570908643706949270, \ 1.4264926442838912201694,0.6382023556059207569646,1.117517041236663288828, \ 0.9501387596985741978983,0.9188351614160777947049,1.3254743353137110606355, \ 1.55398001104990246546,0.9810746826810110565731,1.0669910119329548692235, \ 1.5621213392572059763808,1.162804162098360238886,1.4934861287145768660167, \ 0.9519686104540553417408,1.4467374415079707894449,1.154639180917391483305, \ 1.500462431806032004289,0.9915094174043252994721,0.8535439676775620210236, \ 0.5293817691790781987393,1.23068211775509039896,0.7526195369457671091595, \ 1.4697720678086412249286,0.8182121412746224953239,0.8746692343808056824273, \ 0.8844573970963010012269,0.8439197222579799539943,1.391544468064010775521, \ 0.9922180869468192332405,0.9160137371548995322001,1.3993728411492449836828, \ 1.2985217508033519706601,0.5536816066461542895638,0.9157598470345392760450, \ 1.1161566883090805468726,0.8048708844349877766788,1.2156607775224024248217, \ 1.5172042703120385276350,1.2374758085060872936367,1.1351487844726630971337, \ 1.5436311555741579759626,0.9980288444492946275943,1.4563247763642750420843, \ 0.6617790067192217406955,1.1654713730545154248830,1.2035174317997594517493, \ 1.5162772650111728811595,0.9344765112644882742998,1.1223294698972574590101, \ 0.8945516347671441659273,0.7901547616106909810441} #define ResID {-0.0012569697886744767793,-0.1546381133029076926366,-0.0326845596217153130936, \ -0.0119187043920920034135,-0.8334668693395566041460,-0.0428074462389216731095, \ -0.1672885154101033944318,-0.2869984863074300229790,-0.7925278559645111409182, \ -0.7851274769100758943452,-0.7428250726131904180249,-0.6543302407510473983621, \ -0.7311595163178985501418,-1.052203053002093824375,-0.0664259655312470775890, \ -0.1541712629474439599786,-0.2426466544194012253666,-0.3280193987403173250250, \ -0.1341688909762420167660,-0.3590358673724926563686,-0.5222636224036150132122, \ -0.5167890418406643204818,-0.0141951437273657391641,-0.0961499124903888030547, \ -0.5411789866531571124852,-0.4719374206382114245173,-0.6865145475966729637918, \ -0.6682412786135066840032,-0.229561178131867382746,-0.4068630429518135804834, \ -0.2478546467124292662643,-0.2092687177409224830171,-0.3643943961998056257912, \ -0.8260533990387732838911,-0.1377643146197947143783,-0.5959599853289488935459, \ -0.4262600844346774997540,-0.6137130366455740837495,-0.7080093721711945287112, \ -0.6044893440702200360093,-0.6155234120386735563457,-0.2422467665254410262854, \ -0.1917136851747310299920,-0.2835381480340813942220,-0.5205087419896101685879, \ -0.8283554785369232620340,-0.7385639097367507899250,-0.6511255066138333935655, \ -0.2976620683491659202780,-0.9257955504050334738508,-0.2890528438121037768660, \ -0.6604934892243505828446,-0.9834822614680237551354,-0.8377366271338905212573, \ -0.3818062735980304323036,-0.8101402379111779517018,-0.3767706089539061276028, \ -0.8471279280465069394523,-0.7100416511121218077207,-0.4827879396812622680990, \ -0.2907446603933081519244,-0.3540413099584073797210,-0.6691029908570297335402, \ -0.5779752710357292100340,-0.1293680641651104301637,-0.8672105047323137583248, \ -0.5445780680276932628203,-0.6098830976698420558435,-0.701796561463252421831, \ -0.3286839097690721356315,-0.4736684460520745321155,-0.7974492297316398969897, \ -0.0163420882574338011128,-0.3086940489965586675858,-0.2208475495159677448598, \ -0.8330345833509705810727,-0.8899247395553587791639,-0.4121122816452804649145, \ -0.110296470108896760287,-0.4573875737589336853972,-0.5921314598231492976055, \ -0.7284533656063938433789,-0.7940022333816690869313,-0.7086861369245996966626, \ -0.9177754728271111384075,-0.8992125494626673765097,-0.6124156802640610131050, \ -0.1297119059766182191940,-0.1944657181402436596507,-0.7195246660784752057438, \ -0.1461225286840270864985,-0.3207633116621479985042,-0.5854835047639634915129, \ -0.7472936554211552229177,-0.3695542509299474809303,-0.4740067448468703315001, \ -0.6718044057588442585782,-0.67710691385219745619,-0.7207858066458165957613, \ -0.0294026163397106028718,-0.0976133299331403969656,-0.6013612638349056238596, \ -0.0598297565651504936746,-0.328794773496815184721,-0.5625239033097394480976, \ -0.6677071141299576462202,-0.5498312284204850408642,-0.1277672590472646030335, \ -0.1511975528780685473773,-0.0360853980890413067462,-0.2232684445667622585852, \ -0.8049065446736692885921,-0.3948819631358797543896,-0.5048059213328937033793, \ -0.0409214035081632079849,-0.7341976462547471493636,-0.3892323418939396262317, \ -0.5739837580671862671267,-0.9770097106672435138819,-0.8021342946497018733254, \ -1.0021601470891579044320,-0.5801678547205166847078,-0.2254843767325802050827, \ -0.7149457311090813282917,-0.5814477978791194878738,-0.4632588121589609753137, \ -0.8972503262100923748790,-0.5936926452425980160754,-0.0604108143246592510511, \ -0.2083620749723606169201,-0.6092960412140594472774,-0.6787459939901434591292, \ -0.6970693351773428192431,-0.6155344865687581989988,-0.8847535831035618913987, \ -0.9045009940161035100203,-0.2228370896879496854126,-0.7435945044006587734131, \ -0.7797072997435431362945,-0.9858551830709869623348,-0.6231594490146994402835, \ -0.3087944685075739159608,-0.4935703580252177591348,-0.4570457045425700415286, \ -0.0002785589239395412880,-0.7550970319205865255441,-0.9107367125371321758820, \ -0.0805255675456537367563,-0.4411921852011919109593,-0.3509629581295168887500, \ -0.8834651688371163436031,-0.6829765945613543998149,-0.7587154857028519661100, \ -0.9508788895131682350481,-0.1722922072289033157411,-0.4769308753189193672561, \ -0.8698653140140508721601,-0.3524550030910831299735,-0.48064598279368742073, \ -0.2198520225955942486440,-0.0766272000705114642027,-0.3065575707631173485446, \ -0.9428944463643879059234,-0.8787732160663290770231,-0.4124717822835545222304, \ -0.198953189056428669801,-0.8954090767834280706339,-0.6481614554957403351310, \ -0.0247021173339000768565,-0.2380648741688522473936,-0.8303628800121001241052, \ -0.4061558941427557689607,-0.8344614350167003369307,-0.8022035151889936877012, \ -0.9540346088196560714323,-0.9416233317955250425868,-0.0836566823356919425647, \ -0.0210575991644249005397,-0.0430401703581563405132,-0.8035548300562509460576, \ -0.5345951582358715592491,-0.4468307121957418859282,-0.2281623925724436396933, \ -0.9410916791444350337770,-0.8853872018362433093941,-0.3859095350986695427409, \ -0.7013552814699581805513,-0.0140485558911140305527,-0.4806326207619357471224, \ -0.0710526121402196841892,-0.8801311527599792183807,-0.8674163434334025701844, \ -0.2852979580229001999037,-0.3032063540671979806618,-0.8027805094234632399264, \ -0.0484003958010784038346,-0.3355136589916887235319,-0.9554164532781582730436, \ -0.7111271555138466426982,-0.4940883791858934337426} void cacossTest(void){ int i=0; float tInR[]=InRF; float tInI[]=InIF; float tResR[]=ResRF; float tResI[]=ResIF; floatComplex tIn[200]; floatComplex tRes[200]; floatComplex out[200]; for (i=0;i<200;i++){ tIn[i]=FloatComplex(tInR[i],tInI[i]); tRes[i]=FloatComplex(tResR[i],tResI[i]); out[i]=cacoss(tIn[i]); } for (i=0;i<200;i++){ assert ( ( fabs(creals(out[i]) - creals(tRes[i])) / fabs(creals(out[i])) ) < 1e-6); assert ( ( fabs(cimags(out[i]) - cimags(tRes[i])) / fabs(cimags(out[i])) ) < 1e-6); } } void zacossTest(void){ int i=0; double tInR[]=InRD; double tInI[]=InID; double tResR[]=ResRD; double tResI[]=ResID; doubleComplex tIn[200]; doubleComplex tRes[200]; doubleComplex out[200]; for (i=0;i<200;i++){ tIn[i]=DoubleComplex(tInR[i],tInI[i]); tRes[i]=DoubleComplex(tResR[i],tResI[i]); out[i]=zacoss(tIn[i]); } for (i=0;i<200;i++){ assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 3e-15); assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 3e-15); } out[0]=zacoss(DoubleComplex(0.2,0.1)); printf ("%1.20f + %1.20f *i\n",zreals(out[0]),zimags(out[0])); assert ( ( fabs(zreals(out[0]) - 1.3704927556955963652285) / fabs(zreals(out[0])) ) < 3e-16); assert ( ( fabs(zimags(out[0]) - (- 0.1018639159801242727310)) / fabs(zimags(out[0])) ) < 3e-16); } void cacosaTest(void){ int i=0; float tInR[]=InRF; float tInI[]=InIF; float tResR[]=ResRF; float tResI[]=ResIF; floatComplex tIn[200]; floatComplex tRes[200]; floatComplex out[200]; for (i=0;i<200;i++){ tIn[i]=FloatComplex(tInR[i],tInI[i]); tRes[i]=FloatComplex(tResR[i],tResI[i]); } cacosa(tIn,200,out); for (i=0;i<200;i++){ assert ( ( fabs(creals(out[i]) - creals(tRes[i])) / fabs(creals(out[i])) ) < 1e-6); assert ( ( fabs(cimags(out[i]) - cimags(tRes[i])) / fabs(cimags(out[i])) ) < 1e-6); } } void zacosaTest(void){ int i=0; double tInR[]=InRD; double tInI[]=InID; double tResR[]=ResRD; double tResI[]=ResID; doubleComplex tIn[200]; doubleComplex tRes[200]; doubleComplex out[200]; for (i=0;i<200;i++){ tIn[i]=DoubleComplex(tInR[i],tInI[i]); tRes[i]=DoubleComplex(tResR[i],tResI[i]); } zacosa(tIn,200,out); for (i=0;i<200;i++){ assert ( ( fabs(zreals(out[i]) - zreals(tRes[i])) / fabs(zreals(out[i])) ) < 3e-15); assert ( ( fabs(zimags(out[i]) - zimags(tRes[i])) / fabs(zimags(out[i])) ) < 3e-15); } } int testAcos(void) { printf("\n>>>> Complex ArcCosine Tests\n"); cacossTest(); zacossTest(); cacosaTest(); zacosaTest(); return 0; } int main(void) { assert(testAcos() == 0); return 0; }