vDSP.pas 248 KB

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