vDSP.pas 249 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768
  1. {
  2. File: vecLib/vDSP.h
  3. Contains: AltiVec DSP Interfaces
  4. Version: vecLib-380.6
  5. Copyright: © 2000-2012 by Apple Computer, Inc., all rights reserved.
  6. Bugs?: For bug reports, consult the following page on
  7. the World Wide Web:
  8. http://bugs.freepascal.org
  9. }
  10. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
  11. { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2012 }
  12. {
  13. Modified for use with Free Pascal
  14. Version 308
  15. Please report any bugs to <[email protected]>
  16. }
  17. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  18. {$mode macpas}
  19. {$modeswitch cblocks}
  20. {$packenum 1}
  21. {$macro on}
  22. {$inline on}
  23. {$calling mwpascal}
  24. unit vDSP;
  25. interface
  26. {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
  27. {$setc GAP_INTERFACES_VERSION := $0308}
  28. {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
  29. {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
  30. {$endc}
  31. {$ifc defined CPUPOWERPC and defined CPUI386}
  32. {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
  33. {$endc}
  34. {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
  35. {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
  36. {$endc}
  37. {$ifc not defined __ppc__ and defined CPUPOWERPC32}
  38. {$setc __ppc__ := 1}
  39. {$elsec}
  40. {$setc __ppc__ := 0}
  41. {$endc}
  42. {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
  43. {$setc __ppc64__ := 1}
  44. {$elsec}
  45. {$setc __ppc64__ := 0}
  46. {$endc}
  47. {$ifc not defined __i386__ and defined CPUI386}
  48. {$setc __i386__ := 1}
  49. {$elsec}
  50. {$setc __i386__ := 0}
  51. {$endc}
  52. {$ifc not defined __x86_64__ and defined CPUX86_64}
  53. {$setc __x86_64__ := 1}
  54. {$elsec}
  55. {$setc __x86_64__ := 0}
  56. {$endc}
  57. {$ifc not defined __arm__ and defined CPUARM}
  58. {$setc __arm__ := 1}
  59. {$elsec}
  60. {$setc __arm__ := 0}
  61. {$endc}
  62. {$ifc not defined __arm64__ and defined CPUAARCH64}
  63. {$setc __arm64__ := 1}
  64. {$elsec}
  65. {$setc __arm64__ := 0}
  66. {$endc}
  67. {$ifc defined cpu64}
  68. {$setc __LP64__ := 1}
  69. {$elsec}
  70. {$setc __LP64__ := 0}
  71. {$endc}
  72. {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
  73. {$error Conflicting definitions for __ppc__ and __i386__}
  74. {$endc}
  75. {$ifc defined __ppc__ and __ppc__}
  76. {$setc TARGET_CPU_PPC := TRUE}
  77. {$setc TARGET_CPU_PPC64 := FALSE}
  78. {$setc TARGET_CPU_X86 := FALSE}
  79. {$setc TARGET_CPU_X86_64 := FALSE}
  80. {$setc TARGET_CPU_ARM := FALSE}
  81. {$setc TARGET_CPU_ARM64 := FALSE}
  82. {$setc TARGET_OS_MAC := TRUE}
  83. {$setc TARGET_OS_IPHONE := FALSE}
  84. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  85. {$setc TARGET_OS_EMBEDDED := FALSE}
  86. {$elifc defined __ppc64__ and __ppc64__}
  87. {$setc TARGET_CPU_PPC := FALSE}
  88. {$setc TARGET_CPU_PPC64 := TRUE}
  89. {$setc TARGET_CPU_X86 := FALSE}
  90. {$setc TARGET_CPU_X86_64 := FALSE}
  91. {$setc TARGET_CPU_ARM := FALSE}
  92. {$setc TARGET_CPU_ARM64 := FALSE}
  93. {$setc TARGET_OS_MAC := TRUE}
  94. {$setc TARGET_OS_IPHONE := FALSE}
  95. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  96. {$setc TARGET_OS_EMBEDDED := FALSE}
  97. {$elifc defined __i386__ and __i386__}
  98. {$setc TARGET_CPU_PPC := FALSE}
  99. {$setc TARGET_CPU_PPC64 := FALSE}
  100. {$setc TARGET_CPU_X86 := TRUE}
  101. {$setc TARGET_CPU_X86_64 := FALSE}
  102. {$setc TARGET_CPU_ARM := FALSE}
  103. {$setc TARGET_CPU_ARM64 := FALSE}
  104. {$ifc defined(iphonesim)}
  105. {$setc TARGET_OS_MAC := FALSE}
  106. {$setc TARGET_OS_IPHONE := TRUE}
  107. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  108. {$elsec}
  109. {$setc TARGET_OS_MAC := TRUE}
  110. {$setc TARGET_OS_IPHONE := FALSE}
  111. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  112. {$endc}
  113. {$setc TARGET_OS_EMBEDDED := FALSE}
  114. {$elifc defined __x86_64__ and __x86_64__}
  115. {$setc TARGET_CPU_PPC := FALSE}
  116. {$setc TARGET_CPU_PPC64 := FALSE}
  117. {$setc TARGET_CPU_X86 := FALSE}
  118. {$setc TARGET_CPU_X86_64 := TRUE}
  119. {$setc TARGET_CPU_ARM := FALSE}
  120. {$setc TARGET_CPU_ARM64 := FALSE}
  121. {$ifc defined(iphonesim)}
  122. {$setc TARGET_OS_MAC := FALSE}
  123. {$setc TARGET_OS_IPHONE := TRUE}
  124. {$setc TARGET_IPHONE_SIMULATOR := TRUE}
  125. {$elsec}
  126. {$setc TARGET_OS_MAC := TRUE}
  127. {$setc TARGET_OS_IPHONE := FALSE}
  128. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  129. {$endc}
  130. {$setc TARGET_OS_EMBEDDED := FALSE}
  131. {$elifc defined __arm__ and __arm__}
  132. {$setc TARGET_CPU_PPC := FALSE}
  133. {$setc TARGET_CPU_PPC64 := FALSE}
  134. {$setc TARGET_CPU_X86 := FALSE}
  135. {$setc TARGET_CPU_X86_64 := FALSE}
  136. {$setc TARGET_CPU_ARM := TRUE}
  137. {$setc TARGET_CPU_ARM64 := FALSE}
  138. { will require compiler define when/if other Apple devices with ARM cpus ship }
  139. {$setc TARGET_OS_MAC := FALSE}
  140. {$setc TARGET_OS_IPHONE := TRUE}
  141. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  142. {$setc TARGET_OS_EMBEDDED := TRUE}
  143. {$elifc defined __arm64__ and __arm64__}
  144. {$setc TARGET_CPU_PPC := FALSE}
  145. {$setc TARGET_CPU_PPC64 := FALSE}
  146. {$setc TARGET_CPU_X86 := FALSE}
  147. {$setc TARGET_CPU_X86_64 := FALSE}
  148. {$setc TARGET_CPU_ARM := FALSE}
  149. {$setc TARGET_CPU_ARM64 := TRUE}
  150. { will require compiler define when/if other Apple devices with ARM cpus ship }
  151. {$setc TARGET_OS_MAC := FALSE}
  152. {$setc TARGET_OS_IPHONE := TRUE}
  153. {$setc TARGET_IPHONE_SIMULATOR := FALSE}
  154. {$setc TARGET_OS_EMBEDDED := TRUE}
  155. {$elsec}
  156. {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
  157. {$endc}
  158. {$ifc defined __LP64__ and __LP64__ }
  159. {$setc TARGET_CPU_64 := TRUE}
  160. {$elsec}
  161. {$setc TARGET_CPU_64 := FALSE}
  162. {$endc}
  163. {$ifc defined FPC_BIG_ENDIAN}
  164. {$setc TARGET_RT_BIG_ENDIAN := TRUE}
  165. {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
  166. {$elifc defined FPC_LITTLE_ENDIAN}
  167. {$setc TARGET_RT_BIG_ENDIAN := FALSE}
  168. {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
  169. {$elsec}
  170. {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
  171. {$endc}
  172. {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
  173. {$setc CALL_NOT_IN_CARBON := FALSE}
  174. {$setc OLDROUTINENAMES := FALSE}
  175. {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
  176. {$setc OPAQUE_UPP_TYPES := TRUE}
  177. {$setc OTCARBONAPPLICATION := TRUE}
  178. {$setc OTKERNEL := FALSE}
  179. {$setc PM_USE_SESSION_APIS := TRUE}
  180. {$setc TARGET_API_MAC_CARBON := TRUE}
  181. {$setc TARGET_API_MAC_OS8 := FALSE}
  182. {$setc TARGET_API_MAC_OSX := TRUE}
  183. {$setc TARGET_CARBON := TRUE}
  184. {$setc TARGET_CPU_68K := FALSE}
  185. {$setc TARGET_CPU_MIPS := FALSE}
  186. {$setc TARGET_CPU_SPARC := FALSE}
  187. {$setc TARGET_OS_UNIX := FALSE}
  188. {$setc TARGET_OS_WIN32 := FALSE}
  189. {$setc TARGET_RT_MAC_68881 := FALSE}
  190. {$setc TARGET_RT_MAC_CFM := FALSE}
  191. {$setc TARGET_RT_MAC_MACHO := TRUE}
  192. {$setc TYPED_FUNCTION_POINTERS := TRUE}
  193. {$setc TYPE_BOOL := FALSE}
  194. {$setc TYPE_EXTENDED := FALSE}
  195. {$setc TYPE_LONGLONG := TRUE}
  196. uses MacTypes;
  197. {$endc} {not MACOSALLINCLUDE}
  198. { For documentation on vDSP, see _vDSP Library_ at
  199. http://developer.apple.com/documentation/Performance/index-date.html or
  200. search for "vDSP Library" at http://developer.apple.com.
  201. }
  202. {$ALIGN POWER}
  203. { These symbols describe the vecLib version associated with this header.
  204. vDSP_Version0 is a major version number.
  205. vDSP_Version1 is a minor version number.
  206. }
  207. const
  208. vDSP_Version0 = 380;
  209. const
  210. vDSP_Version1 = 6;
  211. type
  212. vDSP_Length = UNSIGNEDLONG;
  213. { vDSP_Length is for numbers of elements in arrays and indices of
  214. elements in arrays.
  215. (It is also used for the base-two logarithm of numbers of elements,
  216. although a much smaller type is suitable for that.)
  217. }
  218. type
  219. vDSP_Stride = SIGNEDLONG;
  220. { vDSP_Stride is for differences of indices of elements (which of
  221. course includes strides).
  222. }
  223. type
  224. DSPComplexPtr = ^DSPComplex;
  225. DSPComplex = record
  226. real: Float32;
  227. imag: Float32;
  228. end;
  229. type
  230. DSPSplitComplexPtr = ^DSPSplitComplex;
  231. DSPSplitComplex = record
  232. realp: Float32Ptr;
  233. imagp: Float32Ptr;
  234. end;
  235. type
  236. DSPDoubleComplexPtr = ^DSPDoubleComplex;
  237. DSPDoubleComplex = record
  238. real: Float64;
  239. imag: Float64;
  240. end;
  241. type
  242. DSPDoubleSplitComplexPtr = ^DSPDoubleSplitComplex;
  243. DSPDoubleSplitComplex = record
  244. realp: Float64Ptr;
  245. imagp: Float64Ptr;
  246. end;
  247. type
  248. FFTSetup = ^OpaqueFFTSetup; { an opaque type }
  249. OpaqueFFTSetup = record end;
  250. FFTSetupD = ^OpaqueFFTSetupD; { an opaque type }
  251. OpaqueFFTSetupD = record end;
  252. type
  253. FFTDirection = SInt32;
  254. FFTRadix = SInt32;
  255. const
  256. kFFTDirection_Forward = 1;
  257. kFFTDirection_Inverse = -1;
  258. const
  259. kFFTRadix2 = 0;
  260. kFFTRadix3 = 1;
  261. kFFTRadix5 = 2;
  262. const
  263. vDSP_HALF_WINDOW = 1;
  264. vDSP_HANN_DENORM = 0;
  265. vDSP_HANN_NORM = 2;
  266. { create_fftsetup and create_ffsetupD allocate memory and prepare constants
  267. used by single- and double-precision FFT routines, respectively.
  268. destroy_fftsetup and destroy_fftsetupD free the memory.
  269. }
  270. {
  271. * vDSP_create_fftsetup()
  272. *
  273. * Availability:
  274. * Mac OS X: in version 10.0 and later in vecLib.framework
  275. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  276. * Non-Carbon CFM: in vecLib 1.0 and later
  277. }
  278. function vDSP_create_fftsetup( __vDSP_log2n: vDSP_Length; __vDSP_radix: FFTRadix ): FFTSetup; external name '_vDSP_create_fftsetup';
  279. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  280. {
  281. * vDSP_destroy_fftsetup()
  282. *
  283. * Availability:
  284. * Mac OS X: in version 10.0 and later in vecLib.framework
  285. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  286. * Non-Carbon CFM: in vecLib 1.0 and later
  287. }
  288. procedure vDSP_destroy_fftsetup( __vDSP_setup: FFTSetup ); external name '_vDSP_destroy_fftsetup';
  289. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  290. {
  291. * vDSP_create_fftsetupD()
  292. *
  293. * Availability:
  294. * Mac OS X: in version 10.2 and later in vecLib.framework
  295. * CarbonLib: not available
  296. * Non-Carbon CFM: not available
  297. }
  298. function vDSP_create_fftsetupD( __vDSP_log2n: vDSP_Length; __vDSP_radix: FFTRadix ): FFTSetupD; external name '_vDSP_create_fftsetupD';
  299. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  300. {
  301. * vDSP_destroy_fftsetupD()
  302. *
  303. * Availability:
  304. * Mac OS X: in version 10.2 and later in vecLib.framework
  305. * CarbonLib: not available
  306. * Non-Carbon CFM: not available
  307. }
  308. procedure vDSP_destroy_fftsetupD( __vDSP_setup: FFTSetupD ); external name '_vDSP_destroy_fftsetupD';
  309. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  310. { ctoz and ctozD convert a complex array to a complex-split array.
  311. ztoc and ztocD convert a complex-split array to a complex array.
  312. }
  313. {
  314. * vDSP_ctoz()
  315. *
  316. * Availability:
  317. * Mac OS X: in version 10.0 and later in vecLib.framework
  318. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  319. * Non-Carbon CFM: in vecLib 1.0 and later
  320. }
  321. procedure vDSP_ctoz( {const} __vDSP_C: {variable-size-array} DSPComplexPtr; __vDSP_strideC: vDSP_Stride; __vDSP_Z: DSPSplitComplexPtr; __vDSP_strideZ: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_ctoz';
  322. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  323. {
  324. * vDSP_ztoc()
  325. *
  326. * Availability:
  327. * Mac OS X: in version 10.0 and later in vecLib.framework
  328. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  329. * Non-Carbon CFM: in vecLib 1.0 and later
  330. }
  331. procedure vDSP_ztoc( const __vDSP_Z: DSPSplitComplexPtr; __vDSP_strideZ: vDSP_Stride; __vDSP_C: {variable-size-array} DSPComplexPtr; __vDSP_strideC: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_ztoc';
  332. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  333. {
  334. * vDSP_ctozD()
  335. *
  336. * Availability:
  337. * Mac OS X: in version 10.2 and later in vecLib.framework
  338. * CarbonLib: not available
  339. * Non-Carbon CFM: not available
  340. }
  341. procedure vDSP_ctozD( {const} __vDSP_C: {variable-size-array} DSPDoubleComplexPtr; __vDSP_strideC: vDSP_Stride; __vDSP_Z: DSPDoubleSplitComplexPtr; __vDSP_strideZ: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_ctozD';
  342. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  343. {
  344. * vDSP_ztocD()
  345. *
  346. * Availability:
  347. * Mac OS X: in version 10.2 and later in vecLib.framework
  348. * CarbonLib: not available
  349. * Non-Carbon CFM: not available
  350. }
  351. procedure vDSP_ztocD( const __vDSP_Z: DSPDoubleSplitComplexPtr; __vDSP_strideZ: vDSP_Stride; __vDSP_C: {variable-size-array} DSPDoubleComplexPtr; __vDSP_strideC: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_ztocD';
  352. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  353. { In-place complex Discrete Fourier Transform routines.
  354. fft_zip Single-precision without temporary memory.
  355. fft_zipt Single-precision with temporary memory.
  356. fft_zipD Double-precision without temporary memory.
  357. fft_ziptD Double-precision with temporary memory.
  358. }
  359. {
  360. * vDSP_fft_zip()
  361. *
  362. * Availability:
  363. * Mac OS X: in version 10.0 and later in vecLib.framework
  364. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  365. * Non-Carbon CFM: in vecLib 1.0 and later
  366. }
  367. procedure vDSP_fft_zip( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zip';
  368. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  369. {
  370. * vDSP_fft_zipt()
  371. *
  372. * Availability:
  373. * Mac OS X: in version 10.0 and later in vecLib.framework
  374. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  375. * Non-Carbon CFM: in vecLib 1.0 and later
  376. }
  377. procedure vDSP_fft_zipt( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zipt';
  378. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  379. {
  380. * vDSP_fft_zipD()
  381. *
  382. * Availability:
  383. * Mac OS X: in version 10.2 and later in vecLib.framework
  384. * CarbonLib: not available
  385. * Non-Carbon CFM: not available
  386. }
  387. procedure vDSP_fft_zipD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zipD';
  388. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  389. {
  390. * vDSP_fft_ziptD()
  391. *
  392. * Availability:
  393. * Mac OS X: in version 10.2 and later in vecLib.framework
  394. * CarbonLib: not available
  395. * Non-Carbon CFM: not available
  396. }
  397. procedure vDSP_fft_ziptD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_ziptD';
  398. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  399. { Out-of-place complex Discrete Fourier Transform routines.
  400. fft_zop Single-precision without temporary memory.
  401. fft_zopt Single-precision with temporary memory.
  402. fft_zopD Double-precision without temporary memory.
  403. fft_zoptD Double-precision with temporary memory.
  404. }
  405. {
  406. * vDSP_fft_zop()
  407. *
  408. * Availability:
  409. * Mac OS X: in version 10.0 and later in vecLib.framework
  410. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  411. * Non-Carbon CFM: in vecLib 1.0 and later
  412. }
  413. procedure vDSP_fft_zop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zop';
  414. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  415. {
  416. * vDSP_fft_zopt()
  417. *
  418. * Availability:
  419. * Mac OS X: in version 10.0 and later in vecLib.framework
  420. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  421. * Non-Carbon CFM: in vecLib 1.0 and later
  422. }
  423. procedure vDSP_fft_zopt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zopt';
  424. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  425. {
  426. * vDSP_fft_zopD()
  427. *
  428. * Availability:
  429. * Mac OS X: in version 10.2 and later in vecLib.framework
  430. * CarbonLib: not available
  431. * Non-Carbon CFM: not available
  432. }
  433. procedure vDSP_fft_zopD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zopD';
  434. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  435. {
  436. * vDSP_fft_zoptD()
  437. *
  438. * Availability:
  439. * Mac OS X: in version 10.2 and later in vecLib.framework
  440. * CarbonLib: not available
  441. * Non-Carbon CFM: not available
  442. }
  443. procedure vDSP_fft_zoptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zoptD';
  444. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  445. { In-place real-to-complex Discrete Fourier Transform routines.
  446. fft_zrip Single-precision without temporary memory.
  447. fft_zript Single-precision with temporary memory.
  448. fft_zripD Double-precision without temporary memory.
  449. fft_zriptD Double-precision with temporary memory.
  450. }
  451. {
  452. * vDSP_fft_zrip()
  453. *
  454. * Availability:
  455. * Mac OS X: in version 10.0 and later in vecLib.framework
  456. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  457. * Non-Carbon CFM: in vecLib 1.0 and later
  458. }
  459. procedure vDSP_fft_zrip( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zrip';
  460. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  461. {
  462. * vDSP_fft_zript()
  463. *
  464. * Availability:
  465. * Mac OS X: in version 10.0 and later in vecLib.framework
  466. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  467. * Non-Carbon CFM: in vecLib 1.0 and later
  468. }
  469. procedure vDSP_fft_zript( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zript';
  470. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  471. {
  472. * vDSP_fft_zripD()
  473. *
  474. * Availability:
  475. * Mac OS X: in version 10.2 and later in vecLib.framework
  476. * CarbonLib: not available
  477. * Non-Carbon CFM: not available
  478. }
  479. procedure vDSP_fft_zripD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft_zripD';
  480. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  481. {
  482. * vDSP_fft_zriptD()
  483. *
  484. * Availability:
  485. * Mac OS X: in version 10.2 and later in vecLib.framework
  486. * CarbonLib: not available
  487. * Non-Carbon CFM: not available
  488. }
  489. procedure vDSP_fft_zriptD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_stride: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft_zriptD';
  490. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  491. { Out-of-place real-to-complex Discrete Fourier Transform routines.
  492. fft_zrop Single-precision without temporary memory.
  493. fft_zropt Single-precision with temporary memory.
  494. fft_zropD Double-precision without temporary memory.
  495. fft_zroptD Double-precision with temporary memory.
  496. }
  497. {
  498. * vDSP_fft_zrop()
  499. *
  500. * Availability:
  501. * Mac OS X: in version 10.0 and later in vecLib.framework
  502. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  503. * Non-Carbon CFM: in vecLib 1.0 and later
  504. }
  505. procedure vDSP_fft_zrop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zrop';
  506. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  507. {
  508. * vDSP_fft_zropt()
  509. *
  510. * Availability:
  511. * Mac OS X: in version 10.0 and later in vecLib.framework
  512. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  513. * Non-Carbon CFM: in vecLib 1.0 and later
  514. }
  515. procedure vDSP_fft_zropt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft_zropt';
  516. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  517. {
  518. * vDSP_fft_zropD()
  519. *
  520. * Availability:
  521. * Mac OS X: in version 10.2 and later in vecLib.framework
  522. * CarbonLib: not available
  523. * Non-Carbon CFM: not available
  524. }
  525. procedure vDSP_fft_zropD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft_zropD';
  526. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  527. {
  528. * vDSP_fft_zroptD()
  529. *
  530. * Availability:
  531. * Mac OS X: in version 10.2 and later in vecLib.framework
  532. * CarbonLib: not available
  533. * Non-Carbon CFM: not available
  534. }
  535. procedure vDSP_fft_zroptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft_zroptD';
  536. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  537. { In-place two-dimensional complex Discrete Fourier Transform routines.
  538. fft2d_zip Single-precision without temporary memory.
  539. fft2d_zipt Single-precision with temporary memory.
  540. fft2d_zipD Double-precision without temporary memory.
  541. fft2d_ziptD Double-precision with temporary memory.
  542. }
  543. {
  544. * vDSP_fft2d_zip()
  545. *
  546. * Availability:
  547. * Mac OS X: in version 10.0 and later in vecLib.framework
  548. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  549. * Non-Carbon CFM: in vecLib 1.0 and later
  550. }
  551. procedure vDSP_fft2d_zip( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_zip';
  552. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  553. {
  554. * vDSP_fft2d_zipt()
  555. *
  556. * Availability:
  557. * Mac OS X: in version 10.0 and later in vecLib.framework
  558. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  559. * Non-Carbon CFM: in vecLib 1.0 and later
  560. }
  561. procedure vDSP_fft2d_zipt( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_zipt';
  562. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  563. {
  564. * vDSP_fft2d_zipD()
  565. *
  566. * Availability:
  567. * Mac OS X: in version 10.2 and later in vecLib.framework
  568. * CarbonLib: not available
  569. * Non-Carbon CFM: not available
  570. }
  571. procedure vDSP_fft2d_zipD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_zipD';
  572. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  573. {
  574. * vDSP_fft2d_ziptD()
  575. *
  576. * Availability:
  577. * Mac OS X: in version 10.2 and later in vecLib.framework
  578. * CarbonLib: not available
  579. * Non-Carbon CFM: not available
  580. }
  581. procedure vDSP_fft2d_ziptD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_ziptD';
  582. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  583. { Out-of-place two-dimensional complex Discrete Fourier Transform routines.
  584. fft2d_zop Single-precision without temporary memory.
  585. fft2d_zopt Single-precision with temporary memory.
  586. fft2d_zopD Double-precision without temporary memory.
  587. fft2d_zoptD Double-precision with temporary memory.
  588. }
  589. {
  590. * vDSP_fft2d_zop()
  591. *
  592. * Availability:
  593. * Mac OS X: in version 10.0 and later in vecLib.framework
  594. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  595. * Non-Carbon CFM: in vecLib 1.0 and later
  596. }
  597. procedure vDSP_fft2d_zop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zop';
  598. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  599. {
  600. * vDSP_fft2d_zopt()
  601. *
  602. * Availability:
  603. * Mac OS X: in version 10.0 and later in vecLib.framework
  604. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  605. * Non-Carbon CFM: in vecLib 1.0 and later
  606. }
  607. procedure vDSP_fft2d_zopt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zopt';
  608. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  609. {
  610. * vDSP_fft2d_zopD()
  611. *
  612. * Availability:
  613. * Mac OS X: in version 10.2 and later in vecLib.framework
  614. * CarbonLib: not available
  615. * Non-Carbon CFM: not available
  616. }
  617. procedure vDSP_fft2d_zopD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zopD';
  618. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  619. {
  620. * vDSP_fft2d_zoptD()
  621. *
  622. * Availability:
  623. * Mac OS X: in version 10.2 and later in vecLib.framework
  624. * CarbonLib: not available
  625. * Non-Carbon CFM: not available
  626. }
  627. procedure vDSP_fft2d_zoptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zoptD';
  628. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  629. { In-place two-dimensional real-to-complex Discrete Fourier Transform
  630. routines.
  631. fft2d_zrip Single-precision without temporary memory.
  632. fft2d_zript Single-precision with temporary memory.
  633. fft2d_zripD Double-precision without temporary memory.
  634. fft2d_zriptD Double-precision with temporary memory.
  635. }
  636. {
  637. * vDSP_fft2d_zrip()
  638. *
  639. * Availability:
  640. * Mac OS X: in version 10.0 and later in vecLib.framework
  641. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  642. * Non-Carbon CFM: in vecLib 1.0 and later
  643. }
  644. procedure vDSP_fft2d_zrip( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_zrip';
  645. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  646. {
  647. * vDSP_fft2d_zript()
  648. *
  649. * Availability:
  650. * Mac OS X: in version 10.0 and later in vecLib.framework
  651. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  652. * Non-Carbon CFM: in vecLib 1.0 and later
  653. }
  654. procedure vDSP_fft2d_zript( __vDSP_setup: FFTSetup; __vDSP_ioData: DSPSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_direction: FFTDirection ); external name '_vDSP_fft2d_zript';
  655. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  656. {
  657. * vDSP_fft2d_zripD()
  658. *
  659. * Availability:
  660. * Mac OS X: in version 10.2 and later in vecLib.framework
  661. * CarbonLib: not available
  662. * Non-Carbon CFM: not available
  663. }
  664. procedure vDSP_fft2d_zripD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zripD';
  665. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  666. {
  667. * vDSP_fft2d_zriptD()
  668. *
  669. * Availability:
  670. * Mac OS X: in version 10.2 and later in vecLib.framework
  671. * CarbonLib: not available
  672. * Non-Carbon CFM: not available
  673. }
  674. procedure vDSP_fft2d_zriptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_strideInRow: vDSP_Stride; __vDSP_strideInCol: vDSP_Stride; __vDSP_bufferTemp: DSPDoubleSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zriptD';
  675. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  676. { Out-of-place two-dimensional real-to-complex Discrete Fourier Transform
  677. routines.
  678. fft2d_zrop Single-precision without temporary memory.
  679. fft2d_zropt Single-precision with temporary memory.
  680. fft2d_zropD Double-precision without temporary memory.
  681. fft2d_zroptD Double-precision with temporary memory.
  682. }
  683. {
  684. * vDSP_fft2d_zrop()
  685. *
  686. * Availability:
  687. * Mac OS X: in version 10.0 and later in vecLib.framework
  688. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  689. * Non-Carbon CFM: in vecLib 1.0 and later
  690. }
  691. procedure vDSP_fft2d_zrop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zrop';
  692. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  693. {
  694. * vDSP_fft2d_zropt()
  695. *
  696. * Availability:
  697. * Mac OS X: in version 10.0 and later in vecLib.framework
  698. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  699. * Non-Carbon CFM: in vecLib 1.0 and later
  700. }
  701. procedure vDSP_fft2d_zropt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStrideInRow: vDSP_Stride; __vDSP_signalStrideInCol: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResultInRow: vDSP_Stride; __vDSP_strideResultInCol: vDSP_Stride; __vDSP_bufferTemp: DSPSplitComplexPtr; __vDSP_log2nInCol: vDSP_Length; __vDSP_log2nInRow: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zropt';
  702. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  703. {
  704. * vDSP_fft2d_zropD()
  705. *
  706. * Availability:
  707. * Mac OS X: in version 10.2 and later in vecLib.framework
  708. * CarbonLib: not available
  709. * Non-Carbon CFM: not available
  710. }
  711. procedure vDSP_fft2d_zropD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_Kr: vDSP_Stride; __vDSP_Kc: vDSP_Stride; __vDSP_ioData2: DSPDoubleSplitComplexPtr; __vDSP_Ir: vDSP_Stride; __vDSP_Ic: vDSP_Stride; __vDSP_log2nc: vDSP_Length; __vDSP_log2nr: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zropD';
  712. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  713. {
  714. * vDSP_fft2d_zroptD()
  715. *
  716. * Availability:
  717. * Mac OS X: in version 10.2 and later in vecLib.framework
  718. * CarbonLib: not available
  719. * Non-Carbon CFM: not available
  720. }
  721. procedure vDSP_fft2d_zroptD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_Kr: vDSP_Stride; __vDSP_Kc: vDSP_Stride; __vDSP_ioData2: DSPDoubleSplitComplexPtr; __vDSP_Ir: vDSP_Stride; __vDSP_Ic: vDSP_Stride; __vDSP_temp: DSPDoubleSplitComplexPtr; __vDSP_log2nc: vDSP_Length; __vDSP_log2nr: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft2d_zroptD';
  722. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  723. { In-place multiple complex Discrete Fourier Transform routines.
  724. fftm_zip Single-precision without temporary memory.
  725. fftm_zipt Single-precision with temporary memory.
  726. fftm_zipD Double-precision without temporary memory.
  727. fftm_ziptD Double-precision with temporary memory.
  728. }
  729. {
  730. * vDSP_fftm_zip()
  731. *
  732. * Availability:
  733. * Mac OS X: in version 10.2 and later in vecLib.framework
  734. * CarbonLib: not available
  735. * Non-Carbon CFM: not available
  736. }
  737. procedure vDSP_fftm_zip( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zip';
  738. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  739. {
  740. * vDSP_fftm_zipt()
  741. *
  742. * Availability:
  743. * Mac OS X: in version 10.2 and later in vecLib.framework
  744. * CarbonLib: not available
  745. * Non-Carbon CFM: not available
  746. }
  747. procedure vDSP_fftm_zipt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_temp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zipt';
  748. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  749. {
  750. * vDSP_fftm_zipD()
  751. *
  752. * Availability:
  753. * Mac OS X: in version 10.2 and later in vecLib.framework
  754. * CarbonLib: not available
  755. * Non-Carbon CFM: not available
  756. }
  757. procedure vDSP_fftm_zipD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zipD';
  758. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  759. {
  760. * vDSP_fftm_ziptD()
  761. *
  762. * Availability:
  763. * Mac OS X: in version 10.2 and later in vecLib.framework
  764. * CarbonLib: not available
  765. * Non-Carbon CFM: not available
  766. }
  767. procedure vDSP_fftm_ziptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_temp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_ziptD';
  768. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  769. { Out-of-place multiple complex Discrete Fourier Transform routines.
  770. fftm_zop Single-precision without temporary memory.
  771. fftm_zopt Single-precision with temporary memory.
  772. fftm_zopD Double-precision without temporary memory.
  773. fftm_zoptD Double-precision with temporary memory.
  774. }
  775. {
  776. * vDSP_fftm_zop()
  777. *
  778. * Availability:
  779. * Mac OS X: in version 10.2 and later in vecLib.framework
  780. * CarbonLib: not available
  781. * Non-Carbon CFM: not available
  782. }
  783. procedure vDSP_fftm_zop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zop';
  784. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  785. {
  786. * vDSP_fftm_zopt()
  787. *
  788. * Availability:
  789. * Mac OS X: in version 10.2 and later in vecLib.framework
  790. * CarbonLib: not available
  791. * Non-Carbon CFM: not available
  792. }
  793. procedure vDSP_fftm_zopt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_temp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zopt';
  794. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  795. {
  796. * vDSP_fftm_zopD()
  797. *
  798. * Availability:
  799. * Mac OS X: in version 10.2 and later in vecLib.framework
  800. * CarbonLib: not available
  801. * Non-Carbon CFM: not available
  802. }
  803. procedure vDSP_fftm_zopD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zopD';
  804. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  805. {
  806. * vDSP_fftm_zoptD()
  807. *
  808. * Availability:
  809. * Mac OS X: in version 10.2 and later in vecLib.framework
  810. * CarbonLib: not available
  811. * Non-Carbon CFM: not available
  812. }
  813. procedure vDSP_fftm_zoptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_temp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zoptD';
  814. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  815. { In-place multiple real-to-complex Discrete Fourier Transform routines.
  816. fftm_zip Single-precision without temporary memory.
  817. fftm_zipt Single-precision with temporary memory.
  818. fftm_zipD Double-precision without temporary memory.
  819. fftm_ziptD Double-precision with temporary memory.
  820. }
  821. {
  822. * vDSP_fftm_zrip()
  823. *
  824. * Availability:
  825. * Mac OS X: in version 10.2 and later in vecLib.framework
  826. * CarbonLib: not available
  827. * Non-Carbon CFM: not available
  828. }
  829. procedure vDSP_fftm_zrip( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zrip';
  830. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  831. {
  832. * vDSP_fftm_zript()
  833. *
  834. * Availability:
  835. * Mac OS X: in version 10.2 and later in vecLib.framework
  836. * CarbonLib: not available
  837. * Non-Carbon CFM: not available
  838. }
  839. procedure vDSP_fftm_zript( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_temp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zript';
  840. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  841. {
  842. * vDSP_fftm_zripD()
  843. *
  844. * Availability:
  845. * Mac OS X: in version 10.2 and later in vecLib.framework
  846. * CarbonLib: not available
  847. * Non-Carbon CFM: not available
  848. }
  849. procedure vDSP_fftm_zripD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zripD';
  850. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  851. {
  852. * vDSP_fftm_zriptD()
  853. *
  854. * Availability:
  855. * Mac OS X: in version 10.2 and later in vecLib.framework
  856. * CarbonLib: not available
  857. * Non-Carbon CFM: not available
  858. }
  859. procedure vDSP_fftm_zriptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_temp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zriptD';
  860. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  861. { Out-of-place multiple real-to-complex Discrete Fourier Transform routines.
  862. fftm_zrop Single-precision without temporary memory.
  863. fftm_zropt Single-precision with temporary memory.
  864. fftm_zropD Double-precision without temporary memory.
  865. fftm_zroptD Double-precision with temporary memory.
  866. }
  867. {
  868. * vDSP_fftm_zrop()
  869. *
  870. * Availability:
  871. * Mac OS X: in version 10.2 and later in vecLib.framework
  872. * CarbonLib: not available
  873. * Non-Carbon CFM: not available
  874. }
  875. procedure vDSP_fftm_zrop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zrop';
  876. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  877. {
  878. * vDSP_fftm_zropt()
  879. *
  880. * Availability:
  881. * Mac OS X: in version 10.2 and later in vecLib.framework
  882. * CarbonLib: not available
  883. * Non-Carbon CFM: not available
  884. }
  885. procedure vDSP_fftm_zropt( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_temp: DSPSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zropt';
  886. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  887. {
  888. * vDSP_fftm_zropD()
  889. *
  890. * Availability:
  891. * Mac OS X: in version 10.2 and later in vecLib.framework
  892. * CarbonLib: not available
  893. * Non-Carbon CFM: not available
  894. }
  895. procedure vDSP_fftm_zropD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zropD';
  896. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  897. {
  898. * vDSP_fftm_zroptD()
  899. *
  900. * Availability:
  901. * Mac OS X: in version 10.2 and later in vecLib.framework
  902. * CarbonLib: not available
  903. * Non-Carbon CFM: not available
  904. }
  905. procedure vDSP_fftm_zroptD( __vDSP_setup: FFTSetupD; __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_fftStride: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_rfftStride: vDSP_Stride; __vDSP_temp: DSPDoubleSplitComplexPtr; __vDSP_log2n: vDSP_Length; __vDSP_numFFT: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fftm_zroptD';
  906. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  907. { Non-power-of-two out-of-place complex Discrete Fourier Transform routines.
  908. fft3_zop 3*2**n elements, single-precision without temporary memory.
  909. fft3_zopD 3*2**n elements, double-precision without temporary memory.
  910. fft5_zop 5*2**n elements, single-precision without temporary memory.
  911. fft5_zopD 5*2**n elements, double-precision without temporary memory.
  912. }
  913. {
  914. * vDSP_fft3_zop()
  915. *
  916. * Availability:
  917. * Mac OS X: in version 10.2 and later in vecLib.framework
  918. * CarbonLib: not available
  919. * Non-Carbon CFM: not available
  920. }
  921. procedure vDSP_fft3_zop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft3_zop';
  922. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  923. {
  924. * vDSP_fft5_zop()
  925. *
  926. * Availability:
  927. * Mac OS X: in version 10.2 and later in vecLib.framework
  928. * CarbonLib: not available
  929. * Non-Carbon CFM: not available
  930. }
  931. procedure vDSP_fft5_zop( __vDSP_setup: FFTSetup; __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_resultStride: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft5_zop';
  932. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  933. {
  934. * vDSP_fft3_zopD()
  935. *
  936. * Availability:
  937. * Mac OS X: in version 10.2 and later in vecLib.framework
  938. * CarbonLib: not available
  939. * Non-Carbon CFM: not available
  940. }
  941. procedure vDSP_fft3_zopD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_ioData2: DSPDoubleSplitComplexPtr; __vDSP_L: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft3_zopD';
  942. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  943. {
  944. * vDSP_fft5_zopD()
  945. *
  946. * Availability:
  947. * Mac OS X: in version 10.2 and later in vecLib.framework
  948. * CarbonLib: not available
  949. * Non-Carbon CFM: not available
  950. }
  951. procedure vDSP_fft5_zopD( __vDSP_setup: FFTSetupD; __vDSP_ioData: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_ioData2: DSPDoubleSplitComplexPtr; __vDSP_L: vDSP_Stride; __vDSP_log2n: vDSP_Length; __vDSP_flag: FFTDirection ); external name '_vDSP_fft5_zopD';
  952. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  953. { Convolution (or correlation), single-precision.}
  954. {
  955. * vDSP_conv()
  956. *
  957. * Availability:
  958. * Mac OS X: in version 10.0 and later in vecLib.framework
  959. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  960. * Non-Carbon CFM: in vecLib 1.0 and later
  961. }
  962. procedure vDSP_conv( {const} __vDSP_signal: {variable-size-array} Float32Ptr; __vDSP_signalStride: vDSP_Stride; {const} __vDSP_filter: {variable-size-array} Float32Ptr; __vDSP_strideFilter: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_lenResult: vDSP_Length; __vDSP_lenFilter: vDSP_Length ); external name '_vDSP_conv';
  963. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  964. { Convolution (or correlation), double-precision.}
  965. {
  966. * vDSP_convD()
  967. *
  968. * Availability:
  969. * Mac OS X: in version 10.2 and later in vecLib.framework
  970. * CarbonLib: not available
  971. * Non-Carbon CFM: not available
  972. }
  973. procedure vDSP_convD( {const} __vDSP_signal: {variable-size-array} Float64Ptr; __vDSP_signalStride: vDSP_Stride; {const} __vDSP_filter: {variable-size-array} Float64Ptr; __vDSP_strideFilter: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_lenResult: vDSP_Length; __vDSP_lenFilter: vDSP_Length ); external name '_vDSP_convD';
  974. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  975. { 3*3 filter convolution, single-precision.}
  976. {
  977. * vDSP_f3x3()
  978. *
  979. * Availability:
  980. * Mac OS X: in version 10.2 and later in vecLib.framework
  981. * CarbonLib: not available
  982. * Non-Carbon CFM: not available
  983. }
  984. procedure vDSP_f3x3( __vDSP_signal: Float32Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float32Ptr; __vDSP_result: Float32Ptr ); external name '_vDSP_f3x3';
  985. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  986. { 3*3 filter convolution, double-precision.}
  987. {
  988. * vDSP_f3x3D()
  989. *
  990. * Availability:
  991. * Mac OS X: in version 10.2 and later in vecLib.framework
  992. * CarbonLib: not available
  993. * Non-Carbon CFM: not available
  994. }
  995. procedure vDSP_f3x3D( __vDSP_signal: Float64Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float64Ptr; __vDSP_result: Float64Ptr ); external name '_vDSP_f3x3D';
  996. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  997. { 5*5 filter convolution, single-precision.}
  998. {
  999. * vDSP_f5x5()
  1000. *
  1001. * Availability:
  1002. * Mac OS X: in version 10.2 and later in vecLib.framework
  1003. * CarbonLib: not available
  1004. * Non-Carbon CFM: not available
  1005. }
  1006. procedure vDSP_f5x5( __vDSP_signal: Float32Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float32Ptr; __vDSP_result: Float32Ptr ); external name '_vDSP_f5x5';
  1007. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1008. { 5*5 filter convolution, double-precision.}
  1009. {
  1010. * vDSP_f5x5D()
  1011. *
  1012. * Availability:
  1013. * Mac OS X: in version 10.2 and later in vecLib.framework
  1014. * CarbonLib: not available
  1015. * Non-Carbon CFM: not available
  1016. }
  1017. procedure vDSP_f5x5D( __vDSP_signal: Float64Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float64Ptr; __vDSP_result: Float64Ptr ); external name '_vDSP_f5x5D';
  1018. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1019. { General two-dimensional (image) convolution, single-precision.}
  1020. {
  1021. * vDSP_imgfir()
  1022. *
  1023. * Availability:
  1024. * Mac OS X: in version 10.2 and later in vecLib.framework
  1025. * CarbonLib: not available
  1026. * Non-Carbon CFM: not available
  1027. }
  1028. procedure vDSP_imgfir( __vDSP_signal: Float32Ptr; __vDSP_numRow: vDSP_Length; __vDSP_numCol: vDSP_Length; __vDSP_filter: Float32Ptr; __vDSP_result: Float32Ptr; __vDSP_fnumRow: vDSP_Length; __vDSP_fnumCol: vDSP_Length ); external name '_vDSP_imgfir';
  1029. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1030. { General two-dimensional (image) convolution, double-precision.}
  1031. {
  1032. * vDSP_imgfirD()
  1033. *
  1034. * Availability:
  1035. * Mac OS X: in version 10.2 and later in vecLib.framework
  1036. * CarbonLib: not available
  1037. * Non-Carbon CFM: not available
  1038. }
  1039. procedure vDSP_imgfirD( __vDSP_signal: Float64Ptr; __vDSP_numRow: vDSP_Length; __vDSP_numCol: vDSP_Length; __vDSP_filter: Float64Ptr; __vDSP_result: Float64Ptr; __vDSP_fnumRow: vDSP_Length; __vDSP_fnumCol: vDSP_Length ); external name '_vDSP_imgfirD';
  1040. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1041. { Matrix transpose, single-precision.}
  1042. {
  1043. * vDSP_mtrans()
  1044. *
  1045. * Availability:
  1046. * Mac OS X: in version 10.2 and later in vecLib.framework
  1047. * CarbonLib: not available
  1048. * Non-Carbon CFM: not available
  1049. }
  1050. procedure vDSP_mtrans( __vDSP_a: Float32Ptr; __vDSP_aStride: vDSP_Stride; __vDSP_c: Float32Ptr; __vDSP_cStride: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_mtrans';
  1051. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1052. { Matrix transpose, double-precision.}
  1053. {
  1054. * vDSP_mtransD()
  1055. *
  1056. * Availability:
  1057. * Mac OS X: in version 10.2 and later in vecLib.framework
  1058. * CarbonLib: not available
  1059. * Non-Carbon CFM: not available
  1060. }
  1061. procedure vDSP_mtransD( __vDSP_a: Float64Ptr; __vDSP_aStride: vDSP_Stride; __vDSP_c: Float64Ptr; __vDSP_cStride: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_mtransD';
  1062. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1063. { Matrix multiply, single-precision.}
  1064. {
  1065. * vDSP_mmul()
  1066. *
  1067. * Availability:
  1068. * Mac OS X: in version 10.2 and later in vecLib.framework
  1069. * CarbonLib: not available
  1070. * Non-Carbon CFM: not available
  1071. }
  1072. procedure vDSP_mmul( __vDSP_a: Float32Ptr; __vDSP_aStride: vDSP_Stride; __vDSP_b: Float32Ptr; __vDSP_bStride: vDSP_Stride; __vDSP_c: Float32Ptr; __vDSP_cStride: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_mmul';
  1073. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1074. { Matrix multiply, double-precision.}
  1075. {
  1076. * vDSP_mmulD()
  1077. *
  1078. * Availability:
  1079. * Mac OS X: in version 10.2 and later in vecLib.framework
  1080. * CarbonLib: not available
  1081. * Non-Carbon CFM: not available
  1082. }
  1083. procedure vDSP_mmulD( __vDSP_a: Float64Ptr; __vDSP_aStride: vDSP_Stride; __vDSP_b: Float64Ptr; __vDSP_bStride: vDSP_Stride; __vDSP_c: Float64Ptr; __vDSP_cStride: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_mmulD';
  1084. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1085. { Complex-split matrix multiply and add, single-precision.}
  1086. {
  1087. * vDSP_zmma()
  1088. *
  1089. * Availability:
  1090. * Mac OS X: in version 10.2 and later in vecLib.framework
  1091. * CarbonLib: not available
  1092. * Non-Carbon CFM: not available
  1093. }
  1094. procedure vDSP_zmma( __vDSP_a: DSPSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmma';
  1095. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1096. { Complex-split matrix multiply and add, double-precision.}
  1097. {
  1098. * vDSP_zmmaD()
  1099. *
  1100. * Availability:
  1101. * Mac OS X: in version 10.2 and later in vecLib.framework
  1102. * CarbonLib: not available
  1103. * Non-Carbon CFM: not available
  1104. }
  1105. procedure vDSP_zmmaD( __vDSP_a: DSPDoubleSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPDoubleSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPDoubleSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPDoubleSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmmaD';
  1106. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1107. { Complex-split matrix multiply and subtract, single-precision.}
  1108. {
  1109. * vDSP_zmms()
  1110. *
  1111. * Availability:
  1112. * Mac OS X: in version 10.2 and later in vecLib.framework
  1113. * CarbonLib: not available
  1114. * Non-Carbon CFM: not available
  1115. }
  1116. procedure vDSP_zmms( __vDSP_a: DSPSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmms';
  1117. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1118. { Complex-split matrix multiply and subtract, double-precision.}
  1119. {
  1120. * vDSP_zmmsD()
  1121. *
  1122. * Availability:
  1123. * Mac OS X: in version 10.2 and later in vecLib.framework
  1124. * CarbonLib: not available
  1125. * Non-Carbon CFM: not available
  1126. }
  1127. procedure vDSP_zmmsD( __vDSP_a: DSPDoubleSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPDoubleSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPDoubleSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPDoubleSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmmsD';
  1128. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1129. { Complex-split matrix subtract and multiply, single-precision.}
  1130. {
  1131. * vDSP_zmsm()
  1132. *
  1133. * Availability:
  1134. * Mac OS X: in version 10.2 and later in vecLib.framework
  1135. * CarbonLib: not available
  1136. * Non-Carbon CFM: not available
  1137. }
  1138. procedure vDSP_zmsm( __vDSP_a: DSPSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmsm';
  1139. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1140. { Complex-split matrix subtract and multiply, double-precision.}
  1141. {
  1142. * vDSP_zmsmD()
  1143. *
  1144. * Availability:
  1145. * Mac OS X: in version 10.2 and later in vecLib.framework
  1146. * CarbonLib: not available
  1147. * Non-Carbon CFM: not available
  1148. }
  1149. procedure vDSP_zmsmD( __vDSP_a: DSPDoubleSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPDoubleSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPDoubleSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_d: DSPDoubleSplitComplexPtr; __vDSP_l: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmsmD';
  1150. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1151. { Complex-split matrix multiply, single-precision.}
  1152. {
  1153. * vDSP_zmmul()
  1154. *
  1155. * Availability:
  1156. * Mac OS X: in version 10.2 and later in vecLib.framework
  1157. * CarbonLib: not available
  1158. * Non-Carbon CFM: not available
  1159. }
  1160. procedure vDSP_zmmul( __vDSP_a: DSPSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmmul';
  1161. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1162. { Complex-split matrix multiply, double-precision.}
  1163. {
  1164. * vDSP_zmmulD()
  1165. *
  1166. * Availability:
  1167. * Mac OS X: in version 10.2 and later in vecLib.framework
  1168. * CarbonLib: not available
  1169. * Non-Carbon CFM: not available
  1170. }
  1171. procedure vDSP_zmmulD( __vDSP_a: DSPDoubleSplitComplexPtr; __vDSP_i: vDSP_Stride; __vDSP_b: DSPDoubleSplitComplexPtr; __vDSP_j: vDSP_Stride; __vDSP_c: DSPDoubleSplitComplexPtr; __vDSP_k: vDSP_Stride; __vDSP_M: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_zmmulD';
  1172. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1173. { Vector add, single-precision.}
  1174. {
  1175. * vDSP_vadd()
  1176. *
  1177. * Availability:
  1178. * Mac OS X: in version 10.0 and later in vecLib.framework
  1179. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1180. * Non-Carbon CFM: in vecLib 1.0 and later
  1181. }
  1182. procedure vDSP_vadd( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vadd';
  1183. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1184. { Vector add, double-precision.}
  1185. {
  1186. * vDSP_vaddD()
  1187. *
  1188. * Availability:
  1189. * Mac OS X: in version 10.2 and later in vecLib.framework
  1190. * CarbonLib: not available
  1191. * Non-Carbon CFM: not available
  1192. }
  1193. procedure vDSP_vaddD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vaddD';
  1194. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1195. { Vector subtract, single-precision.}
  1196. {
  1197. * vDSP_vsub()
  1198. *
  1199. * Availability:
  1200. * Mac OS X: in version 10.0 and later in vecLib.framework
  1201. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1202. * Non-Carbon CFM: in vecLib 1.0 and later
  1203. }
  1204. procedure vDSP_vsub( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsub';
  1205. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1206. { Vector subtract, double-precision.}
  1207. {
  1208. * vDSP_vsubD()
  1209. *
  1210. * Availability:
  1211. * Mac OS X: in version 10.2 and later in vecLib.framework
  1212. * CarbonLib: not available
  1213. * Non-Carbon CFM: not available
  1214. }
  1215. procedure vDSP_vsubD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsubD';
  1216. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1217. { Vector multiply, single-precision.}
  1218. {
  1219. * vDSP_vmul()
  1220. *
  1221. * Availability:
  1222. * Mac OS X: in version 10.0 and later in vecLib.framework
  1223. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1224. * Non-Carbon CFM: in vecLib 1.0 and later
  1225. }
  1226. procedure vDSP_vmul( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vmul';
  1227. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1228. { Vector multiply, double-precision.}
  1229. {
  1230. * vDSP_vmulD()
  1231. *
  1232. * Availability:
  1233. * Mac OS X: in version 10.2 and later in vecLib.framework
  1234. * CarbonLib: not available
  1235. * Non-Carbon CFM: not available
  1236. }
  1237. procedure vDSP_vmulD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vmulD';
  1238. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1239. { Vector-scalar multiply, single-precision.}
  1240. {
  1241. * vDSP_vsmul()
  1242. *
  1243. * Availability:
  1244. * Mac OS X: in version 10.0 and later in vecLib.framework
  1245. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1246. * Non-Carbon CFM: in vecLib 1.0 and later
  1247. }
  1248. procedure vDSP_vsmul( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; const __vDSP_input2: Float32Ptr; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsmul';
  1249. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1250. { Vector-scalar multiply, double-precision.}
  1251. {
  1252. * vDSP_vsmulD()
  1253. *
  1254. * Availability:
  1255. * Mac OS X: in version 10.2 and later in vecLib.framework
  1256. * CarbonLib: not available
  1257. * Non-Carbon CFM: not available
  1258. }
  1259. procedure vDSP_vsmulD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; const __vDSP_input2: Float64Ptr; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsmulD';
  1260. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1261. { Vector square, single-precision.}
  1262. {
  1263. * vDSP_vsq()
  1264. *
  1265. * Availability:
  1266. * Mac OS X: in version 10.0 and later in vecLib.framework
  1267. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1268. * Non-Carbon CFM: in vecLib 1.0 and later
  1269. }
  1270. procedure vDSP_vsq( {const} __vDSP_input: {variable-size-array} Float32Ptr; __vDSP_strideInput: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsq';
  1271. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1272. { Vector square, double-precision.}
  1273. {
  1274. * vDSP_vsqD()
  1275. *
  1276. * Availability:
  1277. * Mac OS X: in version 10.2 and later in vecLib.framework
  1278. * CarbonLib: not available
  1279. * Non-Carbon CFM: not available
  1280. }
  1281. procedure vDSP_vsqD( {const} __vDSP_input: {variable-size-array} Float64Ptr; __vDSP_strideInput: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vsqD';
  1282. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1283. { Vector signed square, single-precision.}
  1284. {
  1285. * vDSP_vssq()
  1286. *
  1287. * Availability:
  1288. * Mac OS X: in version 10.0 and later in vecLib.framework
  1289. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1290. * Non-Carbon CFM: in vecLib 1.0 and later
  1291. }
  1292. procedure vDSP_vssq( {const} __vDSP_input: {variable-size-array} Float32Ptr; __vDSP_strideInput: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vssq';
  1293. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1294. { Vector signed square, double-precision.}
  1295. {
  1296. * vDSP_vssqD()
  1297. *
  1298. * Availability:
  1299. * Mac OS X: in version 10.2 and later in vecLib.framework
  1300. * CarbonLib: not available
  1301. * Non-Carbon CFM: not available
  1302. }
  1303. procedure vDSP_vssqD( {const} __vDSP_input: {variable-size-array} Float64Ptr; __vDSP_strideInput: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vssqD';
  1304. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1305. { Euclidean distance square, single-precision.}
  1306. {
  1307. * vDSP_distancesq()
  1308. *
  1309. * Availability:
  1310. * Mac OS X: in version 10.0 and later in vecLib.framework
  1311. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1312. * Non-Carbon CFM: in vecLib 1.0 and later
  1313. }
  1314. procedure vDSP_distancesq( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_size: vDSP_Length ); external name '_vDSP_distancesq';
  1315. (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0) *)
  1316. { Dot product, single-precision.}
  1317. {
  1318. * vDSP_dotpr()
  1319. *
  1320. * Availability:
  1321. * Mac OS X: in version 10.0 and later in vecLib.framework
  1322. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1323. * Non-Carbon CFM: in vecLib 1.0 and later
  1324. }
  1325. procedure vDSP_dotpr( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: Float32Ptr; __vDSP_size: vDSP_Length ); external name '_vDSP_dotpr';
  1326. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1327. { Dot product, double-precision.}
  1328. {
  1329. * vDSP_dotprD()
  1330. *
  1331. * Availability:
  1332. * Mac OS X: in version 10.2 and later in vecLib.framework
  1333. * CarbonLib: not available
  1334. * Non-Carbon CFM: not available
  1335. }
  1336. procedure vDSP_dotprD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: Float64Ptr; __vDSP_size: vDSP_Length ); external name '_vDSP_dotprD';
  1337. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1338. { Vector add and multiply, single-precision.}
  1339. {
  1340. * vDSP_vam()
  1341. *
  1342. * Availability:
  1343. * Mac OS X: in version 10.0 and later in vecLib.framework
  1344. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1345. * Non-Carbon CFM: in vecLib 1.0 and later
  1346. }
  1347. procedure vDSP_vam( {const} __vDSP_input1: {variable-size-array} Float32Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; {const} __vDSP_input3: {variable-size-array} Float32Ptr; __vDSP_stride3: vDSP_Stride; __vDSP_result: {variable-size-array} Float32Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vam';
  1348. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1349. { Vector add and multiply, double-precision.}
  1350. {
  1351. * vDSP_vamD()
  1352. *
  1353. * Availability:
  1354. * Mac OS X: in version 10.2 and later in vecLib.framework
  1355. * CarbonLib: not available
  1356. * Non-Carbon CFM: not available
  1357. }
  1358. procedure vDSP_vamD( {const} __vDSP_input1: {variable-size-array} Float64Ptr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; {const} __vDSP_input3: {variable-size-array} Float64Ptr; __vDSP_stride3: vDSP_Stride; __vDSP_result: {variable-size-array} Float64Ptr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_vamD';
  1359. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1360. { Complex-split convolution, single-precision.}
  1361. {
  1362. * vDSP_zconv()
  1363. *
  1364. * Availability:
  1365. * Mac OS X: in version 10.0 and later in vecLib.framework
  1366. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1367. * Non-Carbon CFM: in vecLib 1.0 and later
  1368. }
  1369. procedure vDSP_zconv( __vDSP_signal: DSPSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_filter: DSPSplitComplexPtr; __vDSP_strideFilter: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_lenResult: vDSP_Length; __vDSP_lenFilter: vDSP_Length ); external name '_vDSP_zconv';
  1370. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1371. { Complex-split convolution, double-precision.}
  1372. {
  1373. * vDSP_zconvD()
  1374. *
  1375. * Availability:
  1376. * Mac OS X: in version 10.2 and later in vecLib.framework
  1377. * CarbonLib: not available
  1378. * Non-Carbon CFM: not available
  1379. }
  1380. procedure vDSP_zconvD( __vDSP_signal: DSPDoubleSplitComplexPtr; __vDSP_signalStride: vDSP_Stride; __vDSP_filter: DSPDoubleSplitComplexPtr; __vDSP_strideFilter: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_lenResult: vDSP_Length; __vDSP_lenFilter: vDSP_Length ); external name '_vDSP_zconvD';
  1381. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1382. { Complex-split vector add, single-precision.}
  1383. {
  1384. * vDSP_zvadd()
  1385. *
  1386. * Availability:
  1387. * Mac OS X: in version 10.0 and later in vecLib.framework
  1388. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1389. * Non-Carbon CFM: in vecLib 1.0 and later
  1390. }
  1391. procedure vDSP_zvadd( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvadd';
  1392. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1393. { Complex-split vector add, double-precision.}
  1394. {
  1395. * vDSP_zvaddD()
  1396. *
  1397. * Availability:
  1398. * Mac OS X: in version 10.2 and later in vecLib.framework
  1399. * CarbonLib: not available
  1400. * Non-Carbon CFM: not available
  1401. }
  1402. procedure vDSP_zvaddD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvaddD';
  1403. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1404. { Complex-split vector subtract, single-precision.}
  1405. {
  1406. * vDSP_zvsub()
  1407. *
  1408. * Availability:
  1409. * Mac OS X: in version 10.0 and later in vecLib.framework
  1410. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1411. * Non-Carbon CFM: in vecLib 1.0 and later
  1412. }
  1413. procedure vDSP_zvsub( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvsub';
  1414. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1415. { Complex-split vector subtract, double-precision.}
  1416. {
  1417. * vDSP_zvsubD()
  1418. *
  1419. * Availability:
  1420. * Mac OS X: in version 10.2 and later in vecLib.framework
  1421. * CarbonLib: not available
  1422. * Non-Carbon CFM: not available
  1423. }
  1424. procedure vDSP_zvsubD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvsubD';
  1425. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1426. { Complex-split vector multiply, single-precision.}
  1427. {
  1428. * vDSP_zvmul()
  1429. *
  1430. * Availability:
  1431. * Mac OS X: in version 10.0 and later in vecLib.framework
  1432. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1433. * Non-Carbon CFM: in vecLib 1.0 and later
  1434. }
  1435. procedure vDSP_zvmul( const __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; const __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; const __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length; __vDSP_conjugate: SInt32 ); external name '_vDSP_zvmul';
  1436. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1437. { Complex-split vector multiply, double-precision.}
  1438. {
  1439. * vDSP_zvmulD()
  1440. *
  1441. * Availability:
  1442. * Mac OS X: in version 10.2 and later in vecLib.framework
  1443. * CarbonLib: not available
  1444. * Non-Carbon CFM: not available
  1445. }
  1446. procedure vDSP_zvmulD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length; __vDSP_conjugate: SInt32 ); external name '_vDSP_zvmulD';
  1447. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1448. { Complex-split dot product, single-precision.}
  1449. {
  1450. * vDSP_zdotpr()
  1451. *
  1452. * Availability:
  1453. * Mac OS X: in version 10.0 and later in vecLib.framework
  1454. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1455. * Non-Carbon CFM: in vecLib 1.0 and later
  1456. }
  1457. procedure vDSP_zdotpr( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zdotpr';
  1458. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1459. { Complex-split dot product, double-precision.}
  1460. {
  1461. * vDSP_zdotprD()
  1462. *
  1463. * Availability:
  1464. * Mac OS X: in version 10.2 and later in vecLib.framework
  1465. * CarbonLib: not available
  1466. * Non-Carbon CFM: not available
  1467. }
  1468. procedure vDSP_zdotprD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zdotprD';
  1469. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1470. { Complex-split inner (conjugate) dot product, single-precision.}
  1471. {
  1472. * vDSP_zidotpr()
  1473. *
  1474. * Availability:
  1475. * Mac OS X: in version 10.0 and later in vecLib.framework
  1476. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1477. * Non-Carbon CFM: in vecLib 1.0 and later
  1478. }
  1479. procedure vDSP_zidotpr( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zidotpr';
  1480. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1481. { Complex-split inner (conjugate) dot product, double-precision.}
  1482. {
  1483. * vDSP_zidotprD()
  1484. *
  1485. * Availability:
  1486. * Mac OS X: in version 10.2 and later in vecLib.framework
  1487. * CarbonLib: not available
  1488. * Non-Carbon CFM: not available
  1489. }
  1490. procedure vDSP_zidotprD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zidotprD';
  1491. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1492. { Dot product of complex-split with real, single-precision.}
  1493. {
  1494. * vDSP_zrdotpr()
  1495. *
  1496. * Availability:
  1497. * Mac OS X: in version 10.0 and later in vecLib.framework
  1498. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1499. * Non-Carbon CFM: in vecLib 1.0 and later
  1500. }
  1501. procedure vDSP_zrdotpr( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zrdotpr';
  1502. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1503. { Dot product of complex-split with real, double-precision.}
  1504. {
  1505. * vDSP_zrdotprD()
  1506. *
  1507. * Availability:
  1508. * Mac OS X: in version 10.2 and later in vecLib.framework
  1509. * CarbonLib: not available
  1510. * Non-Carbon CFM: not available
  1511. }
  1512. procedure vDSP_zrdotprD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_size: vDSP_Length ); external name '_vDSP_zrdotprD';
  1513. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1514. { Complex-split conjugate multiply and add, single-precision.}
  1515. {
  1516. * vDSP_zvcma()
  1517. *
  1518. * Availability:
  1519. * Mac OS X: in version 10.0 and later in vecLib.framework
  1520. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1521. * Non-Carbon CFM: in vecLib 1.0 and later
  1522. }
  1523. procedure vDSP_zvcma( const __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; const __vDSP_input2: DSPSplitComplexPtr; __vDSP_stride2: vDSP_Stride; const __vDSP_input3: DSPSplitComplexPtr; __vDSP_stride3: vDSP_Stride; const __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvcma';
  1524. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1525. { Complex-split conjugate multiply and add, double-precision.}
  1526. {
  1527. * vDSP_zvcmaD()
  1528. *
  1529. * Availability:
  1530. * Mac OS X: in version 10.2 and later in vecLib.framework
  1531. * CarbonLib: not available
  1532. * Non-Carbon CFM: not available
  1533. }
  1534. procedure vDSP_zvcmaD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; __vDSP_input2: DSPDoubleSplitComplexPtr; __vDSP_stride2: vDSP_Stride; __vDSP_input3: DSPDoubleSplitComplexPtr; __vDSP_stride3: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zvcmaD';
  1535. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1536. { Add complex-split and real, single-precision.}
  1537. {
  1538. * vDSP_zrvadd()
  1539. *
  1540. * Availability:
  1541. * Mac OS X: in version 10.0 and later in vecLib.framework
  1542. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1543. * Non-Carbon CFM: in vecLib 1.0 and later
  1544. }
  1545. procedure vDSP_zrvadd( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvadd';
  1546. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1547. { Add complex-split and real, double-precision.}
  1548. {
  1549. * vDSP_zrvaddD()
  1550. *
  1551. * Availability:
  1552. * Mac OS X: in version 10.2 and later in vecLib.framework
  1553. * CarbonLib: not available
  1554. * Non-Carbon CFM: not available
  1555. }
  1556. procedure vDSP_zrvaddD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvaddD';
  1557. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1558. { Subtract real from complex-split, single-precision.}
  1559. {
  1560. * vDSP_zrvsub()
  1561. *
  1562. * Availability:
  1563. * Mac OS X: in version 10.0 and later in vecLib.framework
  1564. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1565. * Non-Carbon CFM: in vecLib 1.0 and later
  1566. }
  1567. procedure vDSP_zrvsub( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvsub';
  1568. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1569. { Subtract real from complex-split, double-precision.}
  1570. {
  1571. * vDSP_zrvsubD()
  1572. *
  1573. * Availability:
  1574. * Mac OS X: in version 10.2 and later in vecLib.framework
  1575. * CarbonLib: not available
  1576. * Non-Carbon CFM: not available
  1577. }
  1578. procedure vDSP_zrvsubD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvsubD';
  1579. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1580. { Multiply complex-split and real, single-precision.}
  1581. {
  1582. * vDSP_zrvmul()
  1583. *
  1584. * Availability:
  1585. * Mac OS X: in version 10.0 and later in vecLib.framework
  1586. * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
  1587. * Non-Carbon CFM: in vecLib 1.0 and later
  1588. }
  1589. procedure vDSP_zrvmul( __vDSP_input1: DSPSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float32Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvmul';
  1590. (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
  1591. { Multiply complex-split and real, double-precision.}
  1592. {
  1593. * vDSP_zrvmulD()
  1594. *
  1595. * Availability:
  1596. * Mac OS X: in version 10.2 and later in vecLib.framework
  1597. * CarbonLib: not available
  1598. * Non-Carbon CFM: not available
  1599. }
  1600. procedure vDSP_zrvmulD( __vDSP_input1: DSPDoubleSplitComplexPtr; __vDSP_stride1: vDSP_Stride; {const} __vDSP_input2: {variable-size-array} Float64Ptr; __vDSP_stride2: vDSP_Stride; __vDSP_result: DSPDoubleSplitComplexPtr; __vDSP_strideResult: vDSP_Stride; __vDSP_size: vDSP_Length ); external name '_vDSP_zrvmulD';
  1601. (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
  1602. { Vector convert double-precision to single-precision.}
  1603. {
  1604. * vDSP_vdpsp()
  1605. *
  1606. * Availability:
  1607. * Mac OS X: in version 10.4 and later in vecLib.framework
  1608. * CarbonLib: not available
  1609. * Non-Carbon CFM: not available
  1610. }
  1611. procedure vDSP_vdpsp( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdpsp';
  1612. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1613. { Vector convert single-precision to double-precision.}
  1614. {
  1615. * vDSP_vspdp()
  1616. *
  1617. * Availability:
  1618. * Mac OS X: in version 10.4 and later in vecLib.framework
  1619. * CarbonLib: not available
  1620. * Non-Carbon CFM: not available
  1621. }
  1622. procedure vDSP_vspdp( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vspdp';
  1623. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1624. { Vector absolute value, integer.}
  1625. {
  1626. * vDSP_vabsi()
  1627. *
  1628. * Availability:
  1629. * Mac OS X: in version 10.4 and later in vecLib.framework
  1630. * CarbonLib: not available
  1631. * Non-Carbon CFM: not available
  1632. }
  1633. procedure vDSP_vabsi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vabsi';
  1634. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1635. { Vector (bit-wise) equivalence (not (A xor B)), integer.}
  1636. {
  1637. * vDSP_veqvi()
  1638. *
  1639. * Availability:
  1640. * Mac OS X: in version 10.4 and later in vecLib.framework
  1641. * CarbonLib: not available
  1642. * Non-Carbon CFM: not available
  1643. }
  1644. procedure vDSP_veqvi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: SInt32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_veqvi';
  1645. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1646. { Vector divide, integer.}
  1647. {
  1648. * vDSP_vdivi()
  1649. *
  1650. * Availability:
  1651. * Mac OS X: in version 10.4 and later in vecLib.framework
  1652. * CarbonLib: not available
  1653. * Non-Carbon CFM: not available
  1654. }
  1655. procedure vDSP_vdivi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: SInt32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdivi';
  1656. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1657. { Vector fill, integer.}
  1658. {
  1659. * vDSP_vfilli()
  1660. *
  1661. * Availability:
  1662. * Mac OS X: in version 10.4 and later in vecLib.framework
  1663. * CarbonLib: not available
  1664. * Non-Carbon CFM: not available
  1665. }
  1666. procedure vDSP_vfilli( __vDSP_A: SInt32Ptr; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfilli';
  1667. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1668. { Vector-scalar add, integer.}
  1669. {
  1670. * vDSP_vsaddi()
  1671. *
  1672. * Availability:
  1673. * Mac OS X: in version 10.4 and later in vecLib.framework
  1674. * CarbonLib: not available
  1675. * Non-Carbon CFM: not available
  1676. }
  1677. procedure vDSP_vsaddi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: SInt32Ptr; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsaddi';
  1678. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1679. { Vector-scalar divide, integer.}
  1680. {
  1681. * vDSP_vsdivi()
  1682. *
  1683. * Availability:
  1684. * Mac OS X: in version 10.4 and later in vecLib.framework
  1685. * CarbonLib: not available
  1686. * Non-Carbon CFM: not available
  1687. }
  1688. procedure vDSP_vsdivi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: SInt32Ptr; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsdivi';
  1689. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1690. { Complex-split accumulating autospectrum, single-precision.}
  1691. {
  1692. * vDSP_zaspec()
  1693. *
  1694. * Availability:
  1695. * Mac OS X: in version 10.4 and later in vecLib.framework
  1696. * CarbonLib: not available
  1697. * Non-Carbon CFM: not available
  1698. }
  1699. procedure vDSP_zaspec( __vDSP_A: DSPSplitComplexPtr; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zaspec';
  1700. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1701. { Complex-split accumulating autospectrum, double-precision.}
  1702. {
  1703. * vDSP_zaspecD()
  1704. *
  1705. * Availability:
  1706. * Mac OS X: in version 10.4 and later in vecLib.framework
  1707. * CarbonLib: not available
  1708. * Non-Carbon CFM: not available
  1709. }
  1710. procedure vDSP_zaspecD( var A: DSPDoubleSplitComplex; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zaspecD';
  1711. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1712. { Create Blackman window, single-precision.}
  1713. {
  1714. * vDSP_blkman_window()
  1715. *
  1716. * Availability:
  1717. * Mac OS X: in version 10.4 and later in vecLib.framework
  1718. * CarbonLib: not available
  1719. * Non-Carbon CFM: not available
  1720. }
  1721. procedure vDSP_blkman_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_blkman_window';
  1722. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1723. { Create Blackman window, double-precision.}
  1724. {
  1725. * vDSP_blkman_windowD()
  1726. *
  1727. * Availability:
  1728. * Mac OS X: in version 10.4 and later in vecLib.framework
  1729. * CarbonLib: not available
  1730. * Non-Carbon CFM: not available
  1731. }
  1732. procedure vDSP_blkman_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_blkman_windowD';
  1733. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1734. { Complex-split coherence function, single-precision.}
  1735. {
  1736. * vDSP_zcoher()
  1737. *
  1738. * Availability:
  1739. * Mac OS X: in version 10.4 and later in vecLib.framework
  1740. * CarbonLib: not available
  1741. * Non-Carbon CFM: not available
  1742. }
  1743. procedure vDSP_zcoher( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: DSPSplitComplexPtr; __vDSP_D: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcoher';
  1744. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1745. { Complex-split coherence function, double-precision.}
  1746. {
  1747. * vDSP_zcoherD()
  1748. *
  1749. * Availability:
  1750. * Mac OS X: in version 10.4 and later in vecLib.framework
  1751. * CarbonLib: not available
  1752. * Non-Carbon CFM: not available
  1753. }
  1754. procedure vDSP_zcoherD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_D: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcoherD';
  1755. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1756. { Complex-split anti-aliasing down-sample with real filter, single-precision.}
  1757. {
  1758. * vDSP_zrdesamp()
  1759. *
  1760. * Availability:
  1761. * Mac OS X: in version 10.4 and later in vecLib.framework
  1762. * CarbonLib: not available
  1763. * Non-Carbon CFM: not available
  1764. }
  1765. procedure vDSP_zrdesamp( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: DSPSplitComplexPtr; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_zrdesamp';
  1766. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1767. { Complex-split anti-aliasing down-sample with real filter, double-precision.}
  1768. {
  1769. * vDSP_zrdesampD()
  1770. *
  1771. * Availability:
  1772. * Mac OS X: in version 10.4 and later in vecLib.framework
  1773. * CarbonLib: not available
  1774. * Non-Carbon CFM: not available
  1775. }
  1776. procedure vDSP_zrdesampD( var A: DSPDoubleSplitComplex; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_zrdesampD';
  1777. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1778. { Vector complex-split divide by real, single-precision.}
  1779. {
  1780. * vDSP_zrvdiv()
  1781. *
  1782. * Availability:
  1783. * Mac OS X: in version 10.4 and later in vecLib.framework
  1784. * CarbonLib: not available
  1785. * Non-Carbon CFM: not available
  1786. }
  1787. procedure vDSP_zrvdiv( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zrvdiv';
  1788. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1789. { Vector complex-split divide by real, double-precision.}
  1790. {
  1791. * vDSP_zrvdivD()
  1792. *
  1793. * Availability:
  1794. * Mac OS X: in version 10.4 and later in vecLib.framework
  1795. * CarbonLib: not available
  1796. * Non-Carbon CFM: not available
  1797. }
  1798. procedure vDSP_zrvdivD( var A: DSPDoubleSplitComplex; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zrvdivD';
  1799. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1800. { Transfer function (B/A), single-precision.}
  1801. {
  1802. * vDSP_ztrans()
  1803. *
  1804. * Availability:
  1805. * Mac OS X: in version 10.4 and later in vecLib.framework
  1806. * CarbonLib: not available
  1807. * Non-Carbon CFM: not available
  1808. }
  1809. procedure vDSP_ztrans( __vDSP_A: Float32Ptr; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_ztrans';
  1810. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1811. { Transfer function (B/A), double-precision.}
  1812. {
  1813. * vDSP_ztransD()
  1814. *
  1815. * Availability:
  1816. * Mac OS X: in version 10.4 and later in vecLib.framework
  1817. * CarbonLib: not available
  1818. * Non-Carbon CFM: not available
  1819. }
  1820. procedure vDSP_ztransD( __vDSP_A: Float64Ptr; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_ztransD';
  1821. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1822. { Complex-split vector divide, single-precision.}
  1823. {
  1824. * vDSP_zvdiv()
  1825. *
  1826. * Availability:
  1827. * Mac OS X: in version 10.4 and later in vecLib.framework
  1828. * CarbonLib: not available
  1829. * Non-Carbon CFM: not available
  1830. }
  1831. procedure vDSP_zvdiv( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPSplitComplexPtr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvdiv';
  1832. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1833. { Complex-split vector divide, double-precision.}
  1834. {
  1835. * vDSP_zvdivD()
  1836. *
  1837. * Availability:
  1838. * Mac OS X: in version 10.4 and later in vecLib.framework
  1839. * CarbonLib: not available
  1840. * Non-Carbon CFM: not available
  1841. }
  1842. procedure vDSP_zvdivD( var A: DSPDoubleSplitComplex; __vDSP_I: vDSP_Stride; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvdivD';
  1843. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1844. { Complex-split accumulating cross-spectrum, single-precision.}
  1845. {
  1846. * vDSP_zcspec()
  1847. *
  1848. * Availability:
  1849. * Mac OS X: in version 10.4 and later in vecLib.framework
  1850. * CarbonLib: not available
  1851. * Non-Carbon CFM: not available
  1852. }
  1853. procedure vDSP_zcspec( __vDSP_A: DSPSplitComplexPtr; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcspec';
  1854. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1855. { Complex-split accumulating cross-spectrum, double-precision.}
  1856. {
  1857. * vDSP_zcspecD()
  1858. *
  1859. * Availability:
  1860. * Mac OS X: in version 10.4 and later in vecLib.framework
  1861. * CarbonLib: not available
  1862. * Non-Carbon CFM: not available
  1863. }
  1864. procedure vDSP_zcspecD( var A: DSPDoubleSplitComplex; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcspecD';
  1865. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1866. { Complex-split vector absolute value, single-precision.}
  1867. {
  1868. * vDSP_zvabs()
  1869. *
  1870. * Availability:
  1871. * Mac OS X: in version 10.4 and later in vecLib.framework
  1872. * CarbonLib: not available
  1873. * Non-Carbon CFM: not available
  1874. }
  1875. procedure vDSP_zvabs( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvabs';
  1876. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1877. { Complex-split vector absolute value, double-precision.}
  1878. {
  1879. * vDSP_zvabsD()
  1880. *
  1881. * Availability:
  1882. * Mac OS X: in version 10.4 and later in vecLib.framework
  1883. * CarbonLib: not available
  1884. * Non-Carbon CFM: not available
  1885. }
  1886. procedure vDSP_zvabsD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvabsD';
  1887. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1888. { Complex-split vector conjugate and multiply, single-precision.}
  1889. {
  1890. * vDSP_zvcmul()
  1891. *
  1892. * Availability:
  1893. * Mac OS X: in version 10.4 and later in vecLib.framework
  1894. * CarbonLib: not available
  1895. * Non-Carbon CFM: not available
  1896. }
  1897. procedure vDSP_zvcmul( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPSplitComplexPtr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvcmul';
  1898. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1899. { Complex-split vector conjugate and multiply, double-precision.}
  1900. {
  1901. * vDSP_zvcmulD()
  1902. *
  1903. * Availability:
  1904. * Mac OS X: in version 10.4 and later in vecLib.framework
  1905. * CarbonLib: not available
  1906. * Non-Carbon CFM: not available
  1907. }
  1908. procedure vDSP_zvcmulD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_J: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvcmulD';
  1909. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1910. { Complex-split vector conjugate, single-precision.}
  1911. {
  1912. * vDSP_zvconj()
  1913. *
  1914. * Availability:
  1915. * Mac OS X: in version 10.4 and later in vecLib.framework
  1916. * CarbonLib: not available
  1917. * Non-Carbon CFM: not available
  1918. }
  1919. procedure vDSP_zvconj( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvconj';
  1920. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1921. { Complex-split vector conjugate, double-precision.}
  1922. {
  1923. * vDSP_zvconjD()
  1924. *
  1925. * Availability:
  1926. * Mac OS X: in version 10.4 and later in vecLib.framework
  1927. * CarbonLib: not available
  1928. * Non-Carbon CFM: not available
  1929. }
  1930. procedure vDSP_zvconjD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvconjD';
  1931. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1932. { Complex-split vector multiply with scalar, single-precision.}
  1933. {
  1934. * vDSP_zvzsml()
  1935. *
  1936. * Availability:
  1937. * Mac OS X: in version 10.4 and later in vecLib.framework
  1938. * CarbonLib: not available
  1939. * Non-Carbon CFM: not available
  1940. }
  1941. procedure vDSP_zvzsml( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvzsml';
  1942. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1943. { Complex-split vector multiply with scalar, double-precision.}
  1944. {
  1945. * vDSP_zvzsmlD()
  1946. *
  1947. * Availability:
  1948. * Mac OS X: in version 10.4 and later in vecLib.framework
  1949. * CarbonLib: not available
  1950. * Non-Carbon CFM: not available
  1951. }
  1952. procedure vDSP_zvzsmlD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvzsmlD';
  1953. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1954. { Complex-split vector fill, single-precision.}
  1955. {
  1956. * vDSP_zvfill()
  1957. *
  1958. * Availability:
  1959. * Mac OS X: in version 10.4 and later in vecLib.framework
  1960. * CarbonLib: not available
  1961. * Non-Carbon CFM: not available
  1962. }
  1963. procedure vDSP_zvfill( __vDSP_A: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvfill';
  1964. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1965. { Complex-split vector fill, double-precision.}
  1966. {
  1967. * vDSP_zvfillD()
  1968. *
  1969. * Availability:
  1970. * Mac OS X: in version 10.4 and later in vecLib.framework
  1971. * CarbonLib: not available
  1972. * Non-Carbon CFM: not available
  1973. }
  1974. procedure vDSP_zvfillD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvfillD';
  1975. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1976. { Complex-split vector magnitudes squared, single-precision.}
  1977. {
  1978. * vDSP_zvmags()
  1979. *
  1980. * Availability:
  1981. * Mac OS X: in version 10.4 and later in vecLib.framework
  1982. * CarbonLib: not available
  1983. * Non-Carbon CFM: not available
  1984. }
  1985. procedure vDSP_zvmags( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmags';
  1986. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1987. { Complex-split vector magnitudes squared, double-precision.}
  1988. {
  1989. * vDSP_zvmagsD()
  1990. *
  1991. * Availability:
  1992. * Mac OS X: in version 10.4 and later in vecLib.framework
  1993. * CarbonLib: not available
  1994. * Non-Carbon CFM: not available
  1995. }
  1996. procedure vDSP_zvmagsD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmagsD';
  1997. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  1998. { Complex-split vector magnitudes square and add, single-precision.}
  1999. {
  2000. * vDSP_zvmgsa()
  2001. *
  2002. * Availability:
  2003. * Mac OS X: in version 10.4 and later in vecLib.framework
  2004. * CarbonLib: not available
  2005. * Non-Carbon CFM: not available
  2006. }
  2007. procedure vDSP_zvmgsa( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmgsa';
  2008. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2009. { Complex-split vector magnitudes square and add, double-precision.}
  2010. {
  2011. * vDSP_zvmgsaD()
  2012. *
  2013. * Availability:
  2014. * Mac OS X: in version 10.4 and later in vecLib.framework
  2015. * CarbonLib: not available
  2016. * Non-Carbon CFM: not available
  2017. }
  2018. procedure vDSP_zvmgsaD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmgsaD';
  2019. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2020. { Complex-split vector move, single-precision.}
  2021. {
  2022. * vDSP_zvmov()
  2023. *
  2024. * Availability:
  2025. * Mac OS X: in version 10.4 and later in vecLib.framework
  2026. * CarbonLib: not available
  2027. * Non-Carbon CFM: not available
  2028. }
  2029. procedure vDSP_zvmov( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmov';
  2030. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2031. { Complex-split vector move, double-precision.}
  2032. {
  2033. * vDSP_zvmovD()
  2034. *
  2035. * Availability:
  2036. * Mac OS X: in version 10.4 and later in vecLib.framework
  2037. * CarbonLib: not available
  2038. * Non-Carbon CFM: not available
  2039. }
  2040. procedure vDSP_zvmovD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmovD';
  2041. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2042. { Complex-split vector negate, single-precision.}
  2043. {
  2044. * vDSP_zvneg()
  2045. *
  2046. * Availability:
  2047. * Mac OS X: in version 10.4 and later in vecLib.framework
  2048. * CarbonLib: not available
  2049. * Non-Carbon CFM: not available
  2050. }
  2051. procedure vDSP_zvneg( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvneg';
  2052. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2053. { Complex-split vector negate, double-precision.}
  2054. {
  2055. * vDSP_zvnegD()
  2056. *
  2057. * Availability:
  2058. * Mac OS X: in version 10.4 and later in vecLib.framework
  2059. * CarbonLib: not available
  2060. * Non-Carbon CFM: not available
  2061. }
  2062. procedure vDSP_zvnegD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvnegD';
  2063. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2064. { Complex-split vector phase, single-precision.}
  2065. {
  2066. * vDSP_zvphas()
  2067. *
  2068. * Availability:
  2069. * Mac OS X: in version 10.4 and later in vecLib.framework
  2070. * CarbonLib: not available
  2071. * Non-Carbon CFM: not available
  2072. }
  2073. procedure vDSP_zvphas( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvphas';
  2074. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2075. { Complex-split vector phase, double-precision.}
  2076. {
  2077. * vDSP_zvphasD()
  2078. *
  2079. * Availability:
  2080. * Mac OS X: in version 10.4 and later in vecLib.framework
  2081. * CarbonLib: not available
  2082. * Non-Carbon CFM: not available
  2083. }
  2084. procedure vDSP_zvphasD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvphasD';
  2085. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2086. { Complex-split vector multiply by scalar and add, single-precision.}
  2087. {
  2088. * vDSP_zvsma()
  2089. *
  2090. * Availability:
  2091. * Mac OS X: in version 10.4 and later in vecLib.framework
  2092. * CarbonLib: not available
  2093. * Non-Carbon CFM: not available
  2094. }
  2095. procedure vDSP_zvsma( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_D: DSPSplitComplexPtr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvsma';
  2096. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2097. { Complex-split vector multiply by scalar and add, double-precision.}
  2098. {
  2099. * vDSP_zvsmaD()
  2100. *
  2101. * Availability:
  2102. * Mac OS X: in version 10.4 and later in vecLib.framework
  2103. * CarbonLib: not available
  2104. * Non-Carbon CFM: not available
  2105. }
  2106. procedure vDSP_zvsmaD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_D: DSPDoubleSplitComplexPtr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvsmaD';
  2107. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2108. { Difference equation, 2 poles, 2 zeros, single-precision.}
  2109. {
  2110. * vDSP_deq22()
  2111. *
  2112. * Availability:
  2113. * Mac OS X: in version 10.4 and later in vecLib.framework
  2114. * CarbonLib: not available
  2115. * Non-Carbon CFM: not available
  2116. }
  2117. procedure vDSP_deq22( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_deq22';
  2118. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2119. { Difference equation, 2 poles, 2 zeros, double-precision.}
  2120. {
  2121. * vDSP_deq22D()
  2122. *
  2123. * Availability:
  2124. * Mac OS X: in version 10.4 and later in vecLib.framework
  2125. * CarbonLib: not available
  2126. * Non-Carbon CFM: not available
  2127. }
  2128. procedure vDSP_deq22D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_deq22D';
  2129. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2130. { Convolution with decimation (desampling), single-precision.}
  2131. {
  2132. * vDSP_desamp()
  2133. *
  2134. * Availability:
  2135. * Mac OS X: in version 10.4 and later in vecLib.framework
  2136. * CarbonLib: not available
  2137. * Non-Carbon CFM: not available
  2138. }
  2139. procedure vDSP_desamp( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_desamp';
  2140. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2141. { Convolution with decimation (desampling), double-precision.}
  2142. {
  2143. * vDSP_desampD()
  2144. *
  2145. * Availability:
  2146. * Mac OS X: in version 10.4 and later in vecLib.framework
  2147. * CarbonLib: not available
  2148. * Non-Carbon CFM: not available
  2149. }
  2150. procedure vDSP_desampD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_desampD';
  2151. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2152. { Create Hamming window, single-precision.}
  2153. {
  2154. * vDSP_hamm_window()
  2155. *
  2156. * Availability:
  2157. * Mac OS X: in version 10.4 and later in vecLib.framework
  2158. * CarbonLib: not available
  2159. * Non-Carbon CFM: not available
  2160. }
  2161. procedure vDSP_hamm_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hamm_window';
  2162. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2163. { Create Hamming window, double-precision.}
  2164. {
  2165. * vDSP_hamm_windowD()
  2166. *
  2167. * Availability:
  2168. * Mac OS X: in version 10.4 and later in vecLib.framework
  2169. * CarbonLib: not available
  2170. * Non-Carbon CFM: not available
  2171. }
  2172. procedure vDSP_hamm_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hamm_windowD';
  2173. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2174. { Create Hanning window, single-precision.}
  2175. {
  2176. * vDSP_hann_window()
  2177. *
  2178. * Availability:
  2179. * Mac OS X: in version 10.4 and later in vecLib.framework
  2180. * CarbonLib: not available
  2181. * Non-Carbon CFM: not available
  2182. }
  2183. procedure vDSP_hann_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hann_window';
  2184. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2185. { Create Hanning window, double-precision.}
  2186. {
  2187. * vDSP_hann_windowD()
  2188. *
  2189. * Availability:
  2190. * Mac OS X: in version 10.4 and later in vecLib.framework
  2191. * CarbonLib: not available
  2192. * Non-Carbon CFM: not available
  2193. }
  2194. procedure vDSP_hann_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hann_windowD';
  2195. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2196. { Maximum magnitude of vector, single-precision.}
  2197. {
  2198. * vDSP_maxmgv()
  2199. *
  2200. * Availability:
  2201. * Mac OS X: in version 10.4 and later in vecLib.framework
  2202. * CarbonLib: not available
  2203. * Non-Carbon CFM: not available
  2204. }
  2205. procedure vDSP_maxmgv( const __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgv';
  2206. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2207. { Maximum magnitude of vector, double-precision.}
  2208. {
  2209. * vDSP_maxmgvD()
  2210. *
  2211. * Availability:
  2212. * Mac OS X: in version 10.4 and later in vecLib.framework
  2213. * CarbonLib: not available
  2214. * Non-Carbon CFM: not available
  2215. }
  2216. procedure vDSP_maxmgvD( const __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgvD';
  2217. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2218. { Maximum magnitude of vector, with index, single-precision.}
  2219. {
  2220. * vDSP_maxmgvi()
  2221. *
  2222. * Availability:
  2223. * Mac OS X: in version 10.4 and later in vecLib.framework
  2224. * CarbonLib: not available
  2225. * Non-Carbon CFM: not available
  2226. }
  2227. procedure vDSP_maxmgvi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgvi';
  2228. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2229. { Maximum magnitude of vector, with index, double-precision.}
  2230. {
  2231. * vDSP_maxmgviD()
  2232. *
  2233. * Availability:
  2234. * Mac OS X: in version 10.4 and later in vecLib.framework
  2235. * CarbonLib: not available
  2236. * Non-Carbon CFM: not available
  2237. }
  2238. procedure vDSP_maxmgviD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgviD';
  2239. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2240. { Maximum value of vector, single-precision.}
  2241. {
  2242. * vDSP_maxv()
  2243. *
  2244. * Availability:
  2245. * Mac OS X: in version 10.4 and later in vecLib.framework
  2246. * CarbonLib: not available
  2247. * Non-Carbon CFM: not available
  2248. }
  2249. procedure vDSP_maxv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxv';
  2250. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2251. { Maximum value of vector, double-precision.}
  2252. {
  2253. * vDSP_maxvD()
  2254. *
  2255. * Availability:
  2256. * Mac OS X: in version 10.4 and later in vecLib.framework
  2257. * CarbonLib: not available
  2258. * Non-Carbon CFM: not available
  2259. }
  2260. procedure vDSP_maxvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxvD';
  2261. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2262. { Maximum value of vector, with index, single-precision.}
  2263. {
  2264. * vDSP_maxvi()
  2265. *
  2266. * Availability:
  2267. * Mac OS X: in version 10.4 and later in vecLib.framework
  2268. * CarbonLib: not available
  2269. * Non-Carbon CFM: not available
  2270. }
  2271. procedure vDSP_maxvi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_maxvi';
  2272. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2273. { Maximum value of vector, with index, double-precision.}
  2274. {
  2275. * vDSP_maxviD()
  2276. *
  2277. * Availability:
  2278. * Mac OS X: in version 10.4 and later in vecLib.framework
  2279. * CarbonLib: not available
  2280. * Non-Carbon CFM: not available
  2281. }
  2282. procedure vDSP_maxviD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_maxviD';
  2283. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2284. { Mean magnitude of vector, single-precision.}
  2285. {
  2286. * vDSP_meamgv()
  2287. *
  2288. * Availability:
  2289. * Mac OS X: in version 10.4 and later in vecLib.framework
  2290. * CarbonLib: not available
  2291. * Non-Carbon CFM: not available
  2292. }
  2293. procedure vDSP_meamgv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meamgv';
  2294. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2295. { Mean magnitude of vector, double-precision.}
  2296. {
  2297. * vDSP_meamgvD()
  2298. *
  2299. * Availability:
  2300. * Mac OS X: in version 10.4 and later in vecLib.framework
  2301. * CarbonLib: not available
  2302. * Non-Carbon CFM: not available
  2303. }
  2304. procedure vDSP_meamgvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meamgvD';
  2305. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2306. { Mean of vector, single-precision.}
  2307. {
  2308. * vDSP_meanv()
  2309. *
  2310. * Availability:
  2311. * Mac OS X: in version 10.4 and later in vecLib.framework
  2312. * CarbonLib: not available
  2313. * Non-Carbon CFM: not available
  2314. }
  2315. procedure vDSP_meanv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meanv';
  2316. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2317. { Mean of vector, double-precision.}
  2318. {
  2319. * vDSP_meanvD()
  2320. *
  2321. * Availability:
  2322. * Mac OS X: in version 10.4 and later in vecLib.framework
  2323. * CarbonLib: not available
  2324. * Non-Carbon CFM: not available
  2325. }
  2326. procedure vDSP_meanvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meanvD';
  2327. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2328. { Mean square of vector, single-precision.}
  2329. {
  2330. * vDSP_measqv()
  2331. *
  2332. * Availability:
  2333. * Mac OS X: in version 10.4 and later in vecLib.framework
  2334. * CarbonLib: not available
  2335. * Non-Carbon CFM: not available
  2336. }
  2337. procedure vDSP_measqv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_measqv';
  2338. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2339. { Mean square of vector, double-precision.}
  2340. {
  2341. * vDSP_measqvD()
  2342. *
  2343. * Availability:
  2344. * Mac OS X: in version 10.4 and later in vecLib.framework
  2345. * CarbonLib: not available
  2346. * Non-Carbon CFM: not available
  2347. }
  2348. procedure vDSP_measqvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_measqvD';
  2349. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2350. { Minimum magnitude of vector, single-precision.}
  2351. {
  2352. * vDSP_minmgv()
  2353. *
  2354. * Availability:
  2355. * Mac OS X: in version 10.4 and later in vecLib.framework
  2356. * CarbonLib: not available
  2357. * Non-Carbon CFM: not available
  2358. }
  2359. procedure vDSP_minmgv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgv';
  2360. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2361. { Minimum magnitude of vector, double-precision.}
  2362. {
  2363. * vDSP_minmgvD()
  2364. *
  2365. * Availability:
  2366. * Mac OS X: in version 10.4 and later in vecLib.framework
  2367. * CarbonLib: not available
  2368. * Non-Carbon CFM: not available
  2369. }
  2370. procedure vDSP_minmgvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgvD';
  2371. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2372. { Minimum magnitude of vector, with index, single-precision.}
  2373. {
  2374. * vDSP_minmgvi()
  2375. *
  2376. * Availability:
  2377. * Mac OS X: in version 10.4 and later in vecLib.framework
  2378. * CarbonLib: not available
  2379. * Non-Carbon CFM: not available
  2380. }
  2381. procedure vDSP_minmgvi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgvi';
  2382. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2383. { Minimum magnitude of vector, with index, double-precision.}
  2384. {
  2385. * vDSP_minmgviD()
  2386. *
  2387. * Availability:
  2388. * Mac OS X: in version 10.4 and later in vecLib.framework
  2389. * CarbonLib: not available
  2390. * Non-Carbon CFM: not available
  2391. }
  2392. procedure vDSP_minmgviD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgviD';
  2393. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2394. { Minimum value of vector, single-precision.}
  2395. {
  2396. * vDSP_minv()
  2397. *
  2398. * Availability:
  2399. * Mac OS X: in version 10.4 and later in vecLib.framework
  2400. * CarbonLib: not available
  2401. * Non-Carbon CFM: not available
  2402. }
  2403. procedure vDSP_minv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minv';
  2404. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2405. { Minimum value of vector, double-precision.}
  2406. {
  2407. * vDSP_minvD()
  2408. *
  2409. * Availability:
  2410. * Mac OS X: in version 10.4 and later in vecLib.framework
  2411. * CarbonLib: not available
  2412. * Non-Carbon CFM: not available
  2413. }
  2414. procedure vDSP_minvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minvD';
  2415. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2416. { Minimum value of vector, with index, single-precision.}
  2417. {
  2418. * vDSP_minvi()
  2419. *
  2420. * Availability:
  2421. * Mac OS X: in version 10.4 and later in vecLib.framework
  2422. * CarbonLib: not available
  2423. * Non-Carbon CFM: not available
  2424. }
  2425. procedure vDSP_minvi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_minvi';
  2426. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2427. { Minimum value of vector, with index, double-precision.}
  2428. {
  2429. * vDSP_minviD()
  2430. *
  2431. * Availability:
  2432. * Mac OS X: in version 10.4 and later in vecLib.framework
  2433. * CarbonLib: not available
  2434. * Non-Carbon CFM: not available
  2435. }
  2436. procedure vDSP_minviD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_minviD';
  2437. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2438. { Matrix move, single-precision.}
  2439. {
  2440. * vDSP_mmov()
  2441. *
  2442. * Availability:
  2443. * Mac OS X: in version 10.4 and later in vecLib.framework
  2444. * CarbonLib: not available
  2445. * Non-Carbon CFM: not available
  2446. }
  2447. procedure vDSP_mmov( __vDSP_A: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_NC: vDSP_Length; __vDSP_NR: vDSP_Length; __vDSP_TCA: vDSP_Length; __vDSP_TCC: vDSP_Length ); external name '_vDSP_mmov';
  2448. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2449. { Matrix move, double-precision.}
  2450. {
  2451. * vDSP_mmovD()
  2452. *
  2453. * Availability:
  2454. * Mac OS X: in version 10.4 and later in vecLib.framework
  2455. * CarbonLib: not available
  2456. * Non-Carbon CFM: not available
  2457. }
  2458. procedure vDSP_mmovD( __vDSP_A: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_NC: vDSP_Length; __vDSP_NR: vDSP_Length; __vDSP_TCA: vDSP_Length; __vDSP_TCC: vDSP_Length ); external name '_vDSP_mmovD';
  2459. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2460. { Mean of signed squares of vector, single-precision.}
  2461. {
  2462. * vDSP_mvessq()
  2463. *
  2464. * Availability:
  2465. * Mac OS X: in version 10.4 and later in vecLib.framework
  2466. * CarbonLib: not available
  2467. * Non-Carbon CFM: not available
  2468. }
  2469. procedure vDSP_mvessq( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_mvessq';
  2470. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2471. { Mean of signed squares of vector, double-precision.}
  2472. {
  2473. * vDSP_mvessqD()
  2474. *
  2475. * Availability:
  2476. * Mac OS X: in version 10.4 and later in vecLib.framework
  2477. * CarbonLib: not available
  2478. * Non-Carbon CFM: not available
  2479. }
  2480. procedure vDSP_mvessqD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_mvessqD';
  2481. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2482. { Find zero crossing, single-precision.}
  2483. {
  2484. * vDSP_nzcros()
  2485. *
  2486. * Availability:
  2487. * Mac OS X: in version 10.4 and later in vecLib.framework
  2488. * CarbonLib: not available
  2489. * Non-Carbon CFM: not available
  2490. }
  2491. procedure vDSP_nzcros( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: vDSP_Length; var __vDSP_C: vDSP_Length; var __vDSP_D: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_nzcros';
  2492. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2493. { Find zero crossing, double-precision.}
  2494. {
  2495. * vDSP_nzcrosD()
  2496. *
  2497. * Availability:
  2498. * Mac OS X: in version 10.4 and later in vecLib.framework
  2499. * CarbonLib: not available
  2500. * Non-Carbon CFM: not available
  2501. }
  2502. procedure vDSP_nzcrosD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: vDSP_Length; var __vDSP_C: vDSP_Length; var __vDSP_D: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_nzcrosD';
  2503. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2504. { Convert rectangular to polar, single-precision.}
  2505. {
  2506. * vDSP_polar()
  2507. *
  2508. * Availability:
  2509. * Mac OS X: in version 10.4 and later in vecLib.framework
  2510. * CarbonLib: not available
  2511. * Non-Carbon CFM: not available
  2512. }
  2513. procedure vDSP_polar( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_polar';
  2514. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2515. { Convert rectangular to polar, double-precision.}
  2516. {
  2517. * vDSP_polarD()
  2518. *
  2519. * Availability:
  2520. * Mac OS X: in version 10.4 and later in vecLib.framework
  2521. * CarbonLib: not available
  2522. * Non-Carbon CFM: not available
  2523. }
  2524. procedure vDSP_polarD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_polarD';
  2525. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2526. { Convert polar to rectangular, single-precision.}
  2527. {
  2528. * vDSP_rect()
  2529. *
  2530. * Availability:
  2531. * Mac OS X: in version 10.4 and later in vecLib.framework
  2532. * CarbonLib: not available
  2533. * Non-Carbon CFM: not available
  2534. }
  2535. procedure vDSP_rect( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_rect';
  2536. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2537. { Convert polar to rectangular, double-precision.}
  2538. {
  2539. * vDSP_rectD()
  2540. *
  2541. * Availability:
  2542. * Mac OS X: in version 10.4 and later in vecLib.framework
  2543. * CarbonLib: not available
  2544. * Non-Carbon CFM: not available
  2545. }
  2546. procedure vDSP_rectD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_rectD';
  2547. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2548. { Root-mean-square of vector, single-precision.}
  2549. {
  2550. * vDSP_rmsqv()
  2551. *
  2552. * Availability:
  2553. * Mac OS X: in version 10.4 and later in vecLib.framework
  2554. * CarbonLib: not available
  2555. * Non-Carbon CFM: not available
  2556. }
  2557. procedure vDSP_rmsqv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_rmsqv';
  2558. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2559. { Root-mean-square of vector, double-precision.}
  2560. {
  2561. * vDSP_rmsqvD()
  2562. *
  2563. * Availability:
  2564. * Mac OS X: in version 10.4 and later in vecLib.framework
  2565. * CarbonLib: not available
  2566. * Non-Carbon CFM: not available
  2567. }
  2568. procedure vDSP_rmsqvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_rmsqvD';
  2569. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2570. { Scalar-vector divide, single-precision.}
  2571. {
  2572. * vDSP_svdiv()
  2573. *
  2574. * Availability:
  2575. * Mac OS X: in version 10.4 and later in vecLib.framework
  2576. * CarbonLib: not available
  2577. * Non-Carbon CFM: not available
  2578. }
  2579. procedure vDSP_svdiv( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_svdiv';
  2580. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2581. { Scalar-vector divide, double-precision.}
  2582. {
  2583. * vDSP_svdivD()
  2584. *
  2585. * Availability:
  2586. * Mac OS X: in version 10.4 and later in vecLib.framework
  2587. * CarbonLib: not available
  2588. * Non-Carbon CFM: not available
  2589. }
  2590. procedure vDSP_svdivD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_svdivD';
  2591. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2592. { Sum of vector elements, single-precision.}
  2593. {
  2594. * vDSP_sve()
  2595. *
  2596. * Availability:
  2597. * Mac OS X: in version 10.4 and later in vecLib.framework
  2598. * CarbonLib: not available
  2599. * Non-Carbon CFM: not available
  2600. }
  2601. procedure vDSP_sve( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_sve';
  2602. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2603. { Sum of vector elements, double-precision.}
  2604. {
  2605. * vDSP_sveD()
  2606. *
  2607. * Availability:
  2608. * Mac OS X: in version 10.4 and later in vecLib.framework
  2609. * CarbonLib: not available
  2610. * Non-Carbon CFM: not available
  2611. }
  2612. procedure vDSP_sveD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_sveD';
  2613. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2614. { Sum of vector elements magnitudes, single-precision.}
  2615. {
  2616. * vDSP_svemg()
  2617. *
  2618. * Availability:
  2619. * Mac OS X: in version 10.4 and later in vecLib.framework
  2620. * CarbonLib: not available
  2621. * Non-Carbon CFM: not available
  2622. }
  2623. procedure vDSP_svemg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svemg';
  2624. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2625. { Sum of vector elements' magnitudes, double-precision.}
  2626. {
  2627. * vDSP_svemgD()
  2628. *
  2629. * Availability:
  2630. * Mac OS X: in version 10.4 and later in vecLib.framework
  2631. * CarbonLib: not available
  2632. * Non-Carbon CFM: not available
  2633. }
  2634. procedure vDSP_svemgD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svemgD';
  2635. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2636. { Sum of vector elements' squares, single-precision.}
  2637. {
  2638. * vDSP_svesq()
  2639. *
  2640. * Availability:
  2641. * Mac OS X: in version 10.4 and later in vecLib.framework
  2642. * CarbonLib: not available
  2643. * Non-Carbon CFM: not available
  2644. }
  2645. procedure vDSP_svesq( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svesq';
  2646. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2647. { Sum of vector elements' squares, double-precision.}
  2648. {
  2649. * vDSP_svesqD()
  2650. *
  2651. * Availability:
  2652. * Mac OS X: in version 10.4 and later in vecLib.framework
  2653. * CarbonLib: not available
  2654. * Non-Carbon CFM: not available
  2655. }
  2656. procedure vDSP_svesqD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svesqD';
  2657. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2658. {$ifc TARGET_OS_MAC}
  2659. { Sum of vector elements and sum of vector elements' squares,
  2660. * single-precision.
  2661. *
  2662. * vDSP_sve_svesq()
  2663. }
  2664. procedure vDSP_sve_svesq( {const} __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; var __vDSP_Sum: Float32; var __vDSP_SumOfSquares: Float32; __vDSP_N: vDSP_Length ); external name '_vDSP_sve_svesq';
  2665. (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
  2666. { Sum of vector elements and sum of vector elements' squares,
  2667. * double-precision.
  2668. *
  2669. * vDSP_sve_svesqD()
  2670. }
  2671. procedure vDSP_sve_svesqD( {const} __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; var __vDSP_Sum: Float64; var __vDSP_SumOfSquares: Float64; __vDSP_N: vDSP_Length ); external name '_vDSP_sve_svesqD';
  2672. (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
  2673. { Normalize elements to zero mean and unit standard deviation,
  2674. * single-precision.
  2675. *
  2676. * vDSP_normalize()
  2677. }
  2678. procedure vDSP_normalize( {const} __vDSP_A: Float32Ptr; __vDSP_IA: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_IC: vDSP_Stride; var __vDSP_Mean: Float32; var __vDSP_StandardDeviation: Float32; __vDSP_N: vDSP_Length ); external name '_vDSP_normalize';
  2679. (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
  2680. { Normalize elements to zero mean and unit standard deviation,
  2681. * double-precision.
  2682. *
  2683. * vDSP_normalize()
  2684. }
  2685. procedure vDSP_normalizeD( {const} __vDSP_A: Float64Ptr; __vDSP_IA: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_IC: vDSP_Stride; var __vDSP_Mean: Float64; var __vDSP_StandardDeviation: Float64; __vDSP_N: vDSP_Length ); external name '_vDSP_normalizeD';
  2686. (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
  2687. {$endc} { TARGET_OS_MAC }
  2688. { Sum of vector elements' signed squares, single-precision.}
  2689. {
  2690. * vDSP_svs()
  2691. *
  2692. * Availability:
  2693. * Mac OS X: in version 10.4 and later in vecLib.framework
  2694. * CarbonLib: not available
  2695. * Non-Carbon CFM: not available
  2696. }
  2697. procedure vDSP_svs( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svs';
  2698. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2699. { Sum of vector elements' signed squares, double-precision.}
  2700. {
  2701. * vDSP_svsD()
  2702. *
  2703. * Availability:
  2704. * Mac OS X: in version 10.4 and later in vecLib.framework
  2705. * CarbonLib: not available
  2706. * Non-Carbon CFM: not available
  2707. }
  2708. procedure vDSP_svsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svsD';
  2709. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2710. { Vector add, add, and multiply, single-precision.}
  2711. {
  2712. * vDSP_vaam()
  2713. *
  2714. * Availability:
  2715. * Mac OS X: in version 10.4 and later in vecLib.framework
  2716. * CarbonLib: not available
  2717. * Non-Carbon CFM: not available
  2718. }
  2719. procedure vDSP_vaam( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vaam';
  2720. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2721. { Vector add, add, and multiply, double-precision.}
  2722. {
  2723. * vDSP_vaamD()
  2724. *
  2725. * Availability:
  2726. * Mac OS X: in version 10.4 and later in vecLib.framework
  2727. * CarbonLib: not available
  2728. * Non-Carbon CFM: not available
  2729. }
  2730. procedure vDSP_vaamD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vaamD';
  2731. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2732. { Vector absolute value, single-precision.}
  2733. {
  2734. * vDSP_vabs()
  2735. *
  2736. * Availability:
  2737. * Mac OS X: in version 10.4 and later in vecLib.framework
  2738. * CarbonLib: not available
  2739. * Non-Carbon CFM: not available
  2740. }
  2741. procedure vDSP_vabs( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vabs';
  2742. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2743. { Vector absolute value, double-precision.}
  2744. {
  2745. * vDSP_vabsD()
  2746. *
  2747. * Availability:
  2748. * Mac OS X: in version 10.4 and later in vecLib.framework
  2749. * CarbonLib: not available
  2750. * Non-Carbon CFM: not available
  2751. }
  2752. procedure vDSP_vabsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vabsD';
  2753. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2754. { Vector add, subtract, and multiply, single-precision.}
  2755. {
  2756. * vDSP_vasbm()
  2757. *
  2758. * Availability:
  2759. * Mac OS X: in version 10.4 and later in vecLib.framework
  2760. * CarbonLib: not available
  2761. * Non-Carbon CFM: not available
  2762. }
  2763. procedure vDSP_vasbm( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vasbm';
  2764. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2765. { Vector add, subtract, and multiply, double-precision.}
  2766. {
  2767. * vDSP_vasbmD()
  2768. *
  2769. * Availability:
  2770. * Mac OS X: in version 10.4 and later in vecLib.framework
  2771. * CarbonLib: not available
  2772. * Non-Carbon CFM: not available
  2773. }
  2774. procedure vDSP_vasbmD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vasbmD';
  2775. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2776. { Vector add and scalar multiply, single-precision.}
  2777. {
  2778. * vDSP_vasm()
  2779. *
  2780. * Availability:
  2781. * Mac OS X: in version 10.4 and later in vecLib.framework
  2782. * CarbonLib: not available
  2783. * Non-Carbon CFM: not available
  2784. }
  2785. procedure vDSP_vasm( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vasm';
  2786. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2787. { Vector add and scalar multiply, double-precision.}
  2788. {
  2789. * vDSP_vasmD()
  2790. *
  2791. * Availability:
  2792. * Mac OS X: in version 10.4 and later in vecLib.framework
  2793. * CarbonLib: not available
  2794. * Non-Carbon CFM: not available
  2795. }
  2796. procedure vDSP_vasmD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vasmD';
  2797. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2798. { Vector linear average, single-precision.}
  2799. {
  2800. * vDSP_vavlin()
  2801. *
  2802. * Availability:
  2803. * Mac OS X: in version 10.4 and later in vecLib.framework
  2804. * CarbonLib: not available
  2805. * Non-Carbon CFM: not available
  2806. }
  2807. procedure vDSP_vavlin( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vavlin';
  2808. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2809. { Vector linear average, double-precision.}
  2810. {
  2811. * vDSP_vavlinD()
  2812. *
  2813. * Availability:
  2814. * Mac OS X: in version 10.4 and later in vecLib.framework
  2815. * CarbonLib: not available
  2816. * Non-Carbon CFM: not available
  2817. }
  2818. procedure vDSP_vavlinD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vavlinD';
  2819. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2820. { Vector clip, single-precision.}
  2821. {
  2822. * vDSP_vclip()
  2823. *
  2824. * Availability:
  2825. * Mac OS X: in version 10.4 and later in vecLib.framework
  2826. * CarbonLib: not available
  2827. * Non-Carbon CFM: not available
  2828. }
  2829. procedure vDSP_vclip( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclip';
  2830. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2831. { Vector clip, double-precision.}
  2832. {
  2833. * vDSP_vclipD()
  2834. *
  2835. * Availability:
  2836. * Mac OS X: in version 10.4 and later in vecLib.framework
  2837. * CarbonLib: not available
  2838. * Non-Carbon CFM: not available
  2839. }
  2840. procedure vDSP_vclipD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclipD';
  2841. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2842. { Vector clip and count, single-precision.}
  2843. {
  2844. * vDSP_vclipc()
  2845. *
  2846. * Availability:
  2847. * Mac OS X: in version 10.4 and later in vecLib.framework
  2848. * CarbonLib: not available
  2849. * Non-Carbon CFM: not available
  2850. }
  2851. procedure vDSP_vclipc( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length; var __vDSP_NLOW: vDSP_Length; var __vDSP_NHI: vDSP_Length ); external name '_vDSP_vclipc';
  2852. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2853. { Vector clip and count, double-precision.}
  2854. {
  2855. * vDSP_vclipcD()
  2856. *
  2857. * Availability:
  2858. * Mac OS X: in version 10.4 and later in vecLib.framework
  2859. * CarbonLib: not available
  2860. * Non-Carbon CFM: not available
  2861. }
  2862. procedure vDSP_vclipcD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length; var __vDSP_NLOW: vDSP_Length; var __vDSP_NHI: vDSP_Length ); external name '_vDSP_vclipcD';
  2863. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2864. { Vector clear, single-precision.}
  2865. {
  2866. * vDSP_vclr()
  2867. *
  2868. * Availability:
  2869. * Mac OS X: in version 10.4 and later in vecLib.framework
  2870. * CarbonLib: not available
  2871. * Non-Carbon CFM: not available
  2872. }
  2873. procedure vDSP_vclr( __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclr';
  2874. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2875. { Vector clear, double-precision.}
  2876. {
  2877. * vDSP_vclrD()
  2878. *
  2879. * Availability:
  2880. * Mac OS X: in version 10.4 and later in vecLib.framework
  2881. * CarbonLib: not available
  2882. * Non-Carbon CFM: not available
  2883. }
  2884. procedure vDSP_vclrD( __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclrD';
  2885. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2886. { Vector compress, single-precision.}
  2887. {
  2888. * vDSP_vcmprs()
  2889. *
  2890. * Availability:
  2891. * Mac OS X: in version 10.4 and later in vecLib.framework
  2892. * CarbonLib: not available
  2893. * Non-Carbon CFM: not available
  2894. }
  2895. procedure vDSP_vcmprs( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vcmprs';
  2896. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2897. { Vector compress, double-precision.}
  2898. {
  2899. * vDSP_vcmprsD()
  2900. *
  2901. * Availability:
  2902. * Mac OS X: in version 10.4 and later in vecLib.framework
  2903. * CarbonLib: not available
  2904. * Non-Carbon CFM: not available
  2905. }
  2906. procedure vDSP_vcmprsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vcmprsD';
  2907. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2908. { Vector convert to decibels, power, or amplitude, single-precision.}
  2909. {
  2910. * vDSP_vdbcon()
  2911. *
  2912. * Availability:
  2913. * Mac OS X: in version 10.4 and later in vecLib.framework
  2914. * CarbonLib: not available
  2915. * Non-Carbon CFM: not available
  2916. }
  2917. procedure vDSP_vdbcon( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_F: UInt32 ); external name '_vDSP_vdbcon';
  2918. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2919. { Vector convert to decibels, power, or amplitude, double-precision.}
  2920. {
  2921. * vDSP_vdbconD()
  2922. *
  2923. * Availability:
  2924. * Mac OS X: in version 10.4 and later in vecLib.framework
  2925. * CarbonLib: not available
  2926. * Non-Carbon CFM: not available
  2927. }
  2928. procedure vDSP_vdbconD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_F: UInt32 ); external name '_vDSP_vdbconD';
  2929. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2930. { Vector distance, single-precision.}
  2931. {
  2932. * vDSP_vdist()
  2933. *
  2934. * Availability:
  2935. * Mac OS X: in version 10.4 and later in vecLib.framework
  2936. * CarbonLib: not available
  2937. * Non-Carbon CFM: not available
  2938. }
  2939. procedure vDSP_vdist( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdist';
  2940. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2941. { Vector distance, double-precision.}
  2942. {
  2943. * vDSP_vdistD()
  2944. *
  2945. * Availability:
  2946. * Mac OS X: in version 10.4 and later in vecLib.framework
  2947. * CarbonLib: not available
  2948. * Non-Carbon CFM: not available
  2949. }
  2950. procedure vDSP_vdistD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdistD';
  2951. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2952. { Vector divide, single-precision.}
  2953. {
  2954. * vDSP_vdiv()
  2955. *
  2956. * Availability:
  2957. * Mac OS X: in version 10.4 and later in vecLib.framework
  2958. * CarbonLib: not available
  2959. * Non-Carbon CFM: not available
  2960. }
  2961. procedure vDSP_vdiv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdiv';
  2962. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2963. { Vector divide, double-precision.}
  2964. {
  2965. * vDSP_vdivD()
  2966. *
  2967. * Availability:
  2968. * Mac OS X: in version 10.4 and later in vecLib.framework
  2969. * CarbonLib: not available
  2970. * Non-Carbon CFM: not available
  2971. }
  2972. procedure vDSP_vdivD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdivD';
  2973. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2974. { Vector envelope, single-precision.}
  2975. {
  2976. * vDSP_venvlp()
  2977. *
  2978. * Availability:
  2979. * Mac OS X: in version 10.4 and later in vecLib.framework
  2980. * CarbonLib: not available
  2981. * Non-Carbon CFM: not available
  2982. }
  2983. procedure vDSP_venvlp( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_venvlp';
  2984. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2985. { Vector envelope, double-precision.}
  2986. {
  2987. * vDSP_venvlpD()
  2988. *
  2989. * Availability:
  2990. * Mac OS X: in version 10.4 and later in vecLib.framework
  2991. * CarbonLib: not available
  2992. * Non-Carbon CFM: not available
  2993. }
  2994. procedure vDSP_venvlpD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_venvlpD';
  2995. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  2996. { Vector fill, single-precision.}
  2997. {
  2998. * vDSP_vfill()
  2999. *
  3000. * Availability:
  3001. * Mac OS X: in version 10.4 and later in vecLib.framework
  3002. * CarbonLib: not available
  3003. * Non-Carbon CFM: not available
  3004. }
  3005. procedure vDSP_vfill( __vDSP_A: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfill';
  3006. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3007. { Vector fill, double-precision.}
  3008. {
  3009. * vDSP_vfillD()
  3010. *
  3011. * Availability:
  3012. * Mac OS X: in version 10.4 and later in vecLib.framework
  3013. * CarbonLib: not available
  3014. * Non-Carbon CFM: not available
  3015. }
  3016. procedure vDSP_vfillD( __vDSP_A: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfillD';
  3017. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3018. { Vector convert to 8-bit integer, round toward zero, single-precision.}
  3019. {
  3020. * vDSP_vfix8()
  3021. *
  3022. * Availability:
  3023. * Mac OS X: in version 10.4 and later in vecLib.framework
  3024. * CarbonLib: not available
  3025. * Non-Carbon CFM: not available
  3026. }
  3027. procedure vDSP_vfix8( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix8';
  3028. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3029. { Vector convert to 8-bit integer, round toward zero, double-precision.}
  3030. {
  3031. * vDSP_vfix8D()
  3032. *
  3033. * Availability:
  3034. * Mac OS X: in version 10.4 and later in vecLib.framework
  3035. * CarbonLib: not available
  3036. * Non-Carbon CFM: not available
  3037. }
  3038. procedure vDSP_vfix8D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix8D';
  3039. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3040. { Vector convert to 16-bit integer, round toward zero, single-precision.}
  3041. {
  3042. * vDSP_vfix16()
  3043. *
  3044. * Availability:
  3045. * Mac OS X: in version 10.4 and later in vecLib.framework
  3046. * CarbonLib: not available
  3047. * Non-Carbon CFM: not available
  3048. }
  3049. procedure vDSP_vfix16( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix16';
  3050. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3051. { Vector convert to 16-bit integer, round toward zero, double-precision.}
  3052. {
  3053. * vDSP_vfix16D()
  3054. *
  3055. * Availability:
  3056. * Mac OS X: in version 10.4 and later in vecLib.framework
  3057. * CarbonLib: not available
  3058. * Non-Carbon CFM: not available
  3059. }
  3060. procedure vDSP_vfix16D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix16D';
  3061. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3062. { Vector convert to 32-bit integer, round toward zero, single-precision.}
  3063. {
  3064. * vDSP_vfix32()
  3065. *
  3066. * Availability:
  3067. * Mac OS X: in version 10.4 and later in vecLib.framework
  3068. * CarbonLib: not available
  3069. * Non-Carbon CFM: not available
  3070. }
  3071. procedure vDSP_vfix32( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix32';
  3072. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3073. { Vector convert to 32-bit integer, round toward zero, double-precision.}
  3074. {
  3075. * vDSP_vfix32D()
  3076. *
  3077. * Availability:
  3078. * Mac OS X: in version 10.4 and later in vecLib.framework
  3079. * CarbonLib: not available
  3080. * Non-Carbon CFM: not available
  3081. }
  3082. procedure vDSP_vfix32D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix32D';
  3083. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3084. { Vector convert to 8-bit integer, round to nearest, single-precision.}
  3085. {
  3086. * vDSP_vfixr8()
  3087. *
  3088. * Availability:
  3089. * Mac OS X: in version 10.4 and later in vecLib.framework
  3090. * CarbonLib: not available
  3091. * Non-Carbon CFM: not available
  3092. }
  3093. procedure vDSP_vfixr8( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr8';
  3094. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3095. { Vector convert to 8-bit integer, round to nearest, double-precision.}
  3096. {
  3097. * vDSP_vfixr8D()
  3098. *
  3099. * Availability:
  3100. * Mac OS X: in version 10.4 and later in vecLib.framework
  3101. * CarbonLib: not available
  3102. * Non-Carbon CFM: not available
  3103. }
  3104. procedure vDSP_vfixr8D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr8D';
  3105. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3106. { Vector convert to 16-bit integer, round to nearest, single-precision.}
  3107. {
  3108. * vDSP_vfixr16()
  3109. *
  3110. * Availability:
  3111. * Mac OS X: in version 10.4 and later in vecLib.framework
  3112. * CarbonLib: not available
  3113. * Non-Carbon CFM: not available
  3114. }
  3115. procedure vDSP_vfixr16( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr16';
  3116. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3117. { Vector convert to 16-bit integer, round to nearest, double-precision.}
  3118. {
  3119. * vDSP_vfixr16D()
  3120. *
  3121. * Availability:
  3122. * Mac OS X: in version 10.4 and later in vecLib.framework
  3123. * CarbonLib: not available
  3124. * Non-Carbon CFM: not available
  3125. }
  3126. procedure vDSP_vfixr16D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr16D';
  3127. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3128. { Vector convert to 32-bit integer, round to nearest, single-precision.}
  3129. {
  3130. * vDSP_vfixr32()
  3131. *
  3132. * Availability:
  3133. * Mac OS X: in version 10.4 and later in vecLib.framework
  3134. * CarbonLib: not available
  3135. * Non-Carbon CFM: not available
  3136. }
  3137. procedure vDSP_vfixr32( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr32';
  3138. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3139. { Vector convert to 32-bit integer, round to nearest, double-precision.}
  3140. {
  3141. * vDSP_vfixr32D()
  3142. *
  3143. * Availability:
  3144. * Mac OS X: in version 10.4 and later in vecLib.framework
  3145. * CarbonLib: not available
  3146. * Non-Carbon CFM: not available
  3147. }
  3148. procedure vDSP_vfixr32D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixr32D';
  3149. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3150. { Vector convert to unsigned 8-bit integer, toward zero, single-precision.}
  3151. {
  3152. * vDSP_vfixu8()
  3153. *
  3154. * Availability:
  3155. * Mac OS X: in version 10.4 and later in vecLib.framework
  3156. * CarbonLib: not available
  3157. * Non-Carbon CFM: not available
  3158. }
  3159. procedure vDSP_vfixu8( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu8';
  3160. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3161. { Vector convert to unsigned 8-bit integer, toward zero, double-precision.}
  3162. {
  3163. * vDSP_vfixu8D()
  3164. *
  3165. * Availability:
  3166. * Mac OS X: in version 10.4 and later in vecLib.framework
  3167. * CarbonLib: not available
  3168. * Non-Carbon CFM: not available
  3169. }
  3170. procedure vDSP_vfixu8D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu8D';
  3171. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3172. { Vector convert to unsigned 16-bit integer, toward zero, single-precision.}
  3173. {
  3174. * vDSP_vfixu16()
  3175. *
  3176. * Availability:
  3177. * Mac OS X: in version 10.4 and later in vecLib.framework
  3178. * CarbonLib: not available
  3179. * Non-Carbon CFM: not available
  3180. }
  3181. procedure vDSP_vfixu16( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu16';
  3182. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3183. { Vector convert to unsigned 16-bit integer, toward zero, double-precision.}
  3184. {
  3185. * vDSP_vfixu16D()
  3186. *
  3187. * Availability:
  3188. * Mac OS X: in version 10.4 and later in vecLib.framework
  3189. * CarbonLib: not available
  3190. * Non-Carbon CFM: not available
  3191. }
  3192. procedure vDSP_vfixu16D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu16D';
  3193. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3194. { Vector convert to unsigned 32-bit integer, toward zero, single-precision.}
  3195. {
  3196. * vDSP_vfixu32()
  3197. *
  3198. * Availability:
  3199. * Mac OS X: in version 10.4 and later in vecLib.framework
  3200. * CarbonLib: not available
  3201. * Non-Carbon CFM: not available
  3202. }
  3203. procedure vDSP_vfixu32( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu32';
  3204. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3205. { Vector convert to unsigned 32-bit integer, toward zero, double-precision.}
  3206. {
  3207. * vDSP_vfixu32D()
  3208. *
  3209. * Availability:
  3210. * Mac OS X: in version 10.4 and later in vecLib.framework
  3211. * CarbonLib: not available
  3212. * Non-Carbon CFM: not available
  3213. }
  3214. procedure vDSP_vfixu32D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu32D';
  3215. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3216. { Vector convert to unsigned 8-bit integer, to nearest, single-precision.}
  3217. {
  3218. * vDSP_vfixru8()
  3219. *
  3220. * Availability:
  3221. * Mac OS X: in version 10.4 and later in vecLib.framework
  3222. * CarbonLib: not available
  3223. * Non-Carbon CFM: not available
  3224. }
  3225. procedure vDSP_vfixru8( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru8';
  3226. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3227. { Vector convert to unsigned 8-bit integer, to nearest, double-precision.}
  3228. {
  3229. * vDSP_vfixru8D()
  3230. *
  3231. * Availability:
  3232. * Mac OS X: in version 10.4 and later in vecLib.framework
  3233. * CarbonLib: not available
  3234. * Non-Carbon CFM: not available
  3235. }
  3236. procedure vDSP_vfixru8D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt8Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru8D';
  3237. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3238. { Vector convert to unsigned 16-bit integer, to nearest, single-precision.}
  3239. {
  3240. * vDSP_vfixru16()
  3241. *
  3242. * Availability:
  3243. * Mac OS X: in version 10.4 and later in vecLib.framework
  3244. * CarbonLib: not available
  3245. * Non-Carbon CFM: not available
  3246. }
  3247. procedure vDSP_vfixru16( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru16';
  3248. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3249. { Vector convert to unsigned 16-bit integer, to nearest, double-precision.}
  3250. {
  3251. * vDSP_vfixru16D()
  3252. *
  3253. * Availability:
  3254. * Mac OS X: in version 10.4 and later in vecLib.framework
  3255. * CarbonLib: not available
  3256. * Non-Carbon CFM: not available
  3257. }
  3258. procedure vDSP_vfixru16D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru16D';
  3259. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3260. { Vector convert to unsigned 32-bit integer, to nearest, single-precision.}
  3261. {
  3262. * vDSP_vfixru32()
  3263. *
  3264. * Availability:
  3265. * Mac OS X: in version 10.4 and later in vecLib.framework
  3266. * CarbonLib: not available
  3267. * Non-Carbon CFM: not available
  3268. }
  3269. procedure vDSP_vfixru32( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru32';
  3270. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3271. { Vector convert to unsigned 32-bit integer, to nearest, double-precision.}
  3272. {
  3273. * vDSP_vfixru32D()
  3274. *
  3275. * Availability:
  3276. * Mac OS X: in version 10.4 and later in vecLib.framework
  3277. * CarbonLib: not available
  3278. * Non-Carbon CFM: not available
  3279. }
  3280. procedure vDSP_vfixru32D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixru32D';
  3281. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3282. { Vector convert from 8-bit integer, single-precision.}
  3283. {
  3284. * vDSP_vflt8()
  3285. *
  3286. * Availability:
  3287. * Mac OS X: in version 10.4 and later in vecLib.framework
  3288. * CarbonLib: not available
  3289. * Non-Carbon CFM: not available
  3290. }
  3291. procedure vDSP_vflt8( var A: char; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt8';
  3292. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3293. { Vector convert from 8-bit integer, double-precision.}
  3294. {
  3295. * vDSP_vflt8D()
  3296. *
  3297. * Availability:
  3298. * Mac OS X: in version 10.4 and later in vecLib.framework
  3299. * CarbonLib: not available
  3300. * Non-Carbon CFM: not available
  3301. }
  3302. procedure vDSP_vflt8D( var A: char; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt8D';
  3303. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3304. { Vector convert from 16-bit integer, single-precision.}
  3305. {
  3306. * vDSP_vflt16()
  3307. *
  3308. * Availability:
  3309. * Mac OS X: in version 10.4 and later in vecLib.framework
  3310. * CarbonLib: not available
  3311. * Non-Carbon CFM: not available
  3312. }
  3313. procedure vDSP_vflt16( var A: SInt16; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt16';
  3314. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3315. { Vector convert from 16-bit integer, double-precision.}
  3316. {
  3317. * vDSP_vflt16D()
  3318. *
  3319. * Availability:
  3320. * Mac OS X: in version 10.4 and later in vecLib.framework
  3321. * CarbonLib: not available
  3322. * Non-Carbon CFM: not available
  3323. }
  3324. procedure vDSP_vflt16D( var A: SInt16; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt16D';
  3325. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3326. { Vector convert from 32-bit integer, single-precision.}
  3327. {
  3328. * vDSP_vflt32()
  3329. *
  3330. * Availability:
  3331. * Mac OS X: in version 10.4 and later in vecLib.framework
  3332. * CarbonLib: not available
  3333. * Non-Carbon CFM: not available
  3334. }
  3335. procedure vDSP_vflt32( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt32';
  3336. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3337. { Vector convert from 32-bit integer, double-precision.}
  3338. {
  3339. * vDSP_vflt32D()
  3340. *
  3341. * Availability:
  3342. * Mac OS X: in version 10.4 and later in vecLib.framework
  3343. * CarbonLib: not available
  3344. * Non-Carbon CFM: not available
  3345. }
  3346. procedure vDSP_vflt32D( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt32D';
  3347. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3348. { Vector convert from 8-bit integer, single-precision.}
  3349. {
  3350. * vDSP_vfltu8()
  3351. *
  3352. * Availability:
  3353. * Mac OS X: in version 10.4 and later in vecLib.framework
  3354. * CarbonLib: not available
  3355. * Non-Carbon CFM: not available
  3356. }
  3357. procedure vDSP_vfltu8( A: UInt8Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu8';
  3358. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3359. { Vector convert from 8-bit integer, double-precision.}
  3360. {
  3361. * vDSP_vfltu8D()
  3362. *
  3363. * Availability:
  3364. * Mac OS X: in version 10.4 and later in vecLib.framework
  3365. * CarbonLib: not available
  3366. * Non-Carbon CFM: not available
  3367. }
  3368. procedure vDSP_vfltu8D( A: UInt8Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu8D';
  3369. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3370. { Vector convert from 16-bit integer, single-precision.}
  3371. {
  3372. * vDSP_vfltu16()
  3373. *
  3374. * Availability:
  3375. * Mac OS X: in version 10.4 and later in vecLib.framework
  3376. * CarbonLib: not available
  3377. * Non-Carbon CFM: not available
  3378. }
  3379. procedure vDSP_vfltu16( A: UInt16Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu16';
  3380. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3381. { Vector convert from 16-bit integer, double-precision.}
  3382. {
  3383. * vDSP_vfltu16D()
  3384. *
  3385. * Availability:
  3386. * Mac OS X: in version 10.4 and later in vecLib.framework
  3387. * CarbonLib: not available
  3388. * Non-Carbon CFM: not available
  3389. }
  3390. procedure vDSP_vfltu16D( A: UInt16Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu16D';
  3391. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3392. { Vector convert from 32-bit integer, single-precision.}
  3393. {
  3394. * vDSP_vfltu32()
  3395. *
  3396. * Availability:
  3397. * Mac OS X: in version 10.4 and later in vecLib.framework
  3398. * CarbonLib: not available
  3399. * Non-Carbon CFM: not available
  3400. }
  3401. procedure vDSP_vfltu32( __vDSP_A: UInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu32';
  3402. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3403. { Vector convert from 32-bit integer, double-precision.}
  3404. {
  3405. * vDSP_vfltu32D()
  3406. *
  3407. * Availability:
  3408. * Mac OS X: in version 10.4 and later in vecLib.framework
  3409. * CarbonLib: not available
  3410. * Non-Carbon CFM: not available
  3411. }
  3412. procedure vDSP_vfltu32D( __vDSP_A: UInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu32D';
  3413. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3414. { Vector fraction part (subtract integer toward zero), single-precision.}
  3415. {
  3416. * vDSP_vfrac()
  3417. *
  3418. * Availability:
  3419. * Mac OS X: in version 10.4 and later in vecLib.framework
  3420. * CarbonLib: not available
  3421. * Non-Carbon CFM: not available
  3422. }
  3423. procedure vDSP_vfrac( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfrac';
  3424. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3425. { Vector fraction part (subtract integer toward zero), double-precision.}
  3426. {
  3427. * vDSP_vfracD()
  3428. *
  3429. * Availability:
  3430. * Mac OS X: in version 10.4 and later in vecLib.framework
  3431. * CarbonLib: not available
  3432. * Non-Carbon CFM: not available
  3433. }
  3434. procedure vDSP_vfracD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfracD';
  3435. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3436. { Vector gather, single-precision.}
  3437. {
  3438. * vDSP_vgathr()
  3439. *
  3440. * Availability:
  3441. * Mac OS X: in version 10.4 and later in vecLib.framework
  3442. * CarbonLib: not available
  3443. * Non-Carbon CFM: not available
  3444. }
  3445. procedure vDSP_vgathr( __vDSP_A: Float32Ptr; var __vDSP_B: vDSP_Length; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgathr';
  3446. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3447. { Vector gather, double-precision.}
  3448. {
  3449. * vDSP_vgathrD()
  3450. *
  3451. * Availability:
  3452. * Mac OS X: in version 10.4 and later in vecLib.framework
  3453. * CarbonLib: not available
  3454. * Non-Carbon CFM: not available
  3455. }
  3456. procedure vDSP_vgathrD( __vDSP_A: Float64Ptr; var __vDSP_B: vDSP_Length; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgathrD';
  3457. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3458. { Vector gather, absolute pointers, single-precision.}
  3459. {
  3460. * vDSP_vgathra()
  3461. *
  3462. * Availability:
  3463. * Mac OS X: in version 10.4 and later in vecLib.framework
  3464. * CarbonLib: not available
  3465. * Non-Carbon CFM: not available
  3466. }
  3467. procedure vDSP_vgathra( var A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgathra';
  3468. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3469. { Vector gather, absolute pointers, double-precision.}
  3470. {
  3471. * vDSP_vgathraD()
  3472. *
  3473. * Availability:
  3474. * Mac OS X: in version 10.4 and later in vecLib.framework
  3475. * CarbonLib: not available
  3476. * Non-Carbon CFM: not available
  3477. }
  3478. procedure vDSP_vgathraD( var A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgathraD';
  3479. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3480. { Vector generate tapered ramp, single-precision.}
  3481. {
  3482. * vDSP_vgen()
  3483. *
  3484. * Availability:
  3485. * Mac OS X: in version 10.4 and later in vecLib.framework
  3486. * CarbonLib: not available
  3487. * Non-Carbon CFM: not available
  3488. }
  3489. procedure vDSP_vgen( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgen';
  3490. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3491. { Vector generate tapered ramp, double-precision.}
  3492. {
  3493. * vDSP_vgenD()
  3494. *
  3495. * Availability:
  3496. * Mac OS X: in version 10.4 and later in vecLib.framework
  3497. * CarbonLib: not available
  3498. * Non-Carbon CFM: not available
  3499. }
  3500. procedure vDSP_vgenD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgenD';
  3501. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3502. { Vector generate by extrapolation and interpolation, single-precision.}
  3503. {
  3504. * vDSP_vgenp()
  3505. *
  3506. * Availability:
  3507. * Mac OS X: in version 10.4 and later in vecLib.framework
  3508. * CarbonLib: not available
  3509. * Non-Carbon CFM: not available
  3510. }
  3511. procedure vDSP_vgenp( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vgenp';
  3512. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3513. { Vector generate by extrapolation and interpolation, double-precision.}
  3514. {
  3515. * vDSP_vgenpD()
  3516. *
  3517. * Availability:
  3518. * Mac OS X: in version 10.4 and later in vecLib.framework
  3519. * CarbonLib: not available
  3520. * Non-Carbon CFM: not available
  3521. }
  3522. procedure vDSP_vgenpD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vgenpD';
  3523. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3524. { Vector inverted clip, single-precision.}
  3525. {
  3526. * vDSP_viclip()
  3527. *
  3528. * Availability:
  3529. * Mac OS X: in version 10.4 and later in vecLib.framework
  3530. * CarbonLib: not available
  3531. * Non-Carbon CFM: not available
  3532. }
  3533. procedure vDSP_viclip( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_viclip';
  3534. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3535. { Vector inverted clip, double-precision.}
  3536. {
  3537. * vDSP_viclipD()
  3538. *
  3539. * Availability:
  3540. * Mac OS X: in version 10.4 and later in vecLib.framework
  3541. * CarbonLib: not available
  3542. * Non-Carbon CFM: not available
  3543. }
  3544. procedure vDSP_viclipD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_viclipD';
  3545. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3546. { Vector index (C[i] = A[truncate[B[i]]), single-precision.}
  3547. {
  3548. * vDSP_vindex()
  3549. *
  3550. * Availability:
  3551. * Mac OS X: in version 10.4 and later in vecLib.framework
  3552. * CarbonLib: not available
  3553. * Non-Carbon CFM: not available
  3554. }
  3555. procedure vDSP_vindex( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vindex';
  3556. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3557. { Vector index (C[i] = A[truncate[B[i]]), double-precision.}
  3558. {
  3559. * vDSP_vindexD()
  3560. *
  3561. * Availability:
  3562. * Mac OS X: in version 10.4 and later in vecLib.framework
  3563. * CarbonLib: not available
  3564. * Non-Carbon CFM: not available
  3565. }
  3566. procedure vDSP_vindexD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vindexD';
  3567. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3568. { Vector interpolation between vectors, single-precision.}
  3569. {
  3570. * vDSP_vintb()
  3571. *
  3572. * Availability:
  3573. * Mac OS X: in version 10.4 and later in vecLib.framework
  3574. * CarbonLib: not available
  3575. * Non-Carbon CFM: not available
  3576. }
  3577. procedure vDSP_vintb( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vintb';
  3578. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3579. { Vector interpolation between vectors, double-precision.}
  3580. {
  3581. * vDSP_vintbD()
  3582. *
  3583. * Availability:
  3584. * Mac OS X: in version 10.4 and later in vecLib.framework
  3585. * CarbonLib: not available
  3586. * Non-Carbon CFM: not available
  3587. }
  3588. procedure vDSP_vintbD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vintbD';
  3589. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3590. { Vector test limit, single-precision.}
  3591. {
  3592. * vDSP_vlim()
  3593. *
  3594. * Availability:
  3595. * Mac OS X: in version 10.4 and later in vecLib.framework
  3596. * CarbonLib: not available
  3597. * Non-Carbon CFM: not available
  3598. }
  3599. procedure vDSP_vlim( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vlim';
  3600. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3601. { Vector test limit, double-precision.}
  3602. {
  3603. * vDSP_vlimD()
  3604. *
  3605. * Availability:
  3606. * Mac OS X: in version 10.4 and later in vecLib.framework
  3607. * CarbonLib: not available
  3608. * Non-Carbon CFM: not available
  3609. }
  3610. procedure vDSP_vlimD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vlimD';
  3611. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3612. { Vector linear interpolation, single-precision.}
  3613. {
  3614. * vDSP_vlint()
  3615. *
  3616. * Availability:
  3617. * Mac OS X: in version 10.4 and later in vecLib.framework
  3618. * CarbonLib: not available
  3619. * Non-Carbon CFM: not available
  3620. }
  3621. procedure vDSP_vlint( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vlint';
  3622. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3623. { Vector linear interpolation, double-precision.}
  3624. {
  3625. * vDSP_vlintD()
  3626. *
  3627. * Availability:
  3628. * Mac OS X: in version 10.4 and later in vecLib.framework
  3629. * CarbonLib: not available
  3630. * Non-Carbon CFM: not available
  3631. }
  3632. procedure vDSP_vlintD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vlintD';
  3633. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3634. { Vector multiply and add, single-precision.}
  3635. {
  3636. * vDSP_vma()
  3637. *
  3638. * Availability:
  3639. * Mac OS X: in version 10.4 and later in vecLib.framework
  3640. * CarbonLib: not available
  3641. * Non-Carbon CFM: not available
  3642. }
  3643. procedure vDSP_vma( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vma';
  3644. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3645. { Vector multiply and add, double-precision.}
  3646. {
  3647. * vDSP_vmaD()
  3648. *
  3649. * Availability:
  3650. * Mac OS X: in version 10.4 and later in vecLib.framework
  3651. * CarbonLib: not available
  3652. * Non-Carbon CFM: not available
  3653. }
  3654. procedure vDSP_vmaD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmaD';
  3655. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3656. { Vector maxima, single-precision.}
  3657. {
  3658. * vDSP_vmax()
  3659. *
  3660. * Availability:
  3661. * Mac OS X: in version 10.4 and later in vecLib.framework
  3662. * CarbonLib: not available
  3663. * Non-Carbon CFM: not available
  3664. }
  3665. procedure vDSP_vmax( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmax';
  3666. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3667. { Vector maxima, double-precision.}
  3668. {
  3669. * vDSP_vmaxD()
  3670. *
  3671. * Availability:
  3672. * Mac OS X: in version 10.4 and later in vecLib.framework
  3673. * CarbonLib: not available
  3674. * Non-Carbon CFM: not available
  3675. }
  3676. procedure vDSP_vmaxD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmaxD';
  3677. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3678. { Vector maximum magnitude, single-precision.}
  3679. {
  3680. * vDSP_vmaxmg()
  3681. *
  3682. * Availability:
  3683. * Mac OS X: in version 10.4 and later in vecLib.framework
  3684. * CarbonLib: not available
  3685. * Non-Carbon CFM: not available
  3686. }
  3687. procedure vDSP_vmaxmg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmaxmg';
  3688. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3689. { Vector maximum magnitude, double-precision.}
  3690. {
  3691. * vDSP_vmaxmgD()
  3692. *
  3693. * Availability:
  3694. * Mac OS X: in version 10.4 and later in vecLib.framework
  3695. * CarbonLib: not available
  3696. * Non-Carbon CFM: not available
  3697. }
  3698. procedure vDSP_vmaxmgD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmaxmgD';
  3699. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3700. { Vector minima, single-precision.}
  3701. {
  3702. * vDSP_vmin()
  3703. *
  3704. * Availability:
  3705. * Mac OS X: in version 10.4 and later in vecLib.framework
  3706. * CarbonLib: not available
  3707. * Non-Carbon CFM: not available
  3708. }
  3709. procedure vDSP_vmin( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmin';
  3710. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3711. { Vector minima, double-precision.}
  3712. {
  3713. * vDSP_vminD()
  3714. *
  3715. * Availability:
  3716. * Mac OS X: in version 10.4 and later in vecLib.framework
  3717. * CarbonLib: not available
  3718. * Non-Carbon CFM: not available
  3719. }
  3720. procedure vDSP_vminD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vminD';
  3721. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3722. { Vector minimum magnitude, single-precision.}
  3723. {
  3724. * vDSP_vminmg()
  3725. *
  3726. * Availability:
  3727. * Mac OS X: in version 10.4 and later in vecLib.framework
  3728. * CarbonLib: not available
  3729. * Non-Carbon CFM: not available
  3730. }
  3731. procedure vDSP_vminmg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vminmg';
  3732. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3733. { Vector minimum magnitude, double-precision.}
  3734. {
  3735. * vDSP_vminmgD()
  3736. *
  3737. * Availability:
  3738. * Mac OS X: in version 10.4 and later in vecLib.framework
  3739. * CarbonLib: not available
  3740. * Non-Carbon CFM: not available
  3741. }
  3742. procedure vDSP_vminmgD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vminmgD';
  3743. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3744. { Vector multiply, multiply, and add, single-precision.}
  3745. {
  3746. * vDSP_vmma()
  3747. *
  3748. * Availability:
  3749. * Mac OS X: in version 10.4 and later in vecLib.framework
  3750. * CarbonLib: not available
  3751. * Non-Carbon CFM: not available
  3752. }
  3753. procedure vDSP_vmma( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmma';
  3754. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3755. { Vector multiply, multiply, and add, double-precision.}
  3756. {
  3757. * vDSP_vmmaD()
  3758. *
  3759. * Availability:
  3760. * Mac OS X: in version 10.4 and later in vecLib.framework
  3761. * CarbonLib: not available
  3762. * Non-Carbon CFM: not available
  3763. }
  3764. procedure vDSP_vmmaD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmmaD';
  3765. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3766. { Vector multiply, multiply, and subtract, single-precision.}
  3767. {
  3768. * vDSP_vmmsb()
  3769. *
  3770. * Availability:
  3771. * Mac OS X: in version 10.4 and later in vecLib.framework
  3772. * CarbonLib: not available
  3773. * Non-Carbon CFM: not available
  3774. }
  3775. procedure vDSP_vmmsb( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmmsb';
  3776. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3777. { Vector multiply, multiply, and subtract, double-precision.}
  3778. {
  3779. * vDSP_vmmsbD()
  3780. *
  3781. * Availability:
  3782. * Mac OS X: in version 10.4 and later in vecLib.framework
  3783. * CarbonLib: not available
  3784. * Non-Carbon CFM: not available
  3785. }
  3786. procedure vDSP_vmmsbD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmmsbD';
  3787. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3788. { Vector multiply and scalar add, single-precision.}
  3789. {
  3790. * vDSP_vmsa()
  3791. *
  3792. * Availability:
  3793. * Mac OS X: in version 10.4 and later in vecLib.framework
  3794. * CarbonLib: not available
  3795. * Non-Carbon CFM: not available
  3796. }
  3797. procedure vDSP_vmsa( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmsa';
  3798. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3799. { Vector multiply and scalar add, double-precision.}
  3800. {
  3801. * vDSP_vmsaD()
  3802. *
  3803. * Availability:
  3804. * Mac OS X: in version 10.4 and later in vecLib.framework
  3805. * CarbonLib: not available
  3806. * Non-Carbon CFM: not available
  3807. }
  3808. procedure vDSP_vmsaD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmsaD';
  3809. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3810. { Vector multiply and subtract, single-precision.}
  3811. {
  3812. * vDSP_vmsb()
  3813. *
  3814. * Availability:
  3815. * Mac OS X: in version 10.4 and later in vecLib.framework
  3816. * CarbonLib: not available
  3817. * Non-Carbon CFM: not available
  3818. }
  3819. procedure vDSP_vmsb( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmsb';
  3820. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3821. { Vector multiply and subtract, double-precision.}
  3822. {
  3823. * vDSP_vmsbD()
  3824. *
  3825. * Availability:
  3826. * Mac OS X: in version 10.4 and later in vecLib.framework
  3827. * CarbonLib: not available
  3828. * Non-Carbon CFM: not available
  3829. }
  3830. procedure vDSP_vmsbD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vmsbD';
  3831. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3832. { Vector negative absolute value, single-precision.}
  3833. {
  3834. * vDSP_vnabs()
  3835. *
  3836. * Availability:
  3837. * Mac OS X: in version 10.4 and later in vecLib.framework
  3838. * CarbonLib: not available
  3839. * Non-Carbon CFM: not available
  3840. }
  3841. procedure vDSP_vnabs( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vnabs';
  3842. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3843. { Vector negative absolute value, double-precision.}
  3844. {
  3845. * vDSP_vnabsD()
  3846. *
  3847. * Availability:
  3848. * Mac OS X: in version 10.4 and later in vecLib.framework
  3849. * CarbonLib: not available
  3850. * Non-Carbon CFM: not available
  3851. }
  3852. procedure vDSP_vnabsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vnabsD';
  3853. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3854. { Vector negate, single-precision.}
  3855. {
  3856. * vDSP_vneg()
  3857. *
  3858. * Availability:
  3859. * Mac OS X: in version 10.4 and later in vecLib.framework
  3860. * CarbonLib: not available
  3861. * Non-Carbon CFM: not available
  3862. }
  3863. procedure vDSP_vneg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vneg';
  3864. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3865. { Vector negate, double-precision.}
  3866. {
  3867. * vDSP_vnegD()
  3868. *
  3869. * Availability:
  3870. * Mac OS X: in version 10.4 and later in vecLib.framework
  3871. * CarbonLib: not available
  3872. * Non-Carbon CFM: not available
  3873. }
  3874. procedure vDSP_vnegD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vnegD';
  3875. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3876. { Vector polynomial, single-precision.}
  3877. {
  3878. * vDSP_vpoly()
  3879. *
  3880. * Availability:
  3881. * Mac OS X: in version 10.4 and later in vecLib.framework
  3882. * CarbonLib: not available
  3883. * Non-Carbon CFM: not available
  3884. }
  3885. procedure vDSP_vpoly( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_vpoly';
  3886. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3887. { Vector polynomial, single-precision.}
  3888. {
  3889. * vDSP_vpolyD()
  3890. *
  3891. * Availability:
  3892. * Mac OS X: in version 10.4 and later in vecLib.framework
  3893. * CarbonLib: not available
  3894. * Non-Carbon CFM: not available
  3895. }
  3896. procedure vDSP_vpolyD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_vpolyD';
  3897. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3898. { Vector Pythagoras, single-precision.}
  3899. {
  3900. * vDSP_vpythg()
  3901. *
  3902. * Availability:
  3903. * Mac OS X: in version 10.4 and later in vecLib.framework
  3904. * CarbonLib: not available
  3905. * Non-Carbon CFM: not available
  3906. }
  3907. procedure vDSP_vpythg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vpythg';
  3908. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3909. { Vector Pythagoras, double-precision.}
  3910. {
  3911. * vDSP_vpythgD()
  3912. *
  3913. * Availability:
  3914. * Mac OS X: in version 10.4 and later in vecLib.framework
  3915. * CarbonLib: not available
  3916. * Non-Carbon CFM: not available
  3917. }
  3918. procedure vDSP_vpythgD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vpythgD';
  3919. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3920. { Vector quadratic interpolation, single-precision.}
  3921. {
  3922. * vDSP_vqint()
  3923. *
  3924. * Availability:
  3925. * Mac OS X: in version 10.4 and later in vecLib.framework
  3926. * CarbonLib: not available
  3927. * Non-Carbon CFM: not available
  3928. }
  3929. procedure vDSP_vqint( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vqint';
  3930. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3931. { Vector quadratic interpolation, double-precision.}
  3932. {
  3933. * vDSP_vqintD()
  3934. *
  3935. * Availability:
  3936. * Mac OS X: in version 10.4 and later in vecLib.framework
  3937. * CarbonLib: not available
  3938. * Non-Carbon CFM: not available
  3939. }
  3940. procedure vDSP_vqintD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_M: vDSP_Length ); external name '_vDSP_vqintD';
  3941. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3942. { Vector build ramp, single-precision.}
  3943. {
  3944. * vDSP_vramp()
  3945. *
  3946. * Availability:
  3947. * Mac OS X: in version 10.4 and later in vecLib.framework
  3948. * CarbonLib: not available
  3949. * Non-Carbon CFM: not available
  3950. }
  3951. procedure vDSP_vramp( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vramp';
  3952. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3953. { Vector build ramp, double-precision.}
  3954. {
  3955. * vDSP_vrampD()
  3956. *
  3957. * Availability:
  3958. * Mac OS X: in version 10.4 and later in vecLib.framework
  3959. * CarbonLib: not available
  3960. * Non-Carbon CFM: not available
  3961. }
  3962. procedure vDSP_vrampD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampD';
  3963. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3964. { Vector running sum integration, single-precision.}
  3965. {
  3966. * vDSP_vrsum()
  3967. *
  3968. * Availability:
  3969. * Mac OS X: in version 10.4 and later in vecLib.framework
  3970. * CarbonLib: not available
  3971. * Non-Carbon CFM: not available
  3972. }
  3973. procedure vDSP_vrsum( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_S: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrsum';
  3974. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3975. { Vector running sum integration, double-precision.}
  3976. {
  3977. * vDSP_vrsumD()
  3978. *
  3979. * Availability:
  3980. * Mac OS X: in version 10.4 and later in vecLib.framework
  3981. * CarbonLib: not available
  3982. * Non-Carbon CFM: not available
  3983. }
  3984. procedure vDSP_vrsumD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_S: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrsumD';
  3985. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3986. { Vector reverse order, in-place, single-precision.}
  3987. {
  3988. * vDSP_vrvrs()
  3989. *
  3990. * Availability:
  3991. * Mac OS X: in version 10.4 and later in vecLib.framework
  3992. * CarbonLib: not available
  3993. * Non-Carbon CFM: not available
  3994. }
  3995. procedure vDSP_vrvrs( __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrvrs';
  3996. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  3997. { Vector reverse order, in-place, double-precision.}
  3998. {
  3999. * vDSP_vrvrsD()
  4000. *
  4001. * Availability:
  4002. * Mac OS X: in version 10.4 and later in vecLib.framework
  4003. * CarbonLib: not available
  4004. * Non-Carbon CFM: not available
  4005. }
  4006. procedure vDSP_vrvrsD( __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrvrsD';
  4007. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4008. { Vector-scalar add, single-precision.}
  4009. {
  4010. * vDSP_vsadd()
  4011. *
  4012. * Availability:
  4013. * Mac OS X: in version 10.4 and later in vecLib.framework
  4014. * CarbonLib: not available
  4015. * Non-Carbon CFM: not available
  4016. }
  4017. procedure vDSP_vsadd( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsadd';
  4018. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4019. { Vector-scalar add, double-precision.}
  4020. {
  4021. * vDSP_vsaddD()
  4022. *
  4023. * Availability:
  4024. * Mac OS X: in version 10.4 and later in vecLib.framework
  4025. * CarbonLib: not available
  4026. * Non-Carbon CFM: not available
  4027. }
  4028. procedure vDSP_vsaddD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsaddD';
  4029. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4030. { Vector subtract and multiply, single-precision.}
  4031. {
  4032. * vDSP_vsbm()
  4033. *
  4034. * Availability:
  4035. * Mac OS X: in version 10.4 and later in vecLib.framework
  4036. * CarbonLib: not available
  4037. * Non-Carbon CFM: not available
  4038. }
  4039. procedure vDSP_vsbm( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbm';
  4040. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4041. { Vector subtract and multiply, double-precision.}
  4042. {
  4043. * vDSP_vsbmD()
  4044. *
  4045. * Availability:
  4046. * Mac OS X: in version 10.4 and later in vecLib.framework
  4047. * CarbonLib: not available
  4048. * Non-Carbon CFM: not available
  4049. }
  4050. procedure vDSP_vsbmD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbmD';
  4051. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4052. { Vector subtract, subtract, and multiply, single-precision.}
  4053. {
  4054. * vDSP_vsbsbm()
  4055. *
  4056. * Availability:
  4057. * Mac OS X: in version 10.4 and later in vecLib.framework
  4058. * CarbonLib: not available
  4059. * Non-Carbon CFM: not available
  4060. }
  4061. procedure vDSP_vsbsbm( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float32Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbsbm';
  4062. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4063. { Vector subtract, subtract, and multiply, double-precision.}
  4064. {
  4065. * vDSP_vsbsbmD()
  4066. *
  4067. * Availability:
  4068. * Mac OS X: in version 10.4 and later in vecLib.framework
  4069. * CarbonLib: not available
  4070. * Non-Carbon CFM: not available
  4071. }
  4072. procedure vDSP_vsbsbmD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_E: Float64Ptr; __vDSP_M: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbsbmD';
  4073. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4074. { Vector subtract and scalar multiply, single-precision.}
  4075. {
  4076. * vDSP_vsbsm()
  4077. *
  4078. * Availability:
  4079. * Mac OS X: in version 10.4 and later in vecLib.framework
  4080. * CarbonLib: not available
  4081. * Non-Carbon CFM: not available
  4082. }
  4083. procedure vDSP_vsbsm( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbsm';
  4084. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4085. { Vector subtract and scalar multiply, double-precision.}
  4086. {
  4087. * vDSP_vsbsmD()
  4088. *
  4089. * Availability:
  4090. * Mac OS X: in version 10.4 and later in vecLib.framework
  4091. * CarbonLib: not available
  4092. * Non-Carbon CFM: not available
  4093. }
  4094. procedure vDSP_vsbsmD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsbsmD';
  4095. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4096. { Vector-scalar divide, single-precision.}
  4097. {
  4098. * vDSP_vsdiv()
  4099. *
  4100. * Availability:
  4101. * Mac OS X: in version 10.4 and later in vecLib.framework
  4102. * CarbonLib: not available
  4103. * Non-Carbon CFM: not available
  4104. }
  4105. procedure vDSP_vsdiv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsdiv';
  4106. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4107. { Vector-scalar divide, double-precision.}
  4108. {
  4109. * vDSP_vsdivD()
  4110. *
  4111. * Availability:
  4112. * Mac OS X: in version 10.4 and later in vecLib.framework
  4113. * CarbonLib: not available
  4114. * Non-Carbon CFM: not available
  4115. }
  4116. procedure vDSP_vsdivD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsdivD';
  4117. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4118. { Vector Simpson integration, single-precision.}
  4119. {
  4120. * vDSP_vsimps()
  4121. *
  4122. * Availability:
  4123. * Mac OS X: in version 10.4 and later in vecLib.framework
  4124. * CarbonLib: not available
  4125. * Non-Carbon CFM: not available
  4126. }
  4127. procedure vDSP_vsimps( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsimps';
  4128. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4129. { Vector Simpson integration, double-precision.}
  4130. {
  4131. * vDSP_vsimpsD()
  4132. *
  4133. * Availability:
  4134. * Mac OS X: in version 10.4 and later in vecLib.framework
  4135. * CarbonLib: not available
  4136. * Non-Carbon CFM: not available
  4137. }
  4138. procedure vDSP_vsimpsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsimpsD';
  4139. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4140. { Vector-scalar multiply and vector add, single-precision.}
  4141. {
  4142. * vDSP_vsma()
  4143. *
  4144. * Availability:
  4145. * Mac OS X: in version 10.4 and later in vecLib.framework
  4146. * CarbonLib: not available
  4147. * Non-Carbon CFM: not available
  4148. }
  4149. procedure vDSP_vsma( const __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; const __vDSP_B: Float32Ptr; const __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsma';
  4150. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4151. { Vector-scalar multiply and vector add, double-precision.}
  4152. {
  4153. * vDSP_vsmaD()
  4154. *
  4155. * Availability:
  4156. * Mac OS X: in version 10.4 and later in vecLib.framework
  4157. * CarbonLib: not available
  4158. * Non-Carbon CFM: not available
  4159. }
  4160. procedure vDSP_vsmaD( const __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; const __vDSP_B: Float64Ptr; const __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsmaD';
  4161. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4162. { Vector-scalar multiply and scalar add, single-precision.}
  4163. {
  4164. * vDSP_vsmsa()
  4165. *
  4166. * Availability:
  4167. * Mac OS X: in version 10.4 and later in vecLib.framework
  4168. * CarbonLib: not available
  4169. * Non-Carbon CFM: not available
  4170. }
  4171. procedure vDSP_vsmsa( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsmsa';
  4172. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4173. { Vector-scalar multiply and scalar add, double-precision.}
  4174. {
  4175. * vDSP_vsmsaD()
  4176. *
  4177. * Availability:
  4178. * Mac OS X: in version 10.4 and later in vecLib.framework
  4179. * CarbonLib: not available
  4180. * Non-Carbon CFM: not available
  4181. }
  4182. procedure vDSP_vsmsaD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsmsaD';
  4183. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4184. { Vector scalar multiply and vector subtract, single-precision.}
  4185. {
  4186. * vDSP_vsmsb()
  4187. *
  4188. * Availability:
  4189. * Mac OS X: in version 10.4 and later in vecLib.framework
  4190. * CarbonLib: not available
  4191. * Non-Carbon CFM: not available
  4192. }
  4193. procedure vDSP_vsmsb( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsmsb';
  4194. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4195. { Vector scalar multiply and vector subtract, double-precision.}
  4196. {
  4197. * vDSP_vsmsbD()
  4198. *
  4199. * Availability:
  4200. * Mac OS X: in version 10.4 and later in vecLib.framework
  4201. * CarbonLib: not available
  4202. * Non-Carbon CFM: not available
  4203. }
  4204. procedure vDSP_vsmsbD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vsmsbD';
  4205. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4206. { Vector sort, in-place, single-precision.}
  4207. {
  4208. * vDSP_vsort()
  4209. *
  4210. * Availability:
  4211. * Mac OS X: in version 10.4 and later in vecLib.framework
  4212. * CarbonLib: not available
  4213. * Non-Carbon CFM: not available
  4214. }
  4215. procedure vDSP_vsort( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsort';
  4216. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4217. { Vector sort, in-place, double-precision.}
  4218. {
  4219. * vDSP_vsortD()
  4220. *
  4221. * Availability:
  4222. * Mac OS X: in version 10.4 and later in vecLib.framework
  4223. * CarbonLib: not available
  4224. * Non-Carbon CFM: not available
  4225. }
  4226. procedure vDSP_vsortD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsortD';
  4227. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4228. { Vector sort, in-place, integer, single-precision.}
  4229. {
  4230. * vDSP_vsorti()
  4231. *
  4232. * Availability:
  4233. * Mac OS X: in version 10.4 and later in vecLib.framework
  4234. * CarbonLib: not available
  4235. * Non-Carbon CFM: not available
  4236. }
  4237. procedure vDSP_vsorti( __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; var __vDSP_List_addr: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsorti';
  4238. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4239. { Vector sort, in-place, integer, double-precision.}
  4240. {
  4241. * vDSP_vsortiD()
  4242. *
  4243. * Availability:
  4244. * Mac OS X: in version 10.4 and later in vecLib.framework
  4245. * CarbonLib: not available
  4246. * Non-Carbon CFM: not available
  4247. }
  4248. procedure vDSP_vsortiD( __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; var __vDSP_List_addr: vDSP_Length; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsortiD';
  4249. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4250. { Vector swap, single-precision.}
  4251. {
  4252. * vDSP_vswap()
  4253. *
  4254. * Availability:
  4255. * Mac OS X: in version 10.4 and later in vecLib.framework
  4256. * CarbonLib: not available
  4257. * Non-Carbon CFM: not available
  4258. }
  4259. procedure vDSP_vswap( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vswap';
  4260. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4261. { Vector swap, double-precision.}
  4262. {
  4263. * vDSP_vswapD()
  4264. *
  4265. * Availability:
  4266. * Mac OS X: in version 10.4 and later in vecLib.framework
  4267. * CarbonLib: not available
  4268. * Non-Carbon CFM: not available
  4269. }
  4270. procedure vDSP_vswapD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vswapD';
  4271. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4272. { Vector sliding window sum, single-precision.}
  4273. {
  4274. * vDSP_vswsum()
  4275. *
  4276. * Availability:
  4277. * Mac OS X: in version 10.4 and later in vecLib.framework
  4278. * CarbonLib: not available
  4279. * Non-Carbon CFM: not available
  4280. }
  4281. procedure vDSP_vswsum( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_vswsum';
  4282. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4283. { Vector sliding window sum, double-precision.}
  4284. {
  4285. * vDSP_vswsumD()
  4286. *
  4287. * Availability:
  4288. * Mac OS X: in version 10.4 and later in vecLib.framework
  4289. * CarbonLib: not available
  4290. * Non-Carbon CFM: not available
  4291. }
  4292. procedure vDSP_vswsumD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length; __vDSP_P: vDSP_Length ); external name '_vDSP_vswsumD';
  4293. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4294. { Vector table lookup and interpolation, single-precision.}
  4295. {
  4296. * vDSP_vtabi()
  4297. *
  4298. * Availability:
  4299. * Mac OS X: in version 10.4 and later in vecLib.framework
  4300. * CarbonLib: not available
  4301. * Non-Carbon CFM: not available
  4302. }
  4303. procedure vDSP_vtabi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_S1: Float32Ptr; __vDSP_S2: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_M: vDSP_Length; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtabi';
  4304. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4305. { Vector table lookup and interpolation, double-precision.}
  4306. {
  4307. * vDSP_vtabiD()
  4308. *
  4309. * Availability:
  4310. * Mac OS X: in version 10.4 and later in vecLib.framework
  4311. * CarbonLib: not available
  4312. * Non-Carbon CFM: not available
  4313. }
  4314. procedure vDSP_vtabiD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_S1: Float64Ptr; __vDSP_S2: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_M: vDSP_Length; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtabiD';
  4315. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4316. { Vector threshold, single-precision.}
  4317. {
  4318. * vDSP_vthr()
  4319. *
  4320. * Availability:
  4321. * Mac OS X: in version 10.4 and later in vecLib.framework
  4322. * CarbonLib: not available
  4323. * Non-Carbon CFM: not available
  4324. }
  4325. procedure vDSP_vthr( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthr';
  4326. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4327. { Vector threshold, double-precision.}
  4328. {
  4329. * vDSP_vthrD()
  4330. *
  4331. * Availability:
  4332. * Mac OS X: in version 10.4 and later in vecLib.framework
  4333. * CarbonLib: not available
  4334. * Non-Carbon CFM: not available
  4335. }
  4336. procedure vDSP_vthrD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthrD';
  4337. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4338. { Vector threshold with zero fill, single-precision.}
  4339. {
  4340. * vDSP_vthres()
  4341. *
  4342. * Availability:
  4343. * Mac OS X: in version 10.4 and later in vecLib.framework
  4344. * CarbonLib: not available
  4345. * Non-Carbon CFM: not available
  4346. }
  4347. procedure vDSP_vthres( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthres';
  4348. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4349. { Vector threshold with zero fill, double-precision.}
  4350. {
  4351. * vDSP_vthresD()
  4352. *
  4353. * Availability:
  4354. * Mac OS X: in version 10.4 and later in vecLib.framework
  4355. * CarbonLib: not available
  4356. * Non-Carbon CFM: not available
  4357. }
  4358. procedure vDSP_vthresD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthresD';
  4359. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4360. { Vector threshold with signed constant, single-precision.}
  4361. {
  4362. * vDSP_vthrsc()
  4363. *
  4364. * Availability:
  4365. * Mac OS X: in version 10.4 and later in vecLib.framework
  4366. * CarbonLib: not available
  4367. * Non-Carbon CFM: not available
  4368. }
  4369. procedure vDSP_vthrsc( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_D: Float32Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthrsc';
  4370. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4371. { Vector threshold with signed constant, double-precision.}
  4372. {
  4373. * vDSP_vthrscD()
  4374. *
  4375. * Availability:
  4376. * Mac OS X: in version 10.4 and later in vecLib.framework
  4377. * CarbonLib: not available
  4378. * Non-Carbon CFM: not available
  4379. }
  4380. procedure vDSP_vthrscD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_D: Float64Ptr; __vDSP_L: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vthrscD';
  4381. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4382. { Vector tapered merge, single-precision.}
  4383. {
  4384. * vDSP_vtmerg()
  4385. *
  4386. * Availability:
  4387. * Mac OS X: in version 10.4 and later in vecLib.framework
  4388. * CarbonLib: not available
  4389. * Non-Carbon CFM: not available
  4390. }
  4391. procedure vDSP_vtmerg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtmerg';
  4392. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4393. { Vector tapered merge, double-precision.}
  4394. {
  4395. * vDSP_vtmergD()
  4396. *
  4397. * Availability:
  4398. * Mac OS X: in version 10.4 and later in vecLib.framework
  4399. * CarbonLib: not available
  4400. * Non-Carbon CFM: not available
  4401. }
  4402. procedure vDSP_vtmergD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_J: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtmergD';
  4403. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4404. { Vector trapezoidal integration, single-precision.}
  4405. {
  4406. * vDSP_vtrapz()
  4407. *
  4408. * Availability:
  4409. * Mac OS X: in version 10.4 and later in vecLib.framework
  4410. * CarbonLib: not available
  4411. * Non-Carbon CFM: not available
  4412. }
  4413. procedure vDSP_vtrapz( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtrapz';
  4414. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4415. { Vector trapezoidal integration, double-precision.}
  4416. {
  4417. * vDSP_vtrapzD()
  4418. *
  4419. * Availability:
  4420. * Mac OS X: in version 10.4 and later in vecLib.framework
  4421. * CarbonLib: not available
  4422. * Non-Carbon CFM: not available
  4423. }
  4424. procedure vDSP_vtrapzD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vtrapzD';
  4425. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4426. { Wiener Levinson, single-precision.}
  4427. {
  4428. * vDSP_wiener()
  4429. *
  4430. * Availability:
  4431. * Mac OS X: in version 10.4 and later in vecLib.framework
  4432. * CarbonLib: not available
  4433. * Non-Carbon CFM: not available
  4434. }
  4435. procedure vDSP_wiener( __vDSP_L: vDSP_Length; __vDSP_A: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_F: Float32Ptr; __vDSP_P: Float32Ptr; __vDSP_IFLG: SInt32; var __vDSP_IERR: SInt32 ); external name '_vDSP_wiener';
  4436. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4437. { Wiener Levinson, double-precision.}
  4438. {
  4439. * vDSP_wienerD()
  4440. *
  4441. * Availability:
  4442. * Mac OS X: in version 10.4 and later in vecLib.framework
  4443. * CarbonLib: not available
  4444. * Non-Carbon CFM: not available
  4445. }
  4446. procedure vDSP_wienerD( __vDSP_L: vDSP_Length; __vDSP_A: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_F: Float64Ptr; __vDSP_P: Float64Ptr; __vDSP_IFLG: SInt32; var __vDSP_IERR: SInt32 ); external name '_vDSP_wienerD';
  4447. (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
  4448. { vDSP_FFT16_copv and vDSP_FFT32_copv perform 16- and 32-element FFTs on
  4449. interleaved complex unit-stride vector-block-aligned data.
  4450. Parameters:
  4451. float *Output
  4452. Pointer to space for output data (interleaved complex). This
  4453. address must be vector-block aligned.
  4454. const float *Input
  4455. Pointer to input data (interleaved complex). This address must be
  4456. vector-block aligned.
  4457. FFT_Direction Direction
  4458. Transform direction, FFT_FORWARD or FFT_INVERSE.
  4459. These routines calculate:
  4460. For 0 <= k < N,
  4461. H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
  4462. where:
  4463. N is 16 or 32, as specified by the routine name,
  4464. h[j] is Input[2*j+0] + i * Input[2*j+1] at routine entry,
  4465. H[j] is Output[2*j+0] + i * Output[2*j+1] at routine exit,
  4466. S is -1 if Direction is FFT_FORWARD and +1 if Direction is FFT_INVERSE,
  4467. and
  4468. 1**x is e**(2*pi*i*x).
  4469. Input and Output may be equal but may not otherwise overlap.
  4470. }
  4471. procedure vDSP_FFT16_copv( __vDSP_Output: Float32Ptr; {const} __vDSP_Input: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT16_copv';
  4472. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4473. procedure vDSP_FFT32_copv( __vDSP_Output: Float32Ptr; {const} __vDSP_Input: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT32_copv';
  4474. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4475. { vDSP_FFT16_zopv and vDSP_FFT32_zopv perform 16- and 32-element FFTs on
  4476. separated complex unit-stride vector-block-aligned data.
  4477. Parameters:
  4478. float *Or, float *Oi
  4479. Pointers to space for real and imaginary output data. These
  4480. addresses must be vector-block aligned.
  4481. const float *Ir, *Ii
  4482. Pointers to real and imaginary input data. These addresses must be
  4483. vector-block aligned.
  4484. FFT_Direction Direction
  4485. Transform direction, FFT_FORWARD or FFT_INVERSE.
  4486. These routines calculate:
  4487. For 0 <= k < N,
  4488. H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
  4489. where:
  4490. N is 16 or 32, as specified by the routine name,
  4491. h[j] is Ir[j] + i * Ii[j] at routine entry,
  4492. H[j] is Or[j] + i * Oi[j] at routine exit,
  4493. S is -1 if Direction is FFT_FORWARD and +1 if Direction is FFT_INVERSE,
  4494. and
  4495. 1**x is e**(2*pi*i*x).
  4496. Or may equal Ir or Ii, and Oi may equal Ii or Ir, but the ararys may not
  4497. otherwise overlap.
  4498. }
  4499. procedure vDSP_FFT16_zopv( __vDSP_Or: Float32Ptr; __vDSP_Oi: Float32Ptr; {const} __vDSP_Ir: Float32Ptr; {const} __vDSP_Ii: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT16_zopv';
  4500. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4501. procedure vDSP_FFT32_zopv( __vDSP_Or: Float32Ptr; __vDSP_Oi: Float32Ptr; {const} __vDSP_Ir: Float32Ptr; {const} __vDSP_Ii: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT32_zopv';
  4502. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4503. { How to use the Discrete Fourier Transform (DFT) interface.
  4504. There are three steps to performing a DFT:
  4505. Call a setup routine (e.g., vDSP_DFT_zop_CreateSetup) to get a setup
  4506. object.
  4507. This is a preparation step to be done when a program is starting or
  4508. is starting some new phase (e.g., when a communication channel is
  4509. opened). It should never be done during real-time processing. The
  4510. setup routine is slow and is called only once to prepare data that
  4511. can be used many times.
  4512. Call an execution routine (e.g., vDSP_DFT_Execute) to perform a DFT,
  4513. and pass it the setup object.
  4514. The execution routine is fast (for selected cases) and is generally
  4515. called many times.
  4516. Call a destroy routine (e.g., vDSP_DFT_DestroySetup) to release the
  4517. memory held by the setup object.
  4518. This is done when a program is ending or is ending some phase.
  4519. After calling a destroy routine, the setup data is no longer valid
  4520. and should not be used.
  4521. Discussion:
  4522. The current sequences of setup, execution, destroy routines are:
  4523. vDSP_DFT_zop_CreateSetup, vDSP_DFT_Execute, vDSP_DFT_DestroySetup;
  4524. vDSP_DFT_zrop_CreateSetup, vDSP_DFT_Execute, vDSP_DFT_DestroySetup;
  4525. vDSP_DFT_CreateSetup, vDSP_DFT_zop, vDSP_DFT_DestroySetup.
  4526. Sharing DFT setups:
  4527. Any setup returned by a DFT setup routine may be passed as input to
  4528. any DFT setup routine, in the parameter named Previous. (This
  4529. allows the setups to share data, avoiding unnecessary duplication
  4530. of some setup data.) Setup routines may be executed in any order.
  4531. Passing any setup of a group of setups sharing data will result in
  4532. a new setup sharing data with all of the group.
  4533. When calling an execution routine, each setup can be used only with
  4534. its intended execution routine. Thus the setup returned by
  4535. vDSP_DFT_CreateSetup can only be used with vDSP_DFT_zop and not
  4536. with vDSP_DFT_Execute.
  4537. vDSP_DFT_DestroySetup is used to destroy any DFT setup.
  4538. History:
  4539. vDSP_DFT_CreateSetup and vDSP_DFT_zop are the original vDSP DFT
  4540. routines. vDSP_DFT_zop_CreateSetup, vDSP_DFT_zrop_CreateSetup, and
  4541. vDSP_DFT_Execute are newer, more specialized DFT routines. These
  4542. newer routines do not have stride parameters (stride is one) and
  4543. incorporate the direction parameter into the setup. This reduces
  4544. the number of arguments passed to the execution routine, which
  4545. receives only the setup and four address parameters. Additionally,
  4546. the complex-to-complex DFT (zop) and real-to-complex DFT (zrop) use
  4547. the same execution routine (the setup indicates which function to
  4548. perform).
  4549. We recommend you use vDSP_DFT_zop_CreateSetup,
  4550. vDPS_DFT_zrop_CreateSetup, and vDSP_DFT_Execute, and that you not
  4551. use vDSP_DFT_CreateSetup and vDSP_DFT_zop.
  4552. Multithreading:
  4553. Never call a setup or destroy routine in a thread when any DFT routine
  4554. (setup, execution, or destroy) that shares setup data may be
  4555. executing. (This applies not just to multiple threads but also to
  4556. calling DFT routines in signal handlers.)
  4557. Multiple DFT execution routines may be called simultaneously. (Their
  4558. access to the setup data is read-only.)
  4559. If you need to call setup and/or destroy routines while other DFT
  4560. routines might be executing, you can either use Grand Central Dispatch
  4561. or locks (costs time) to avoid simultaneous execution or you can create
  4562. separate setup objects for them (costs memory).
  4563. }
  4564. { A vDSP_DFT_Setup object is a pointer to a structure whose definition is
  4565. unpublished.
  4566. }
  4567. type
  4568. vDSP_DFT_Setup = ^vDSP_DFT_SetupStruct;
  4569. vDSP_DFT_SetupStruct = record end;
  4570. // DFT direction may be specified as vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
  4571. const
  4572. vDSP_DFT_FORWARD = 1;
  4573. vDSP_DFT_INVERSE = -1;
  4574. type
  4575. vDSP_DFT_Direction = UInt32;
  4576. { vDSP_DFT_CreateSetup is a DFT setup routine. It creates a setup object
  4577. for use with the vDSP_DFT_zop execution routine. We recommend you use
  4578. vDSP_DFT_zop_CreateSetup instead of this routine.
  4579. Parameters:
  4580. vDSP_DFT_Setup Previous
  4581. Previous is either zero or a previous DFT setup. If a previous
  4582. setup is passed, the new setup will share data with the previous
  4583. setup, if feasible (and with any other setups the previous setup
  4584. shares with). If zero is passed, the routine will allocate and
  4585. initialize new memory.
  4586. vDSP_Length Length
  4587. Length is the number of complex elements to be transformed.
  4588. Return value:
  4589. Zero is returned if memory is unavailable.
  4590. The returned setup object may be used only with vDSP_DFT_zop for the length
  4591. given during setup. Unlike previous vDSP FFT routines, the setup may not
  4592. be used to execute transforms with shorter lengths.
  4593. Do not call this routine while any DFT routine sharing setup data might be
  4594. executing.
  4595. }
  4596. function vDSP_DFT_CreateSetup( __vDSP_Previous: vDSP_DFT_Setup; __vDSP_Length: vDSP_Length ): vDSP_DFT_Setup; external name '_vDSP_DFT_CreateSetup';
  4597. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4598. { vDSP_DFT_zop_CreateSetup is a DFT setup routine. It creates a setup object
  4599. for use with the vDSP_DFT_Execute execution routine, to perform a
  4600. complex-to-complex DFT.
  4601. Parameters:
  4602. vDSP_DFT_Setup Previous
  4603. Previous is either zero or a previous DFT setup. If a previous
  4604. setup is passed, the new setup will share data with the previous
  4605. setup, if feasible (and with any other setups the previous setup
  4606. shares with). If zero is passed, the routine will allocate and
  4607. initialize new memory.
  4608. vDSP_Length Length
  4609. Length is the number of complex elements to be transformed.
  4610. vDSP_DFT_Direction Direction
  4611. Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
  4612. Return value:
  4613. Zero is returned if memory is unavailable or if there is no
  4614. implementation for the requested case. Currently, the implemented
  4615. cases are:
  4616. Length = f * 2**n, where f is 3, 5, or 15 and 3 <= n.
  4617. Additionally, only cases where the array addresses (passed to
  4618. vDSP_DFT_Execute) are 16-byte aligned are optimized.
  4619. Function:
  4620. When vDSP_DFT_Execute is called with a setup returned from this
  4621. routine, it calculates:
  4622. For 0 <= k < N,
  4623. H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
  4624. where:
  4625. N is the length given in the setup;
  4626. h is the array of complex numbers specified by Ir and Ii when
  4627. vDSP_DFT_Execute is called:
  4628. for 0 <= j < N,
  4629. h[j] = Ir[j] + i * Ii[j];
  4630. H is the array of complex numbers specified by Or and Oi when
  4631. vDSP_DFT_Execute returns:
  4632. for 0 <= k < N,
  4633. H[k] = Or[k] + i * Oi[k];
  4634. S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
  4635. vDSP_DFT_INVERSE; and
  4636. 1**x is e**(2*pi*i*x).
  4637. Performance:
  4638. Performance is good for these cases:
  4639. All addresses are 16-byte aligned, and the length is f * 2**n,
  4640. where f is 3, 5, or 15 and 3 <= n.
  4641. Performance is extremely slow for all other cases.
  4642. In-Place Operation:
  4643. For the cases with good performance as described above, Or may equal Ir
  4644. and Oi may equal Ii (in the call to vDSP_DFT_Execute). Otherwise, no
  4645. overlap of Or, Oi, Ir, and Ii is supported.
  4646. The returned setup object may be used only with vDSP_DFT_Execute for the
  4647. length given during setup. Unlike previous vDSP FFT routines, the setup
  4648. may not be used to execute transforms with shorter lengths.
  4649. Do not call this routine while any DFT routine sharing setup data might be
  4650. executing.
  4651. }
  4652. function vDSP_DFT_zop_CreateSetup( __vDSP_Previous: vDSP_DFT_Setup; __vDSP_Length: vDSP_Length; __vDSP_Direction: vDSP_DFT_Direction ): vDSP_DFT_Setup; external name '_vDSP_DFT_zop_CreateSetup';
  4653. (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
  4654. { vDSP_DFT_zrop_CreateSetup is a DFT setup routine. It creates a setup
  4655. object for use with the vDSP_DFT_Execute execution routine, to perform a
  4656. real-to-complex DFT or a complex-to-real DFT.
  4657. Parameters:
  4658. vDSP_DFT_Setup Previous
  4659. Previous is either zero or a previous DFT setup. If a previous
  4660. setup is passed, the new setup will share data with the previous
  4661. setup, if feasible (and with any other setups the previous setup
  4662. shares with). If zero is passed, the routine will allocate and
  4663. initialize new memory.
  4664. vDSP_Length Length
  4665. Length is the number of real elements to be transformed (in a a
  4666. forward, real-to-complex transform) or produced (in a reverse,
  4667. complex-to-real transform). Length must be even.
  4668. vDSP_DFT_Direction Direction
  4669. Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
  4670. Return value:
  4671. Zero is returned if memory is unavailable or if there is no
  4672. implementation for the requested case. Currently, the implemented
  4673. cases are:
  4674. Length = f * 2**n, where f is 3, 5, or 15 and 4 <= n.
  4675. Additionally, only cases where the array addresses (passed to
  4676. vDSP_DFT_Execute) are 16-byte aligned are optimized.
  4677. Function:
  4678. When vDSP_DFT_Execute is called with a setup returned from this
  4679. routine, it calculates:
  4680. For 0 <= k < N,
  4681. H[k] = C * sum(1**(S * j*k/N) * h[j], 0 <= j < N),
  4682. where:
  4683. N is the Length given in the setup;
  4684. h is the array of numbers specified by Ir and Ii when
  4685. vDSP_DFT_Execute is called (see "Data Layout" below);
  4686. H is the array of numbers specified by Or and Oi when
  4687. vDSP_DFT_Execute returns (see "Data Layout" below);
  4688. C is 2 if Direction is vDSP_DFT_FORWARD and 1 if Direction is
  4689. vDSP_DFT_INVERSE;
  4690. S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
  4691. vDSP_DFT_INVERSE; and
  4692. 1**x is e**(2*pi*i*x).
  4693. Data Layout:
  4694. If Direction is vDSP_DFT_FORWARD, then:
  4695. h is an array of real numbers, with its even-index elements
  4696. stored in Ir and its odd-index elements stored in Ii:
  4697. For 0 <= j < N/2,
  4698. h[2*j+0] = Ir[j], and
  4699. h[2*j+1] = Ii[j].
  4700. H is an array of complex numbers, stored in Or and Oi:
  4701. H[0 ] = Or[0]. (H[0 ] is pure real.)
  4702. H[N/2] = Oi[0]. (H[N/2] is pure real.)
  4703. For 1 < k < N/2,
  4704. H[k] = Or[k] + i * Oi[k].
  4705. For N/2 < k < N, H[k] is not explicitly stored in memory but is
  4706. known because it necessarily equals the conjugate of H[N-k],
  4707. which is stored as described above.
  4708. If Direction is vDSP_DFT_Inverse, then the layouts of the input and
  4709. output arrays are swapped. Ir and Ii describe an input array with
  4710. complex elements laid out as described above for Or and Oi. When
  4711. vDSP_DFT_Execute returns, Or and Oi contain a pure real array, with
  4712. its even-index elements stored in Or and its odd-index elements in
  4713. Oi.
  4714. Performance:
  4715. Performance is good for these cases:
  4716. All addresses are 16-byte aligned, and the length is f * 2**n,
  4717. where f is 3, 5, or 15 and 4 <= n.
  4718. Performance is extremely slow for all other cases.
  4719. In-Place Operation:
  4720. For the cases with good performance as described above, Or may equal Ir
  4721. and Oi may equal Ii (in the call to vDSP_DFT_Execute). Otherwise, no
  4722. overlap of Or, Oi, Ir, and Ii is supported.
  4723. The returned setup object may be used only with vDSP_DFT_Execute for the
  4724. length given during setup. Unlike previous vDSP FFT routines, the setup
  4725. may not be used to execute transforms with shorter lengths.
  4726. Do not call this routine while any DFT routine sharing setup data might be
  4727. executing.
  4728. }
  4729. function vDSP_DFT_zrop_CreateSetup( __vDSP_Previous: vDSP_DFT_Setup; __vDSP_Length: vDSP_Length; __vDSP_Direction: vDSP_DFT_Direction ): vDSP_DFT_Setup; external name '_vDSP_DFT_zrop_CreateSetup';
  4730. (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
  4731. { vDSP_DFT_DestroySetup is a DFT destroy routine. It releases the memory
  4732. used by a setup object.
  4733. Parameters:
  4734. vDSP_DFT_Setup Setup
  4735. Setup is the setup object to be released. The object may have
  4736. been previously allocated with any DFT setup routine, such as
  4737. vDSP_DFT_zop_CreateSetup or vDSP_DFT_zrop_CreateSetup.
  4738. Destroying a setup with shared data is safe; it will release only memory
  4739. not needed by other undestroyed setups. Memory (and the data it contains)
  4740. is freed only when all setup objects using it have been destroyed.
  4741. Do not call this routine while any DFT routine sharing setup data might be
  4742. executing.
  4743. }
  4744. procedure vDSP_DFT_DestroySetup( __vDSP_Setup: vDSP_DFT_Setup ); external name '_vDSP_DFT_DestroySetup';
  4745. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4746. { vDSP_DFT_zop is a DFT execution routine. It performs a DFT, with the aid
  4747. of previously created setup data.
  4748. Parameters:
  4749. vDSP_DFT_Setup Setup
  4750. A setup object returned by a previous call to
  4751. vDSP_DFT_zop_CreateSetup.
  4752. const float *Ir
  4753. const float *Ii
  4754. Pointers to real and imaginary components of input data.
  4755. vDSP_Stride Is
  4756. The number of physical elements from one logical input element to
  4757. the next.
  4758. float *Or
  4759. float *Oi
  4760. Pointers to space for real and imaginary components of output
  4761. data.
  4762. The input and output arrays may not overlap except as specified
  4763. in "In-Place Operation", below.
  4764. vDSP_Stride Os
  4765. The number of physical elements from one logical output element to
  4766. the next.
  4767. vDSP_DFT_Direction Direction
  4768. Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
  4769. Observe there is no separate length parameter. The length is passed via
  4770. the setup object.
  4771. Performance:
  4772. Performance is good for these cases:
  4773. All addresses are 16-byte aligned, all strides are one, and the
  4774. length is f * 2**n, where f is 3, 5, or 15 and 3 <= n.
  4775. Performance is extremely slow for all other cases.
  4776. In-Place Operation:
  4777. For the cases with good performance as described above, Or may equal Ir
  4778. and Oi may equal Ii. Otherwise, no overlap of Or, Oi, Ir, and Ii is
  4779. supported.
  4780. This routine calculates:
  4781. For 0 <= k < N,
  4782. H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
  4783. where:
  4784. N is the length given in the setup,
  4785. h is the array of complex numbers specified by Ir, Ii, and Is at
  4786. routine entry:
  4787. h[j] = Ir[j*Is] + i * Ii[j*Is],
  4788. for 0 <= j < N,
  4789. H is the array of complex numbers stored as specified by Or, Oi, and Os
  4790. at routine exit:
  4791. H[k] = Or[k*Os] + i * Oi[k*Os],
  4792. for 0 <= k < N,
  4793. S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
  4794. vDSP_DFT_INVERSE, and
  4795. 1**x is e**(2*pi*i*x).
  4796. Do not call this routine while any DFT setup or destroy routine sharing
  4797. setup data might be executing.
  4798. }
  4799. procedure vDSP_DFT_zop( {const} __vDSP_Setup: vDSP_DFT_Setup; {const} __vDSP_Ir: Float32Ptr; {const} __vDSP_Ii: Float32Ptr; __vDSP_Is: vDSP_Stride; __vDSP_Or: Float32Ptr; __vDSP_Oi: Float32Ptr; __vDSP_Os: vDSP_Stride; __vDSP_Direction: vDSP_DFT_Direction ); external name '_vDSP_DFT_zop';
  4800. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4801. { vDSP_DFT_Execute is a DFT execution routine. It performs a DFT, with the
  4802. aid of previously created setup data.
  4803. Parameters:
  4804. vDSP_DFT_Setup Setup
  4805. A setup object returned by a previous call to
  4806. vDSP_DFT_zop_CreateSetup or vDSP_DFT_zrop_CreateSetup.
  4807. const float *Ir
  4808. const float *Ii
  4809. Pointers to input data.
  4810. float *Or
  4811. float *Oi
  4812. Pointers to output data.
  4813. The input and output arrays may not overlap except as specified
  4814. in "In-Place Operation", below.
  4815. Performance and In-Place Operation:
  4816. See notes for the setup routine for the operation being executed.
  4817. Function:
  4818. The function performed by this routine is determined by the setup
  4819. passed to it. The documentation for the routine used to create the
  4820. setup describes the function.
  4821. Note that different numbers of elements are required when this routine
  4822. is called, depending on the setup used:
  4823. When the setup is from vDSP_zop_CreateSetup, each array (Ir, Ii,
  4824. Or, and Oi) must have Length elements.
  4825. When the setup is from vDSP_zrop_CreateSetup, each array (Ir, Ii,
  4826. Or, and Oi) must have Length/2 elements.
  4827. Do not call this routine while any DFT setup or destroy routine sharing
  4828. setup data might be executing.
  4829. }
  4830. procedure vDSP_DFT_Execute( {const} __vDSP_Setup: vDSP_DFT_Setup; {const} __vDSP_Ir: Float32Ptr; {const} __vDSP_Ii: Float32Ptr; __vDSP_Or: Float32Ptr; __vDSP_Oi: Float32Ptr ); external name '_vDSP_DFT_Execute';
  4831. (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
  4832. { vDSP_dotpr2, vector single-precision stereo dot product.
  4833. Function:
  4834. This routine calculates the dot product of A0 with B and the dot
  4835. product of A1 with B. This is functionally equivalent to calculating
  4836. two dot products but might execute faster.
  4837. In pseudocode, the operation is:
  4838. sum0 = 0;
  4839. sum1 = 0;
  4840. for (i = 0; i < Length; ++i)
  4841. (
  4842. sum0 += A0[i*A0Stride] * B[i*BStride];
  4843. sum1 += A1[i*A1Stride] * B[i*BStride];
  4844. )
  4845. *C0 = sum0;
  4846. *C1 = sum1;
  4847. Input:
  4848. const float *A0, vDSP_Stride A0Stride.
  4849. Starting address and stride for input vector A0.
  4850. const float *A1, vDSP_Stride A1Stride.
  4851. Starting address and stride for input vector A1.
  4852. const float *B, vDSP_Stride BStride.
  4853. Starting address and stride for input vector B.
  4854. float *C0.
  4855. Address for dot product of A0 and B.
  4856. float *C1.
  4857. Address for dot product of A1 and B.
  4858. vDSP_Length Length.
  4859. Number of elements in each vector.
  4860. Output:
  4861. The results are written to *C0 and *C1.
  4862. }
  4863. procedure vDSP_dotpr2( {const} __vDSP_A0: Float32Ptr; __vDSP_A0Stride: vDSP_Stride; {const} __vDSP_A1: Float32Ptr; __vDSP_A1Stride: vDSP_Stride; {const} __vDSP_B: Float32Ptr; __vDSP_BStride: vDSP_Stride; __vDSP_C0: Float32Ptr; __vDSP_C1: Float32Ptr; __vDSP_Length: vDSP_Length ); external name '_vDSP_dotpr2';
  4864. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4865. { vDSP_dotpr_s1_15, vector integer 1.15 format dot product.
  4866. Function:
  4867. This routine calculates the dot product of A with B.
  4868. In pseudocode, the operation is:
  4869. sum = 0;
  4870. for (i = 0; i < N; ++i)
  4871. (
  4872. sum0 += A[i*AStride] * B[i*BStride];
  4873. )
  4874. *C = sum;
  4875. The elements are fixed-point numbers, each with one sign bit and 15
  4876. fraction bits. Where the value of the short int is normally x, it is
  4877. x/32768 for the purposes of this routine.
  4878. Input:
  4879. const short int *A, vDSP_Stride AStride.
  4880. Starting address and stride for input vector A.
  4881. const short int *B, vDSP_Stride BStride.
  4882. Starting address and stride for input vector B.
  4883. short int *C.
  4884. Address for dot product of A and B.
  4885. vDSP_Length N.
  4886. Number of elements in each vector.
  4887. Output:
  4888. The result is written to *C.
  4889. }
  4890. procedure vDSP_dotpr_s1_15( {const} __vDSP_A: SInt16Ptr; __vDSP_AStride: vDSP_Stride; {const} __vDSP_B: SInt16Ptr; __vDSP_BStride: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_dotpr_s1_15';
  4891. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4892. { vDSP_dotpr2_s1_15, vector integer 1.15 format stereo dot product.
  4893. Function:
  4894. This routine calculates the dot product of A0 with B and the dot
  4895. product of A1 with B. This is functionally equivalent to calculating
  4896. two dot products but might execute faster.
  4897. In pseudocode, the operation is:
  4898. sum0 = 0;
  4899. sum1 = 0;
  4900. for (i = 0; i < N; ++i)
  4901. (
  4902. sum0 += A0[i*A0Stride] * B[i*BStride];
  4903. sum1 += A1[i*A1Stride] * B[i*BStride];
  4904. )
  4905. *C0 = sum0;
  4906. *C1 = sum1;
  4907. The elements are fixed-point numbers, each with one sign bit and 15
  4908. fraction bits. Where the value of the short int is normally x, it is
  4909. x/32768 for the purposes of this routine.
  4910. Input:
  4911. const short int *A0, vDSP_Stride A0Stride.
  4912. Starting address and stride for input vector A0.
  4913. const short int *A1, vDSP_Stride A1Stride.
  4914. Starting address and stride for input vector A1.
  4915. const short int *B, vDSP_Stride BStride.
  4916. Starting address and stride for input vector B.
  4917. short int *C0.
  4918. Address for dot product of A0 and B.
  4919. short int *C1.
  4920. Address for dot product of A1 and B.
  4921. vDSP_Length N.
  4922. Number of elements in each vector.
  4923. Output:
  4924. The results are written to *C0 and *C1.
  4925. }
  4926. procedure vDSP_dotpr2_s1_15( {const} __vDSP_A0: SInt16Ptr; __vDSP_A0Stride: vDSP_Stride; {const} __vDSP_A1: SInt16Ptr; __vDSP_A1Stride: vDSP_Stride; {const} __vDSP_B: SInt16Ptr; __vDSP_BStride: vDSP_Stride; __vDSP_C0: SInt16Ptr; __vDSP_C1: SInt16Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_dotpr2_s1_15';
  4927. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4928. { vDSP_dotpr_s8_24, vector integer 8.24 format dot product.
  4929. Function:
  4930. This routine calculates the dot product of A with B.
  4931. In pseudocode, the operation is:
  4932. sum = 0;
  4933. for (i = 0; i < N; ++i)
  4934. (
  4935. sum0 += A[i*AStride] * B[i*BStride];
  4936. )
  4937. *C = sum;
  4938. The elements are fixed-point numbers, each with eight integer bits
  4939. (including sign) and 24 fraction bits. Where the value of the int is
  4940. normally x, it is x/16777216 for the purposes of this routine.
  4941. Input:
  4942. const int *A, vDSP_Stride AStride.
  4943. Starting address and stride for input vector A.
  4944. const int *B, vDSP_Stride BStride.
  4945. Starting address and stride for input vector B.
  4946. int *C.
  4947. Address for dot product of A and B.
  4948. vDSP_Length N.
  4949. Number of elements in each vector.
  4950. Output:
  4951. The result is written to *C.
  4952. }
  4953. procedure vDSP_dotpr_s8_24( {const} __vDSP_A: SInt32Ptr; __vDSP_AStride: vDSP_Stride; {const} __vDSP_B: SInt32Ptr; __vDSP_BStride: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_dotpr_s8_24';
  4954. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4955. { vDSP_dotpr2_s8_24, vector integer 8.24 format stereo dot product.
  4956. Function:
  4957. This routine calculates the dot product of A0 with B and the dot
  4958. product of A1 with B. This is functionally equivalent to calculating
  4959. two dot products but might execute faster.
  4960. In pseudocode, the operation is:
  4961. sum0 = 0;
  4962. sum1 = 0;
  4963. for (i = 0; i < N; ++i)
  4964. (
  4965. sum0 += A0[i*A0Stride] * B[i*BStride];
  4966. sum1 += A1[i*A1Stride] * B[i*BStride];
  4967. )
  4968. *C0 = sum0;
  4969. *C1 = sum1;
  4970. The elements are fixed-point numbers, each with eight integer bits
  4971. (including sign) and 24 fraction bits. Where the value of the int is
  4972. normally x, it is x/16777216 for the purposes of this routine.
  4973. Input:
  4974. const int *A0, vDSP_Stride A0Stride.
  4975. Starting address and stride for input vector A0.
  4976. const int *A1, vDSP_Stride A1Stride.
  4977. Starting address and stride for input vector A1.
  4978. const int *B, vDSP_Stride BStride.
  4979. Starting address and stride for input vector B.
  4980. int *C0.
  4981. Address for dot product of A0 and B.
  4982. int *C1.
  4983. Address for dot product of A1 and B.
  4984. vDSP_Length N.
  4985. Number of elements in each vector.
  4986. Output:
  4987. The results are written to *C0 and *C1.
  4988. }
  4989. procedure vDSP_dotpr2_s8_24( {const} __vDSP_A0: SInt32Ptr; __vDSP_A0Stride: vDSP_Stride; {const} __vDSP_A1: SInt32Ptr; __vDSP_A1Stride: vDSP_Stride; {const} __vDSP_B: SInt32Ptr; __vDSP_BStride: vDSP_Stride; __vDSP_C0: SInt32Ptr; __vDSP_C1: SInt32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_dotpr2_s8_24';
  4990. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  4991. { vDSP_vrampmul, vector single-precision vramp and multiply.
  4992. This routine puts into O the product of I and a ramp function with initial
  4993. value *Start and slope *Step. *Start is updated to continue the ramp
  4994. in a consecutive call. To continue the ramp smoothly, the new value of
  4995. *Step includes rounding errors accumulated during the routine rather than
  4996. being calculated directly as *Start + N * *Step.
  4997. This routine calculates:
  4998. for (i = 0; i < N; ++i)
  4999. (
  5000. O[i*OS] = *Start * I[i*IS];
  5001. *Start += *Step;
  5002. )
  5003. Input:
  5004. const float *I, vDSP_Stride IS.
  5005. Starting address and stride for the input vector.
  5006. float *Start.
  5007. Starting value for the ramp.
  5008. const float *Step.
  5009. Value of the step for the ramp.
  5010. float *O, vDSP_Stride *OS.
  5011. Starting address and stride for the output vector.
  5012. vDSP_Length Length.
  5013. Number of elements in each vector.
  5014. Output:
  5015. The results are written to O.
  5016. On return, *Start contains initial *Start + N * *Step.
  5017. }
  5018. procedure vDSP_vrampmul( {const} __vDSP_I: Float32Ptr; __vDSP_IS: vDSP_Stride; {var} __vDSP_Start: Float32Ptr; {const} __vDSP_Step: Float32Ptr; __vDSP_O: Float32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul';
  5019. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5020. { vDSP_vrampmuladd, vector single-precision vramp, multiply and add.
  5021. This routine adds to O the product of I and a ramp function with initial
  5022. value *Start and slope *Step. *Start is updated to continue the ramp in a
  5023. consecutive call. To continue the ramp smoothly, the new value of *Step
  5024. includes rounding errors accumulated during the routine rather than being
  5025. calculated directly as *Start + N * *Step.
  5026. This routine calculates:
  5027. for (i = 0; i < N; ++i)
  5028. (
  5029. O[i*OS] += *Start * I[i*IS];
  5030. *Start += *Step;
  5031. )
  5032. Input:
  5033. const float *I, vDSP_Stride IS.
  5034. Starting address and stride for the input vector.
  5035. float *Start.
  5036. Starting value for the ramp.
  5037. const float *Step.
  5038. Value of the step for the ramp.
  5039. float *O, vDSP_Stride *OS.
  5040. Starting address and stride for the output vector.
  5041. vDSP_Length Length.
  5042. Number of elements in each vector.
  5043. Output:
  5044. The results are added to O.
  5045. On return, *Start contains initial *Start + N * *Step.
  5046. }
  5047. procedure vDSP_vrampmuladd( {const} __vDSP_I: Float32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: Float32Ptr; {const} __vDSP_Step: Float32Ptr; __vDSP_O: Float32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd';
  5048. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5049. { vDSP_vrampmul2, stereo vector single-precision vramp and multiply.
  5050. This routine:
  5051. Puts into O0 the product of I0 and a ramp function with initial value
  5052. *Start and slope *Step.
  5053. Puts into O1 the product of I1 and a ramp function with initial value
  5054. *Start and slope *Step.
  5055. *Start is updated to continue the ramp in a consecutive call. To continue
  5056. the ramp smoothly, the new value of *Step includes rounding errors
  5057. accumulated during the routine rather than being calculated directly as
  5058. *Start + N * *Step.
  5059. This routine calculates:
  5060. for (i = 0; i < N; ++i)
  5061. (
  5062. O0[i*OS] = *Start * I0[i*IS];
  5063. O1[i*OS] = *Start * I1[i*IS];
  5064. *Start += *Step;
  5065. )
  5066. Input:
  5067. const float *I0, const float *I1, vDSP_Stride IS.
  5068. Starting addresses of both inputs and stride for the input vectors.
  5069. float *Start.
  5070. Starting value for the ramp.
  5071. const float *Step.
  5072. Value of the step for the ramp.
  5073. float *O0, float *O1, vDSP_Stride *OS.
  5074. Starting addresses of both outputs and stride for the output vectors.
  5075. vDSP_Length Length.
  5076. Number of elements in each vector.
  5077. Output:
  5078. The results are written to O0 and O1.
  5079. On return, *Start contains initial *Start + N * *Step.
  5080. }
  5081. procedure vDSP_vrampmul2( {const} __vDSP_I0: Float32Ptr; {const} __vDSP_I1: Float32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: Float32Ptr; {const} __vDSP_Step: Float32Ptr; __vDSP_O0: Float32Ptr; __vDSP_O1: Float32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul2';
  5082. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5083. { vDSP_vrampmuladd2, stereo vector single-precision vramp, multiply and add.
  5084. This routine:
  5085. Adds to O0 the product of I0 and a ramp function with initial value
  5086. *Start and slope *Step.
  5087. Adds to O1 the product of I1 and a ramp function with initial value
  5088. *Start and slope *Step.
  5089. *Start is updated to continue the ramp in a consecutive call. To continue
  5090. the ramp smoothly, the new value of *Step includes rounding errors
  5091. accumulated during the routine rather than being calculated directly as
  5092. *Start + N * *Step.
  5093. This routine calculates:
  5094. for (i = 0; i < N; ++i)
  5095. (
  5096. O0[i*OS] += *Start * I0[i*IS];
  5097. O1[i*OS] += *Start * I1[i*IS];
  5098. *Start += *Step;
  5099. )
  5100. Input:
  5101. const float *I0, const float *I1, vDSP_Stride IS.
  5102. Starting addresses of both inputs and stride for the input vectors.
  5103. float *Start.
  5104. Starting value for the ramp.
  5105. const float *Step.
  5106. Value of the step for the ramp.
  5107. float *O0, float *O1, vDSP_Stride *OS.
  5108. Starting addresses of both outputs and stride for the output vectors.
  5109. vDSP_Length Length.
  5110. Number of elements in each vector.
  5111. Output:
  5112. The results are written to O0 and O1.
  5113. On return, *Start contains initial *Start + N * *Step.
  5114. }
  5115. procedure vDSP_vrampmuladd2( {const} __vDSP_I0: Float32Ptr; {const} __vDSP_I1: Float32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: Float32Ptr; {const} __vDSP_Step: Float32Ptr; __vDSP_O0: Float32Ptr; __vDSP_O1: Float32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd2';
  5116. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5117. { vDSP_vrampmul_s1_15, vector integer 1.15 format vramp and multiply.
  5118. This routine puts into O the product of I and a ramp function with initial
  5119. value *Start and slope *Step. *Start is updated to continue the ramp
  5120. in a consecutive call.
  5121. This routine calculates:
  5122. for (i = 0; i < N; ++i)
  5123. (
  5124. O[i*OS] = *Start * I[i*IS];
  5125. *Start += *Step;
  5126. )
  5127. The elements are fixed-point numbers, each with one sign bit and 15
  5128. fraction bits. Where the value of the short int is normally x, it is
  5129. x/32768 for the purposes of this routine.
  5130. Input:
  5131. const short int *I, vDSP_Stride IS.
  5132. Starting address and stride for the input vector.
  5133. short int *Start.
  5134. Starting value for the ramp.
  5135. const short int *Step.
  5136. Value of the step for the ramp.
  5137. short int *O, vDSP_Stride *OS.
  5138. Starting address and stride for the output vector.
  5139. vDSP_Length Length.
  5140. Number of elements in each vector.
  5141. Output:
  5142. The results are written to O.
  5143. On return, *Start contains initial *Start + N * *Step.
  5144. }
  5145. procedure vDSP_vrampmul_s1_15( {const} __vDSP_I: SInt16Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt16Ptr; {const} __vDSP_Step: SInt16Ptr; __vDSP_O: SInt16Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul_s1_15';
  5146. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5147. { vDSP_vrampmuladd_s1_15, vector integer 1.15 format vramp, multiply and add.
  5148. This routine adds to O the product of I and a ramp function with initial
  5149. value *Start and slope *Step. *Start is updated to continue the ramp in a
  5150. consecutive call.
  5151. This routine calculates:
  5152. for (i = 0; i < N; ++i)
  5153. (
  5154. O[i*OS] += *Start * I[i*IS];
  5155. *Start += *Step;
  5156. )
  5157. The elements are fixed-point numbers, each with one sign bit and 15
  5158. fraction bits. Where the value of the short int is normally x, it is
  5159. x/32768 for the purposes of this routine.
  5160. Input:
  5161. const short int *I, vDSP_Stride IS.
  5162. Starting address and stride for the input vector.
  5163. short int *Start.
  5164. Starting value for the ramp.
  5165. const short int *Step.
  5166. Value of the step for the ramp.
  5167. short int *O, vDSP_Stride *OS.
  5168. Starting address and stride for the output vector.
  5169. vDSP_Length Length.
  5170. Number of elements in each vector.
  5171. Output:
  5172. The results are added to O.
  5173. On return, *Start contains initial *Start + N * *Step.
  5174. }
  5175. procedure vDSP_vrampmuladd_s1_15( {const} __vDSP_I: SInt16Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt16Ptr; {const} __vDSP_Step: SInt16Ptr; __vDSP_O: SInt16Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd_s1_15';
  5176. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5177. { vDSP_vrampmul2_s1_15, stereo vector integer 1.15 format vramp and multiply.
  5178. This routine:
  5179. Puts into O0 the product of I0 and a ramp function with initial value
  5180. *Start and slope *Step.
  5181. Puts into O1 the product of I1 and a ramp function with initial value
  5182. *Start and slope *Step.
  5183. *Start is updated to continue the ramp in a consecutive call.
  5184. This routine calculates:
  5185. for (i = 0; i < N; ++i)
  5186. (
  5187. O0[i*OS] = *Start * I0[i*IS];
  5188. O1[i*OS] = *Start * I1[i*IS];
  5189. *Start += *Step;
  5190. )
  5191. The elements are fixed-point numbers, each with one sign bit and 15
  5192. fraction bits. Where the value of the short int is normally x, it is
  5193. x/32768 for the purposes of this routine.
  5194. Input:
  5195. const short int *I0, const short int *I1, vDSP_Stride IS.
  5196. Starting addresses of both inputs and stride for the input vectors.
  5197. short int *Start.
  5198. Starting value for the ramp.
  5199. const short int *Step.
  5200. Value of the step for the ramp.
  5201. short int *O0, short int *O1, vDSP_Stride *OS.
  5202. Starting addresses of both outputs and stride for the output vectors.
  5203. vDSP_Length Length.
  5204. Number of elements in each vector.
  5205. Output:
  5206. The results are written to O0 and O1.
  5207. On return, *Start contains initial *Start + N * *Step.
  5208. }
  5209. procedure vDSP_vrampmul2_s1_15( {const} __vDSP_I0: SInt16Ptr; {const} __vDSP_I1: SInt16Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt16Ptr; {const} __vDSP_Step: SInt16Ptr; __vDSP_O0: SInt16Ptr; __vDSP_O1: SInt16Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul2_s1_15';
  5210. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5211. { vDSP_vrampmuladd2_s1_15, stereo vector integer 1.15 format vramp, multiply
  5212. and add.
  5213. This routine:
  5214. Adds to O0 the product of I0 and a ramp function with initial value
  5215. *Start and slope *Step.
  5216. Adds to O1 the product of I1 and a ramp function with initial value
  5217. *Start and slope *Step.
  5218. *Start is updated to continue the ramp in a consecutive call.
  5219. This routine calculates:
  5220. for (i = 0; i < N; ++i)
  5221. (
  5222. O0[i*OS] += *Start * I0[i*IS];
  5223. O1[i*OS] += *Start * I1[i*IS];
  5224. *Start += *Step;
  5225. )
  5226. The elements are fixed-point numbers, each with one sign bit and 15
  5227. fraction bits. Where the value of the short int is normally x, it is
  5228. x/32768 for the purposes of this routine.
  5229. Input:
  5230. const short int *I0, const short int *I1, vDSP_Stride IS.
  5231. Starting addresses of both inputs and stride for the input vectors.
  5232. short int *Start.
  5233. Starting value for the ramp.
  5234. const short int *Step.
  5235. Value of the step for the ramp.
  5236. short int *O0, short int *O1, vDSP_Stride *OS.
  5237. Starting addresses of both outputs and stride for the output vectors.
  5238. vDSP_Length Length.
  5239. Number of elements in each vector.
  5240. Output:
  5241. The results are added to O0 and O1.
  5242. On return, *Start contains initial *Start + N * *Step.
  5243. }
  5244. procedure vDSP_vrampmuladd2_s1_15( {const} __vDSP_I0: SInt16Ptr; {const} __vDSP_I1: SInt16Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt16Ptr; {const} __vDSP_Step: SInt16Ptr; __vDSP_O0: SInt16Ptr; __vDSP_O1: SInt16Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd2_s1_15';
  5245. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5246. { vDSP_vrampmul_s8_24, vector integer 8.24 format vramp and multiply.
  5247. This routine puts into O the product of I and a ramp function with initial
  5248. value *Start and slope *Step. *Start is updated to continue the ramp
  5249. in a consecutive call.
  5250. This routine calculates:
  5251. for (i = 0; i < N; ++i)
  5252. (
  5253. O[i*OS] = *Start * I[i*IS];
  5254. *Start += *Step;
  5255. )
  5256. The elements are fixed-point numbers, each with eight integer bits
  5257. (including sign) and 24 fraction bits. Where the value of the int is
  5258. normally x, it is x/16777216 for the purposes of this routine.
  5259. Input:
  5260. const int *I, vDSP_Stride IS.
  5261. Starting address and stride for the input vector.
  5262. int *Start.
  5263. Starting value for the ramp.
  5264. const int *Step.
  5265. Value of the step for the ramp.
  5266. int *O, vDSP_Stride *OS.
  5267. Starting address and stride for the output vector.
  5268. vDSP_Length Length.
  5269. Number of elements in each vector.
  5270. Output:
  5271. The results are written to O.
  5272. On return, *Start contains initial *Start + N * *Step.
  5273. }
  5274. procedure vDSP_vrampmul_s8_24( {const} __vDSP_I: SInt32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt32Ptr; {const} __vDSP_Step: SInt32Ptr; __vDSP_O: SInt32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul_s8_24';
  5275. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5276. { vDSP_vrampmuladd_s8_24, vector integer 8.24 format vramp, multiply and add.
  5277. This routine adds to O the product of I and a ramp function with initial
  5278. value *Start and slope *Step. *Start is updated to continue the ramp in a
  5279. consecutive call.
  5280. This routine calculates:
  5281. for (i = 0; i < N; ++i)
  5282. (
  5283. O[i*OS] += *Start * I[i*IS];
  5284. *Start += *Step;
  5285. )
  5286. The elements are fixed-point numbers, each with eight integer bits
  5287. (including sign) and 24 fraction bits. Where the value of the int is
  5288. normally x, it is x/16777216 for the purposes of this routine.
  5289. Input:
  5290. const int *I, vDSP_Stride IS.
  5291. Starting address and stride for the input vector.
  5292. int *Start.
  5293. Starting value for the ramp.
  5294. const int *Step.
  5295. Value of the step for the ramp.
  5296. int *O, vDSP_Stride *OS.
  5297. Starting address and stride for the output vector.
  5298. vDSP_Length Length.
  5299. Number of elements in each vector.
  5300. Output:
  5301. The results are added to O.
  5302. On return, *Start contains initial *Start + N * *Step.
  5303. }
  5304. procedure vDSP_vrampmuladd_s8_24( {const} __vDSP_I: SInt32Ptr; __vDSP_IS: vDSP_Stride; var __vDSP_Start: SInt32; {const} __vDSP_Step: SInt32Ptr; __vDSP_O: SInt32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd_s8_24';
  5305. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5306. { vDSP_vrampmul2_s8_24, stereo vector integer 8.24 format vramp and multiply.
  5307. This routine:
  5308. Puts into O0 the product of I0 and a ramp function with initial value
  5309. *Start and slope *Step.
  5310. Puts into O1 the product of I1 and a ramp function with initial value
  5311. *Start and slope *Step.
  5312. *Start is updated to continue the ramp in a consecutive call.
  5313. This routine calculates:
  5314. for (i = 0; i < N; ++i)
  5315. (
  5316. O0[i*OS] = *Start * I0[i*IS];
  5317. O1[i*OS] = *Start * I1[i*IS];
  5318. *Start += *Step;
  5319. )
  5320. The elements are fixed-point numbers, each with eight integer bits
  5321. (including sign) and 24 fraction bits. Where the value of the int is
  5322. normally x, it is x/16777216 for the purposes of this routine.
  5323. Input:
  5324. const int *I0, const int *I1, vDSP_Stride IS.
  5325. Starting addresses of both inputs and stride for the input vectors.
  5326. int *Start.
  5327. Starting value for the ramp.
  5328. const int *Step.
  5329. Value of the step for the ramp.
  5330. int *O0, int *O1, vDSP_Stride *OS.
  5331. Starting addresses of both outputs and stride for the output vectors.
  5332. vDSP_Length Length.
  5333. Number of elements in each vector.
  5334. Output:
  5335. The results are written to O0 and O1.
  5336. On return, *Start contains initial *Start + N * *Step.
  5337. }
  5338. procedure vDSP_vrampmul2_s8_24( {const} __vDSP_I0: SInt32Ptr; {const} __vDSP_I1: SInt32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt32Ptr; {const} __vDSP_Step: SInt32Ptr; __vDSP_O0: SInt32Ptr; __vDSP_O1: SInt32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmul2_s8_24';
  5339. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5340. { vDSP_vrampmuladd2_s8_24, stereo vector integer 8.24 format vramp, multiply
  5341. and add.
  5342. This routine:
  5343. Adds to O0 the product of I0 and a ramp function with initial value
  5344. *Start and slope *Step.
  5345. Adds to O1 the product of I1 and a ramp function with initial value
  5346. *Start and slope *Step.
  5347. *Start is updated to continue the ramp in a consecutive call.
  5348. This routine calculates:
  5349. for (i = 0; i < N; ++i)
  5350. (
  5351. O0[i*OS] += *Start * I0[i*IS];
  5352. O1[i*OS] += *Start * I1[i*IS];
  5353. *Start += *Step;
  5354. )
  5355. The elements are fixed-point numbers, each with eight integer bits
  5356. (including sign) and 24 fraction bits. Where the value of the int is
  5357. normally x, it is x/16777216 for the purposes of this routine.
  5358. Input:
  5359. const int *I0, const int *I1, vDSP_Stride IS.
  5360. Starting addresses of both inputs and stride for the input vectors.
  5361. int *Start.
  5362. Starting value for the ramp.
  5363. const int *Step.
  5364. Value of the step for the ramp.
  5365. int *O0, int *O1, vDSP_Stride *OS.
  5366. Starting addresses of both outputs and stride for the output vectors.
  5367. vDSP_Length Length.
  5368. Number of elements in each vector.
  5369. Output:
  5370. The results are written to O0 and O1.
  5371. On return, *Start contains initial *Start + N * *Step.
  5372. }
  5373. procedure vDSP_vrampmuladd2_s8_24( {const} __vDSP_I0: SInt32Ptr; {const} __vDSP_I1: SInt32Ptr; __vDSP_IS: vDSP_Stride; __vDSP_Start: SInt32Ptr; {const} __vDSP_Step: SInt32Ptr; __vDSP_O0: SInt32Ptr; __vDSP_O1: SInt32Ptr; __vDSP_OS: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampmuladd2_s8_24';
  5374. (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
  5375. {$ifc undefined USE_NONE_APPLE_STANDARD_DATATYPES}
  5376. {$setc USE_NON_APPLE_STANDARD_DATATYPES := 1}
  5377. {$endc} {not defined USE_NON_APPLE_STANDARD_DATATYPES }
  5378. {$ifc USE_NON_APPLE_STANDARD_DATATYPES}
  5379. const
  5380. FFT_FORWARD = kFFTDirection_Forward;
  5381. FFT_INVERSE = kFFTDirection_Inverse;
  5382. const
  5383. FFT_RADIX2 = kFFTRadix2;
  5384. FFT_RADIX3 = kFFTRadix3;
  5385. FFT_RADIX5 = kFFTRadix5;
  5386. type
  5387. COMPLEX = DSPComplex;
  5388. COMPLEX_SPLIT = DSPSplitComplex;
  5389. DOUBLE_COMPLEX = DSPDoubleComplex;
  5390. DOUBLE_COMPLEX_SPLIT = DSPDoubleSplitComplex;
  5391. {$endc} {USE_NON_APPLE_STANDARD_DATATYPES}
  5392. {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
  5393. end.
  5394. {$endc} {not MACOSALLINCLUDE}