1 {
2 File: vecLib/vDSP.h
3
4 Contains: AltiVec DSP Interfaces
5
6 Version: vecLib-380.6
7
8 Copyright: � 2000-2012 by Apple Computer, Inc., all rights reserved.
9
10 Bugs?: For bug reports, consult the following page on
11 the World Wide Web:
12
13 http://bugs.freepascal.org
14
15 }
16 { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2009 }
17 { Pascal Translation Updated: Jonas Maebe, <jonas@freepascal.org>, October 2012 }
18 {
19 Modified for use with Free Pascal
20 Version 308
21 Please report any bugs to <gpc@microbizz.nl>
22 }
23
24 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
25 {$mode macpas}
26 {$modeswitch cblocks}
27 {$packenum 1}
28 {$macro on}
29 {$inline on}
30 {$calling mwpascal}
31
32 unit vDSP;
33 interface
34 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
35 {$setc GAP_INTERFACES_VERSION := $0308}
36
37 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
38 {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
39 {$endc}
40
41 {$ifc defined CPUPOWERPC and defined CPUI386}
42 {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
43 {$endc}
44 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
45 {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
46 {$endc}
47
48 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
49 {$setc __ppc__ := 1}
50 {$elsec}
51 {$setc __ppc__ := 0}
52 {$endc}
53 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
54 {$setc __ppc64__ := 1}
55 {$elsec}
56 {$setc __ppc64__ := 0}
57 {$endc}
58 {$ifc not defined __i386__ and defined CPUI386}
59 {$setc __i386__ := 1}
60 {$elsec}
61 {$setc __i386__ := 0}
62 {$endc}
63 {$ifc not defined __x86_64__ and defined CPUX86_64}
64 {$setc __x86_64__ := 1}
65 {$elsec}
66 {$setc __x86_64__ := 0}
67 {$endc}
68 {$ifc not defined __arm__ and defined CPUARM}
69 {$setc __arm__ := 1}
70 {$elsec}
71 {$setc __arm__ := 0}
72 {$endc}
73 {$ifc not defined __arm64__ and defined CPUAARCH64}
74 {$setc __arm64__ := 1}
75 {$elsec}
76 {$setc __arm64__ := 0}
77 {$endc}
78
79 {$ifc defined cpu64}
80 {$setc __LP64__ := 1}
81 {$elsec}
82 {$setc __LP64__ := 0}
83 {$endc}
84
85
86 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
87 {$error Conflicting definitions for __ppc__ and __i386__}
88 {$endc}
89
90 {$ifc defined __ppc__ and __ppc__}
91 {$setc TARGET_CPU_PPC := TRUE}
92 {$setc TARGET_CPU_PPC64 := FALSE}
93 {$setc TARGET_CPU_X86 := FALSE}
94 {$setc TARGET_CPU_X86_64 := FALSE}
95 {$setc TARGET_CPU_ARM := FALSE}
96 {$setc TARGET_CPU_ARM64 := FALSE}
97 {$setc TARGET_OS_MAC := TRUE}
98 {$setc TARGET_OS_IPHONE := FALSE}
99 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
100 {$setc TARGET_OS_EMBEDDED := FALSE}
101 {$elifc defined __ppc64__ and __ppc64__}
102 {$setc TARGET_CPU_PPC := FALSE}
103 {$setc TARGET_CPU_PPC64 := TRUE}
104 {$setc TARGET_CPU_X86 := FALSE}
105 {$setc TARGET_CPU_X86_64 := FALSE}
106 {$setc TARGET_CPU_ARM := FALSE}
107 {$setc TARGET_CPU_ARM64 := FALSE}
108 {$setc TARGET_OS_MAC := TRUE}
109 {$setc TARGET_OS_IPHONE := FALSE}
110 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
111 {$setc TARGET_OS_EMBEDDED := FALSE}
112 {$elifc defined __i386__ and __i386__}
113 {$setc TARGET_CPU_PPC := FALSE}
114 {$setc TARGET_CPU_PPC64 := FALSE}
115 {$setc TARGET_CPU_X86 := TRUE}
116 {$setc TARGET_CPU_X86_64 := FALSE}
117 {$setc TARGET_CPU_ARM := FALSE}
118 {$setc TARGET_CPU_ARM64 := FALSE}
119 {$ifc defined iphonesim}
120 {$setc TARGET_OS_MAC := FALSE}
121 {$setc TARGET_OS_IPHONE := TRUE}
122 {$setc TARGET_IPHONE_SIMULATOR := TRUE}
123 {$elsec}
124 {$setc TARGET_OS_MAC := TRUE}
125 {$setc TARGET_OS_IPHONE := FALSE}
126 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
127 {$endc}
128 {$setc TARGET_OS_EMBEDDED := FALSE}
129 {$elifc defined __x86_64__ and __x86_64__}
130 {$setc TARGET_CPU_PPC := FALSE}
131 {$setc TARGET_CPU_PPC64 := FALSE}
132 {$setc TARGET_CPU_X86 := FALSE}
133 {$setc TARGET_CPU_X86_64 := TRUE}
134 {$setc TARGET_CPU_ARM := FALSE}
135 {$setc TARGET_CPU_ARM64 := FALSE}
136 {$ifc defined iphonesim}
137 {$setc TARGET_OS_MAC := FALSE}
138 {$setc TARGET_OS_IPHONE := TRUE}
139 {$setc TARGET_IPHONE_SIMULATOR := TRUE}
140 {$elsec}
141 {$setc TARGET_OS_MAC := TRUE}
142 {$setc TARGET_OS_IPHONE := FALSE}
143 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
144 {$endc}
145 {$setc TARGET_OS_EMBEDDED := FALSE}
146 {$elifc defined __arm__ and __arm__}
147 {$setc TARGET_CPU_PPC := FALSE}
148 {$setc TARGET_CPU_PPC64 := FALSE}
149 {$setc TARGET_CPU_X86 := FALSE}
150 {$setc TARGET_CPU_X86_64 := FALSE}
151 {$setc TARGET_CPU_ARM := TRUE}
152 {$setc TARGET_CPU_ARM64 := FALSE}
153 {$setc TARGET_OS_MAC := FALSE}
154 {$setc TARGET_OS_IPHONE := TRUE}
155 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
156 {$setc TARGET_OS_EMBEDDED := TRUE}
157 {$elifc defined __arm64__ and __arm64__}
158 {$setc TARGET_CPU_PPC := FALSE}
159 {$setc TARGET_CPU_PPC64 := FALSE}
160 {$setc TARGET_CPU_X86 := FALSE}
161 {$setc TARGET_CPU_X86_64 := FALSE}
162 {$setc TARGET_CPU_ARM := FALSE}
163 {$setc TARGET_CPU_ARM64 := TRUE}
164 {$ifc defined ios}
165 {$setc TARGET_OS_MAC := FALSE}
166 {$setc TARGET_OS_IPHONE := TRUE}
167 {$setc TARGET_OS_EMBEDDED := TRUE}
168 {$elsec}
169 {$setc TARGET_OS_MAC := TRUE}
170 {$setc TARGET_OS_IPHONE := FALSE}
171 {$setc TARGET_OS_EMBEDDED := FALSE}
172 {$endc}
173 {$setc TARGET_IPHONE_SIMULATOR := FALSE}
174 {$elsec}
175 {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
176 {$endc}
177
178 {$ifc defined __LP64__ and __LP64__ }
179 {$setc TARGET_CPU_64 := TRUE}
180 {$elsec}
181 {$setc TARGET_CPU_64 := FALSE}
182 {$endc}
183
184 {$ifc defined FPC_BIG_ENDIAN}
185 {$setc TARGET_RT_BIG_ENDIAN := TRUE}
186 {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
187 {$elifc defined FPC_LITTLE_ENDIAN}
188 {$setc TARGET_RT_BIG_ENDIAN := FALSE}
189 {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
190 {$elsec}
191 {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
192 {$endc}
193 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
194 {$setc CALL_NOT_IN_CARBON := FALSE}
195 {$setc OLDROUTINENAMES := FALSE}
196 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
197 {$setc OPAQUE_UPP_TYPES := TRUE}
198 {$setc OTCARBONAPPLICATION := TRUE}
199 {$setc OTKERNEL := FALSE}
200 {$setc PM_USE_SESSION_APIS := TRUE}
201 {$setc TARGET_API_MAC_CARBON := TRUE}
202 {$setc TARGET_API_MAC_OS8 := FALSE}
203 {$setc TARGET_API_MAC_OSX := TRUE}
204 {$setc TARGET_CARBON := TRUE}
205 {$setc TARGET_CPU_68K := FALSE}
206 {$setc TARGET_CPU_MIPS := FALSE}
207 {$setc TARGET_CPU_SPARC := FALSE}
208 {$setc TARGET_OS_UNIX := FALSE}
209 {$setc TARGET_OS_WIN32 := FALSE}
210 {$setc TARGET_RT_MAC_68881 := FALSE}
211 {$setc TARGET_RT_MAC_CFM := FALSE}
212 {$setc TARGET_RT_MAC_MACHO := TRUE}
213 {$setc TYPED_FUNCTION_POINTERS := TRUE}
214 {$setc TYPE_BOOL := FALSE}
215 {$setc TYPE_EXTENDED := FALSE}
216 {$setc TYPE_LONGLONG := TRUE}
217 uses MacTypes;
218 {$endc} {not MACOSALLINCLUDE}
219
220
221 { For documentation on vDSP, see _vDSP Library_ at
222 http://developer.apple.com/documentation/Performance/index-date.html or
223 search for "vDSP Library" at http://developer.apple.com.
224 }
225
226 {$ALIGN POWER}
227
228
229 { These symbols describe the vecLib version associated with this header.
230
231 vDSP_Version0 is a major version number.
232 vDSP_Version1 is a minor version number.
233 }
234 const
235 vDSP_Version0 = 380;
236 const
237 vDSP_Version1 = 6;
238
239
240 type
241 vDSP_Length = UNSIGNEDLONG;
242 { vDSP_Length is for numbers of elements in arrays and indices of
243 elements in arrays.
244
245 (It is also used for the base-two logarithm of numbers of elements,
246 although a much smaller type is suitable for that.)
247 }
248 type
249 vDSP_Stride = SIGNEDLONG;
250 { vDSP_Stride is for differences of indices of elements (which of
251 course includes strides).
252 }
253
254 type
255 DSPComplexPtr = ^DSPComplex;
256 DSPComplex = record
257 real: Float32;
258 imag: Float32;
259 end;
260 type
261 DSPSplitComplexPtr = ^DSPSplitComplex;
262 DSPSplitComplex = record
263 realp: Float32Ptr;
264 imagp: Float32Ptr;
265 end;
266 type
267 DSPDoubleComplexPtr = ^DSPDoubleComplex;
268 DSPDoubleComplex = record
269 real: Float64;
270 imag: Float64;
271 end;
272 type
273 DSPDoubleSplitComplexPtr = ^DSPDoubleSplitComplex;
274 DSPDoubleSplitComplex = record
275 realp: Float64Ptr;
276 imagp: Float64Ptr;
277 end;
278 type
279 FFTSetup = ^OpaqueFFTSetup; { an opaque type }
280 OpaqueFFTSetup = record end;
281 FFTSetupD = ^OpaqueFFTSetupD; { an opaque type }
282 OpaqueFFTSetupD = record end;
283
284 type
285 FFTDirection = SInt32;
286 FFTRadix = SInt32;
287 const
288 kFFTDirection_Forward = 1;
289 kFFTDirection_Inverse = -1;
290
291 const
292 kFFTRadix2 = 0;
293 kFFTRadix3 = 1;
294 kFFTRadix5 = 2;
295
296 const
297 vDSP_HALF_WINDOW = 1;
298 vDSP_HANN_DENORM = 0;
299 vDSP_HANN_NORM = 2;
300
301
302 { create_fftsetup and create_ffsetupD allocate memory and prepare constants
303 used by single- and double-precision FFT routines, respectively.
304
305 destroy_fftsetup and destroy_fftsetupD free the memory.
306 }
307 {
308 * vDSP_create_fftsetup()
309 *
310 * Availability:
311 * Mac OS X: in version 10.0 and later in vecLib.framework
312 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
313 * Non-Carbon CFM: in vecLib 1.0 and later
314 }
vDSP_create_fftsetupnull315 function vDSP_create_fftsetup( __vDSP_log2n: vDSP_Length; __vDSP_radix: FFTRadix ): FFTSetup; external name '_vDSP_create_fftsetup';
316 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
317
318
319 {
320 * vDSP_destroy_fftsetup()
321 *
322 * Availability:
323 * Mac OS X: in version 10.0 and later in vecLib.framework
324 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
325 * Non-Carbon CFM: in vecLib 1.0 and later
326 }
327 procedure vDSP_destroy_fftsetup( __vDSP_setup: FFTSetup ); external name '_vDSP_destroy_fftsetup';
328 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
329
330
331 {
332 * vDSP_create_fftsetupD()
333 *
334 * Availability:
335 * Mac OS X: in version 10.2 and later in vecLib.framework
336 * CarbonLib: not available
337 * Non-Carbon CFM: not available
338 }
vDSP_create_fftsetupDnull339 function vDSP_create_fftsetupD( __vDSP_log2n: vDSP_Length; __vDSP_radix: FFTRadix ): FFTSetupD; external name '_vDSP_create_fftsetupD';
340 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
341
342
343 {
344 * vDSP_destroy_fftsetupD()
345 *
346 * Availability:
347 * Mac OS X: in version 10.2 and later in vecLib.framework
348 * CarbonLib: not available
349 * Non-Carbon CFM: not available
350 }
351 procedure vDSP_destroy_fftsetupD( __vDSP_setup: FFTSetupD ); external name '_vDSP_destroy_fftsetupD';
352 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
353
354
355 { ctoz and ctozD convert a complex array to a complex-split array.
356 ztoc and ztocD convert a complex-split array to a complex array.
357 }
358 {
359 * vDSP_ctoz()
360 *
361 * Availability:
362 * Mac OS X: in version 10.0 and later in vecLib.framework
363 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
364 * Non-Carbon CFM: in vecLib 1.0 and later
365 }
366 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';
367 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
368
369
370 {
371 * vDSP_ztoc()
372 *
373 * Availability:
374 * Mac OS X: in version 10.0 and later in vecLib.framework
375 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
376 * Non-Carbon CFM: in vecLib 1.0 and later
377 }
378 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';
379 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
380
381
382 {
383 * vDSP_ctozD()
384 *
385 * Availability:
386 * Mac OS X: in version 10.2 and later in vecLib.framework
387 * CarbonLib: not available
388 * Non-Carbon CFM: not available
389 }
390 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';
391 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
392
393
394 {
395 * vDSP_ztocD()
396 *
397 * Availability:
398 * Mac OS X: in version 10.2 and later in vecLib.framework
399 * CarbonLib: not available
400 * Non-Carbon CFM: not available
401 }
402 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';
403 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
404
405
406 { In-place complex Discrete Fourier Transform routines.
407
408 fft_zip Single-precision without temporary memory.
409 fft_zipt Single-precision with temporary memory.
410 fft_zipD Double-precision without temporary memory.
411 fft_ziptD Double-precision with temporary memory.
412 }
413 {
414 * vDSP_fft_zip()
415 *
416 * Availability:
417 * Mac OS X: in version 10.0 and later in vecLib.framework
418 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
419 * Non-Carbon CFM: in vecLib 1.0 and later
420 }
421 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';
422 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
423
424
425 {
426 * vDSP_fft_zipt()
427 *
428 * Availability:
429 * Mac OS X: in version 10.0 and later in vecLib.framework
430 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
431 * Non-Carbon CFM: in vecLib 1.0 and later
432 }
433 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';
434 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
435
436
437 {
438 * vDSP_fft_zipD()
439 *
440 * Availability:
441 * Mac OS X: in version 10.2 and later in vecLib.framework
442 * CarbonLib: not available
443 * Non-Carbon CFM: not available
444 }
445 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';
446 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
447
448
449 {
450 * vDSP_fft_ziptD()
451 *
452 * Availability:
453 * Mac OS X: in version 10.2 and later in vecLib.framework
454 * CarbonLib: not available
455 * Non-Carbon CFM: not available
456 }
457 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';
458 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
459
460
461 { Out-of-place complex Discrete Fourier Transform routines.
462
463 fft_zop Single-precision without temporary memory.
464 fft_zopt Single-precision with temporary memory.
465 fft_zopD Double-precision without temporary memory.
466 fft_zoptD Double-precision with temporary memory.
467 }
468 {
469 * vDSP_fft_zop()
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_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';
477 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
478
479
480 {
481 * vDSP_fft_zopt()
482 *
483 * Availability:
484 * Mac OS X: in version 10.0 and later in vecLib.framework
485 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
486 * Non-Carbon CFM: in vecLib 1.0 and later
487 }
488 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';
489 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
490
491
492 {
493 * vDSP_fft_zopD()
494 *
495 * Availability:
496 * Mac OS X: in version 10.2 and later in vecLib.framework
497 * CarbonLib: not available
498 * Non-Carbon CFM: not available
499 }
500 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';
501 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
502
503
504 {
505 * vDSP_fft_zoptD()
506 *
507 * Availability:
508 * Mac OS X: in version 10.2 and later in vecLib.framework
509 * CarbonLib: not available
510 * Non-Carbon CFM: not available
511 }
512 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';
513 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
514
515
516 { In-place real-to-complex Discrete Fourier Transform routines.
517
518 fft_zrip Single-precision without temporary memory.
519 fft_zript Single-precision with temporary memory.
520 fft_zripD Double-precision without temporary memory.
521 fft_zriptD Double-precision with temporary memory.
522 }
523 {
524 * vDSP_fft_zrip()
525 *
526 * Availability:
527 * Mac OS X: in version 10.0 and later in vecLib.framework
528 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
529 * Non-Carbon CFM: in vecLib 1.0 and later
530 }
531 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';
532 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
533
534
535 {
536 * vDSP_fft_zript()
537 *
538 * Availability:
539 * Mac OS X: in version 10.0 and later in vecLib.framework
540 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
541 * Non-Carbon CFM: in vecLib 1.0 and later
542 }
543 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';
544 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
545
546
547 {
548 * vDSP_fft_zripD()
549 *
550 * Availability:
551 * Mac OS X: in version 10.2 and later in vecLib.framework
552 * CarbonLib: not available
553 * Non-Carbon CFM: not available
554 }
555 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';
556 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
557
558
559 {
560 * vDSP_fft_zriptD()
561 *
562 * Availability:
563 * Mac OS X: in version 10.2 and later in vecLib.framework
564 * CarbonLib: not available
565 * Non-Carbon CFM: not available
566 }
567 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';
568 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
569
570
571 { Out-of-place real-to-complex Discrete Fourier Transform routines.
572
573 fft_zrop Single-precision without temporary memory.
574 fft_zropt Single-precision with temporary memory.
575 fft_zropD Double-precision without temporary memory.
576 fft_zroptD Double-precision with temporary memory.
577 }
578 {
579 * vDSP_fft_zrop()
580 *
581 * Availability:
582 * Mac OS X: in version 10.0 and later in vecLib.framework
583 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
584 * Non-Carbon CFM: in vecLib 1.0 and later
585 }
586 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';
587 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
588
589
590 {
591 * vDSP_fft_zropt()
592 *
593 * Availability:
594 * Mac OS X: in version 10.0 and later in vecLib.framework
595 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
596 * Non-Carbon CFM: in vecLib 1.0 and later
597 }
598 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';
599 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
600
601
602 {
603 * vDSP_fft_zropD()
604 *
605 * Availability:
606 * Mac OS X: in version 10.2 and later in vecLib.framework
607 * CarbonLib: not available
608 * Non-Carbon CFM: not available
609 }
610 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';
611 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
612
613
614 {
615 * vDSP_fft_zroptD()
616 *
617 * Availability:
618 * Mac OS X: in version 10.2 and later in vecLib.framework
619 * CarbonLib: not available
620 * Non-Carbon CFM: not available
621 }
622 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';
623 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
624
625
626 { In-place two-dimensional complex Discrete Fourier Transform routines.
627
628 fft2d_zip Single-precision without temporary memory.
629 fft2d_zipt Single-precision with temporary memory.
630 fft2d_zipD Double-precision without temporary memory.
631 fft2d_ziptD Double-precision with temporary memory.
632 }
633 {
634 * vDSP_fft2d_zip()
635 *
636 * Availability:
637 * Mac OS X: in version 10.0 and later in vecLib.framework
638 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
639 * Non-Carbon CFM: in vecLib 1.0 and later
640 }
641 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';
642 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
643
644
645 {
646 * vDSP_fft2d_zipt()
647 *
648 * Availability:
649 * Mac OS X: in version 10.0 and later in vecLib.framework
650 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
651 * Non-Carbon CFM: in vecLib 1.0 and later
652 }
653 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';
654 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
655
656
657 {
658 * vDSP_fft2d_zipD()
659 *
660 * Availability:
661 * Mac OS X: in version 10.2 and later in vecLib.framework
662 * CarbonLib: not available
663 * Non-Carbon CFM: not available
664 }
665 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';
666 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
667
668
669 {
670 * vDSP_fft2d_ziptD()
671 *
672 * Availability:
673 * Mac OS X: in version 10.2 and later in vecLib.framework
674 * CarbonLib: not available
675 * Non-Carbon CFM: not available
676 }
677 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';
678 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
679
680
681 { Out-of-place two-dimensional complex Discrete Fourier Transform routines.
682
683 fft2d_zop Single-precision without temporary memory.
684 fft2d_zopt Single-precision with temporary memory.
685 fft2d_zopD Double-precision without temporary memory.
686 fft2d_zoptD Double-precision with temporary memory.
687 }
688 {
689 * vDSP_fft2d_zop()
690 *
691 * Availability:
692 * Mac OS X: in version 10.0 and later in vecLib.framework
693 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
694 * Non-Carbon CFM: in vecLib 1.0 and later
695 }
696 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';
697 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
698
699
700 {
701 * vDSP_fft2d_zopt()
702 *
703 * Availability:
704 * Mac OS X: in version 10.0 and later in vecLib.framework
705 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
706 * Non-Carbon CFM: in vecLib 1.0 and later
707 }
708 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';
709 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
710
711
712 {
713 * vDSP_fft2d_zopD()
714 *
715 * Availability:
716 * Mac OS X: in version 10.2 and later in vecLib.framework
717 * CarbonLib: not available
718 * Non-Carbon CFM: not available
719 }
720 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';
721 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
722
723
724 {
725 * vDSP_fft2d_zoptD()
726 *
727 * Availability:
728 * Mac OS X: in version 10.2 and later in vecLib.framework
729 * CarbonLib: not available
730 * Non-Carbon CFM: not available
731 }
732 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';
733 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
734
735
736 { In-place two-dimensional real-to-complex Discrete Fourier Transform
737 routines.
738
739 fft2d_zrip Single-precision without temporary memory.
740 fft2d_zript Single-precision with temporary memory.
741 fft2d_zripD Double-precision without temporary memory.
742 fft2d_zriptD Double-precision with temporary memory.
743 }
744 {
745 * vDSP_fft2d_zrip()
746 *
747 * Availability:
748 * Mac OS X: in version 10.0 and later in vecLib.framework
749 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
750 * Non-Carbon CFM: in vecLib 1.0 and later
751 }
752 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';
753 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
754
755
756 {
757 * vDSP_fft2d_zript()
758 *
759 * Availability:
760 * Mac OS X: in version 10.0 and later in vecLib.framework
761 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
762 * Non-Carbon CFM: in vecLib 1.0 and later
763 }
764 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';
765 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
766
767
768 {
769 * vDSP_fft2d_zripD()
770 *
771 * Availability:
772 * Mac OS X: in version 10.2 and later in vecLib.framework
773 * CarbonLib: not available
774 * Non-Carbon CFM: not available
775 }
776 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';
777 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
778
779
780 {
781 * vDSP_fft2d_zriptD()
782 *
783 * Availability:
784 * Mac OS X: in version 10.2 and later in vecLib.framework
785 * CarbonLib: not available
786 * Non-Carbon CFM: not available
787 }
788 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';
789 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
790
791
792 { Out-of-place two-dimensional real-to-complex Discrete Fourier Transform
793 routines.
794
795 fft2d_zrop Single-precision without temporary memory.
796 fft2d_zropt Single-precision with temporary memory.
797 fft2d_zropD Double-precision without temporary memory.
798 fft2d_zroptD Double-precision with temporary memory.
799 }
800 {
801 * vDSP_fft2d_zrop()
802 *
803 * Availability:
804 * Mac OS X: in version 10.0 and later in vecLib.framework
805 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
806 * Non-Carbon CFM: in vecLib 1.0 and later
807 }
808 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';
809 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
810
811
812 {
813 * vDSP_fft2d_zropt()
814 *
815 * Availability:
816 * Mac OS X: in version 10.0 and later in vecLib.framework
817 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
818 * Non-Carbon CFM: in vecLib 1.0 and later
819 }
820 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';
821 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
822
823
824 {
825 * vDSP_fft2d_zropD()
826 *
827 * Availability:
828 * Mac OS X: in version 10.2 and later in vecLib.framework
829 * CarbonLib: not available
830 * Non-Carbon CFM: not available
831 }
832 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';
833 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
834
835
836 {
837 * vDSP_fft2d_zroptD()
838 *
839 * Availability:
840 * Mac OS X: in version 10.2 and later in vecLib.framework
841 * CarbonLib: not available
842 * Non-Carbon CFM: not available
843 }
844 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';
845 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
846
847
848 { In-place multiple complex Discrete Fourier Transform routines.
849
850 fftm_zip Single-precision without temporary memory.
851 fftm_zipt Single-precision with temporary memory.
852 fftm_zipD Double-precision without temporary memory.
853 fftm_ziptD Double-precision with temporary memory.
854 }
855 {
856 * vDSP_fftm_zip()
857 *
858 * Availability:
859 * Mac OS X: in version 10.2 and later in vecLib.framework
860 * CarbonLib: not available
861 * Non-Carbon CFM: not available
862 }
863 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';
864 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
865
866
867 {
868 * vDSP_fftm_zipt()
869 *
870 * Availability:
871 * Mac OS X: in version 10.2 and later in vecLib.framework
872 * CarbonLib: not available
873 * Non-Carbon CFM: not available
874 }
875 procedure vDSP_fftm_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';
876 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
877
878
879 {
880 * vDSP_fftm_zipD()
881 *
882 * Availability:
883 * Mac OS X: in version 10.2 and later in vecLib.framework
884 * CarbonLib: not available
885 * Non-Carbon CFM: not available
886 }
887 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';
888 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
889
890
891 {
892 * vDSP_fftm_ziptD()
893 *
894 * Availability:
895 * Mac OS X: in version 10.2 and later in vecLib.framework
896 * CarbonLib: not available
897 * Non-Carbon CFM: not available
898 }
899 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';
900 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
901
902
903 { Out-of-place multiple complex Discrete Fourier Transform routines.
904
905 fftm_zop Single-precision without temporary memory.
906 fftm_zopt Single-precision with temporary memory.
907 fftm_zopD Double-precision without temporary memory.
908 fftm_zoptD Double-precision with temporary memory.
909 }
910 {
911 * vDSP_fftm_zop()
912 *
913 * Availability:
914 * Mac OS X: in version 10.2 and later in vecLib.framework
915 * CarbonLib: not available
916 * Non-Carbon CFM: not available
917 }
918 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';
919 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
920
921
922 {
923 * vDSP_fftm_zopt()
924 *
925 * Availability:
926 * Mac OS X: in version 10.2 and later in vecLib.framework
927 * CarbonLib: not available
928 * Non-Carbon CFM: not available
929 }
930 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';
931 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
932
933
934 {
935 * vDSP_fftm_zopD()
936 *
937 * Availability:
938 * Mac OS X: in version 10.2 and later in vecLib.framework
939 * CarbonLib: not available
940 * Non-Carbon CFM: not available
941 }
942 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';
943 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
944
945
946 {
947 * vDSP_fftm_zoptD()
948 *
949 * Availability:
950 * Mac OS X: in version 10.2 and later in vecLib.framework
951 * CarbonLib: not available
952 * Non-Carbon CFM: not available
953 }
954 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';
955 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
956
957
958 { In-place multiple real-to-complex Discrete Fourier Transform routines.
959
960 fftm_zip Single-precision without temporary memory.
961 fftm_zipt Single-precision with temporary memory.
962 fftm_zipD Double-precision without temporary memory.
963 fftm_ziptD Double-precision with temporary memory.
964 }
965 {
966 * vDSP_fftm_zrip()
967 *
968 * Availability:
969 * Mac OS X: in version 10.2 and later in vecLib.framework
970 * CarbonLib: not available
971 * Non-Carbon CFM: not available
972 }
973 procedure vDSP_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';
974 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
975
976
977 {
978 * vDSP_fftm_zript()
979 *
980 * Availability:
981 * Mac OS X: in version 10.2 and later in vecLib.framework
982 * CarbonLib: not available
983 * Non-Carbon CFM: not available
984 }
985 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';
986 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
987
988
989 {
990 * vDSP_fftm_zripD()
991 *
992 * Availability:
993 * Mac OS X: in version 10.2 and later in vecLib.framework
994 * CarbonLib: not available
995 * Non-Carbon CFM: not available
996 }
997 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';
998 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
999
1000
1001 {
1002 * vDSP_fftm_zriptD()
1003 *
1004 * Availability:
1005 * Mac OS X: in version 10.2 and later in vecLib.framework
1006 * CarbonLib: not available
1007 * Non-Carbon CFM: not available
1008 }
1009 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';
1010 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1011
1012
1013 { Out-of-place multiple real-to-complex Discrete Fourier Transform routines.
1014
1015 fftm_zrop Single-precision without temporary memory.
1016 fftm_zropt Single-precision with temporary memory.
1017 fftm_zropD Double-precision without temporary memory.
1018 fftm_zroptD Double-precision with temporary memory.
1019 }
1020 {
1021 * vDSP_fftm_zrop()
1022 *
1023 * Availability:
1024 * Mac OS X: in version 10.2 and later in vecLib.framework
1025 * CarbonLib: not available
1026 * Non-Carbon CFM: not available
1027 }
1028 procedure vDSP_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';
1029 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1030
1031
1032 {
1033 * vDSP_fftm_zropt()
1034 *
1035 * Availability:
1036 * Mac OS X: in version 10.2 and later in vecLib.framework
1037 * CarbonLib: not available
1038 * Non-Carbon CFM: not available
1039 }
1040 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';
1041 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1042
1043
1044 {
1045 * vDSP_fftm_zropD()
1046 *
1047 * Availability:
1048 * Mac OS X: in version 10.2 and later in vecLib.framework
1049 * CarbonLib: not available
1050 * Non-Carbon CFM: not available
1051 }
1052 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';
1053 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1054
1055
1056 {
1057 * vDSP_fftm_zroptD()
1058 *
1059 * Availability:
1060 * Mac OS X: in version 10.2 and later in vecLib.framework
1061 * CarbonLib: not available
1062 * Non-Carbon CFM: not available
1063 }
1064 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';
1065 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1066
1067
1068 { Non-power-of-two out-of-place complex Discrete Fourier Transform routines.
1069
1070 fft3_zop 3*2**n elements, single-precision without temporary memory.
1071 fft3_zopD 3*2**n elements, double-precision without temporary memory.
1072 fft5_zop 5*2**n elements, single-precision without temporary memory.
1073 fft5_zopD 5*2**n elements, double-precision without temporary memory.
1074 }
1075 {
1076 * vDSP_fft3_zop()
1077 *
1078 * Availability:
1079 * Mac OS X: in version 10.2 and later in vecLib.framework
1080 * CarbonLib: not available
1081 * Non-Carbon CFM: not available
1082 }
1083 procedure vDSP_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';
1084 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1085
1086
1087 {
1088 * vDSP_fft5_zop()
1089 *
1090 * Availability:
1091 * Mac OS X: in version 10.2 and later in vecLib.framework
1092 * CarbonLib: not available
1093 * Non-Carbon CFM: not available
1094 }
1095 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';
1096 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1097
1098
1099 {
1100 * vDSP_fft3_zopD()
1101 *
1102 * Availability:
1103 * Mac OS X: in version 10.2 and later in vecLib.framework
1104 * CarbonLib: not available
1105 * Non-Carbon CFM: not available
1106 }
1107 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';
1108 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1109
1110
1111 {
1112 * vDSP_fft5_zopD()
1113 *
1114 * Availability:
1115 * Mac OS X: in version 10.2 and later in vecLib.framework
1116 * CarbonLib: not available
1117 * Non-Carbon CFM: not available
1118 }
1119 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';
1120 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1121
1122
1123 { Convolution (or correlation), single-precision.}
1124 {
1125 * vDSP_conv()
1126 *
1127 * Availability:
1128 * Mac OS X: in version 10.0 and later in vecLib.framework
1129 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1130 * Non-Carbon CFM: in vecLib 1.0 and later
1131 }
1132 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';
1133 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1134
1135
1136 { Convolution (or correlation), double-precision.}
1137 {
1138 * vDSP_convD()
1139 *
1140 * Availability:
1141 * Mac OS X: in version 10.2 and later in vecLib.framework
1142 * CarbonLib: not available
1143 * Non-Carbon CFM: not available
1144 }
1145 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';
1146 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1147
1148
1149 { 3*3 filter convolution, single-precision.}
1150 {
1151 * vDSP_f3x3()
1152 *
1153 * Availability:
1154 * Mac OS X: in version 10.2 and later in vecLib.framework
1155 * CarbonLib: not available
1156 * Non-Carbon CFM: not available
1157 }
1158 procedure vDSP_f3x3( __vDSP_signal: Float32Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float32Ptr; __vDSP_result: Float32Ptr ); external name '_vDSP_f3x3';
1159 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1160
1161
1162 { 3*3 filter convolution, double-precision.}
1163 {
1164 * vDSP_f3x3D()
1165 *
1166 * Availability:
1167 * Mac OS X: in version 10.2 and later in vecLib.framework
1168 * CarbonLib: not available
1169 * Non-Carbon CFM: not available
1170 }
1171 procedure vDSP_f3x3D( __vDSP_signal: Float64Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float64Ptr; __vDSP_result: Float64Ptr ); external name '_vDSP_f3x3D';
1172 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1173
1174
1175 { 5*5 filter convolution, single-precision.}
1176 {
1177 * vDSP_f5x5()
1178 *
1179 * Availability:
1180 * Mac OS X: in version 10.2 and later in vecLib.framework
1181 * CarbonLib: not available
1182 * Non-Carbon CFM: not available
1183 }
1184 procedure vDSP_f5x5( __vDSP_signal: Float32Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float32Ptr; __vDSP_result: Float32Ptr ); external name '_vDSP_f5x5';
1185 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1186
1187
1188 { 5*5 filter convolution, double-precision.}
1189 {
1190 * vDSP_f5x5D()
1191 *
1192 * Availability:
1193 * Mac OS X: in version 10.2 and later in vecLib.framework
1194 * CarbonLib: not available
1195 * Non-Carbon CFM: not available
1196 }
1197 procedure vDSP_f5x5D( __vDSP_signal: Float64Ptr; __vDSP_rows: vDSP_Length; __vDSP_cols: vDSP_Length; __vDSP_filter: Float64Ptr; __vDSP_result: Float64Ptr ); external name '_vDSP_f5x5D';
1198 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1199
1200
1201 { General two-dimensional (image) convolution, single-precision.}
1202 {
1203 * vDSP_imgfir()
1204 *
1205 * Availability:
1206 * Mac OS X: in version 10.2 and later in vecLib.framework
1207 * CarbonLib: not available
1208 * Non-Carbon CFM: not available
1209 }
1210 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';
1211 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1212
1213
1214 { General two-dimensional (image) convolution, double-precision.}
1215 {
1216 * vDSP_imgfirD()
1217 *
1218 * Availability:
1219 * Mac OS X: in version 10.2 and later in vecLib.framework
1220 * CarbonLib: not available
1221 * Non-Carbon CFM: not available
1222 }
1223 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';
1224 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1225
1226
1227 { Matrix transpose, single-precision.}
1228 {
1229 * vDSP_mtrans()
1230 *
1231 * Availability:
1232 * Mac OS X: in version 10.2 and later in vecLib.framework
1233 * CarbonLib: not available
1234 * Non-Carbon CFM: not available
1235 }
1236 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';
1237 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1238
1239
1240 { Matrix transpose, double-precision.}
1241 {
1242 * vDSP_mtransD()
1243 *
1244 * Availability:
1245 * Mac OS X: in version 10.2 and later in vecLib.framework
1246 * CarbonLib: not available
1247 * Non-Carbon CFM: not available
1248 }
1249 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';
1250 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1251
1252
1253 { Matrix multiply, single-precision.}
1254 {
1255 * vDSP_mmul()
1256 *
1257 * Availability:
1258 * Mac OS X: in version 10.2 and later in vecLib.framework
1259 * CarbonLib: not available
1260 * Non-Carbon CFM: not available
1261 }
1262 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';
1263 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1264
1265
1266 { Matrix multiply, double-precision.}
1267 {
1268 * vDSP_mmulD()
1269 *
1270 * Availability:
1271 * Mac OS X: in version 10.2 and later in vecLib.framework
1272 * CarbonLib: not available
1273 * Non-Carbon CFM: not available
1274 }
1275 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';
1276 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1277
1278
1279 { Complex-split matrix multiply and add, single-precision.}
1280 {
1281 * vDSP_zmma()
1282 *
1283 * Availability:
1284 * Mac OS X: in version 10.2 and later in vecLib.framework
1285 * CarbonLib: not available
1286 * Non-Carbon CFM: not available
1287 }
1288 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';
1289 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1290
1291
1292 { Complex-split matrix multiply and add, double-precision.}
1293 {
1294 * vDSP_zmmaD()
1295 *
1296 * Availability:
1297 * Mac OS X: in version 10.2 and later in vecLib.framework
1298 * CarbonLib: not available
1299 * Non-Carbon CFM: not available
1300 }
1301 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';
1302 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1303
1304
1305 { Complex-split matrix multiply and subtract, single-precision.}
1306 {
1307 * vDSP_zmms()
1308 *
1309 * Availability:
1310 * Mac OS X: in version 10.2 and later in vecLib.framework
1311 * CarbonLib: not available
1312 * Non-Carbon CFM: not available
1313 }
1314 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';
1315 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1316
1317
1318 { Complex-split matrix multiply and subtract, double-precision.}
1319 {
1320 * vDSP_zmmsD()
1321 *
1322 * Availability:
1323 * Mac OS X: in version 10.2 and later in vecLib.framework
1324 * CarbonLib: not available
1325 * Non-Carbon CFM: not available
1326 }
1327 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';
1328 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1329
1330
1331 { Complex-split matrix subtract and multiply, single-precision.}
1332 {
1333 * vDSP_zmsm()
1334 *
1335 * Availability:
1336 * Mac OS X: in version 10.2 and later in vecLib.framework
1337 * CarbonLib: not available
1338 * Non-Carbon CFM: not available
1339 }
1340 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';
1341 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1342
1343
1344 { Complex-split matrix subtract and multiply, double-precision.}
1345 {
1346 * vDSP_zmsmD()
1347 *
1348 * Availability:
1349 * Mac OS X: in version 10.2 and later in vecLib.framework
1350 * CarbonLib: not available
1351 * Non-Carbon CFM: not available
1352 }
1353 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';
1354 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1355
1356
1357 { Complex-split matrix multiply, single-precision.}
1358 {
1359 * vDSP_zmmul()
1360 *
1361 * Availability:
1362 * Mac OS X: in version 10.2 and later in vecLib.framework
1363 * CarbonLib: not available
1364 * Non-Carbon CFM: not available
1365 }
1366 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';
1367 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1368
1369
1370 { Complex-split matrix multiply, double-precision.}
1371 {
1372 * vDSP_zmmulD()
1373 *
1374 * Availability:
1375 * Mac OS X: in version 10.2 and later in vecLib.framework
1376 * CarbonLib: not available
1377 * Non-Carbon CFM: not available
1378 }
1379 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';
1380 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1381
1382
1383 { Vector add, single-precision.}
1384 {
1385 * vDSP_vadd()
1386 *
1387 * Availability:
1388 * Mac OS X: in version 10.0 and later in vecLib.framework
1389 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1390 * Non-Carbon CFM: in vecLib 1.0 and later
1391 }
1392 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';
1393 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1394
1395
1396 { Vector add, double-precision.}
1397 {
1398 * vDSP_vaddD()
1399 *
1400 * Availability:
1401 * Mac OS X: in version 10.2 and later in vecLib.framework
1402 * CarbonLib: not available
1403 * Non-Carbon CFM: not available
1404 }
1405 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';
1406 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1407
1408
1409 { Vector subtract, single-precision.}
1410 {
1411 * vDSP_vsub()
1412 *
1413 * Availability:
1414 * Mac OS X: in version 10.0 and later in vecLib.framework
1415 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1416 * Non-Carbon CFM: in vecLib 1.0 and later
1417 }
1418 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';
1419 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1420
1421
1422 { Vector subtract, double-precision.}
1423 {
1424 * vDSP_vsubD()
1425 *
1426 * Availability:
1427 * Mac OS X: in version 10.2 and later in vecLib.framework
1428 * CarbonLib: not available
1429 * Non-Carbon CFM: not available
1430 }
1431 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';
1432 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1433
1434
1435 { Vector multiply, single-precision.}
1436 {
1437 * vDSP_vmul()
1438 *
1439 * Availability:
1440 * Mac OS X: in version 10.0 and later in vecLib.framework
1441 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1442 * Non-Carbon CFM: in vecLib 1.0 and later
1443 }
1444 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';
1445 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1446
1447
1448 { Vector multiply, double-precision.}
1449 {
1450 * vDSP_vmulD()
1451 *
1452 * Availability:
1453 * Mac OS X: in version 10.2 and later in vecLib.framework
1454 * CarbonLib: not available
1455 * Non-Carbon CFM: not available
1456 }
1457 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';
1458 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1459
1460
1461 { Vector-scalar multiply, single-precision.}
1462 {
1463 * vDSP_vsmul()
1464 *
1465 * Availability:
1466 * Mac OS X: in version 10.0 and later in vecLib.framework
1467 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1468 * Non-Carbon CFM: in vecLib 1.0 and later
1469 }
1470 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';
1471 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1472
1473
1474 { Vector-scalar multiply, double-precision.}
1475 {
1476 * vDSP_vsmulD()
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_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';
1484 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1485
1486
1487 { Vector square, single-precision.}
1488 {
1489 * vDSP_vsq()
1490 *
1491 * Availability:
1492 * Mac OS X: in version 10.0 and later in vecLib.framework
1493 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1494 * Non-Carbon CFM: in vecLib 1.0 and later
1495 }
1496 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';
1497 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1498
1499
1500 { Vector square, double-precision.}
1501 {
1502 * vDSP_vsqD()
1503 *
1504 * Availability:
1505 * Mac OS X: in version 10.2 and later in vecLib.framework
1506 * CarbonLib: not available
1507 * Non-Carbon CFM: not available
1508 }
1509 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';
1510 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1511
1512
1513 { Vector signed square, single-precision.}
1514 {
1515 * vDSP_vssq()
1516 *
1517 * Availability:
1518 * Mac OS X: in version 10.0 and later in vecLib.framework
1519 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1520 * Non-Carbon CFM: in vecLib 1.0 and later
1521 }
1522 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';
1523 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1524
1525
1526 { Vector signed square, double-precision.}
1527 {
1528 * vDSP_vssqD()
1529 *
1530 * Availability:
1531 * Mac OS X: in version 10.2 and later in vecLib.framework
1532 * CarbonLib: not available
1533 * Non-Carbon CFM: not available
1534 }
1535 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';
1536 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1537
1538 { Euclidean distance square, single-precision.}
1539 {
1540 * vDSP_distancesq()
1541 *
1542 * Availability:
1543 * Mac OS X: in version 10.0 and later in vecLib.framework
1544 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1545 * Non-Carbon CFM: in vecLib 1.0 and later
1546 }
1547 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';
1548 (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_5_0) *)
1549
1550 { Dot product, single-precision.}
1551 {
1552 * vDSP_dotpr()
1553 *
1554 * Availability:
1555 * Mac OS X: in version 10.0 and later in vecLib.framework
1556 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1557 * Non-Carbon CFM: in vecLib 1.0 and later
1558 }
1559 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';
1560 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1561
1562
1563 { Dot product, double-precision.}
1564 {
1565 * vDSP_dotprD()
1566 *
1567 * Availability:
1568 * Mac OS X: in version 10.2 and later in vecLib.framework
1569 * CarbonLib: not available
1570 * Non-Carbon CFM: not available
1571 }
1572 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';
1573 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1574
1575
1576 { Vector add and multiply, single-precision.}
1577 {
1578 * vDSP_vam()
1579 *
1580 * Availability:
1581 * Mac OS X: in version 10.0 and later in vecLib.framework
1582 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1583 * Non-Carbon CFM: in vecLib 1.0 and later
1584 }
1585 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';
1586 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1587
1588
1589 { Vector add and multiply, double-precision.}
1590 {
1591 * vDSP_vamD()
1592 *
1593 * Availability:
1594 * Mac OS X: in version 10.2 and later in vecLib.framework
1595 * CarbonLib: not available
1596 * Non-Carbon CFM: not available
1597 }
1598 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';
1599 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1600
1601
1602 { Complex-split convolution, single-precision.}
1603 {
1604 * vDSP_zconv()
1605 *
1606 * Availability:
1607 * Mac OS X: in version 10.0 and later in vecLib.framework
1608 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1609 * Non-Carbon CFM: in vecLib 1.0 and later
1610 }
1611 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';
1612 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1613
1614
1615 { Complex-split convolution, double-precision.}
1616 {
1617 * vDSP_zconvD()
1618 *
1619 * Availability:
1620 * Mac OS X: in version 10.2 and later in vecLib.framework
1621 * CarbonLib: not available
1622 * Non-Carbon CFM: not available
1623 }
1624 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';
1625 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1626
1627
1628 { Complex-split vector add, single-precision.}
1629 {
1630 * vDSP_zvadd()
1631 *
1632 * Availability:
1633 * Mac OS X: in version 10.0 and later in vecLib.framework
1634 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1635 * Non-Carbon CFM: in vecLib 1.0 and later
1636 }
1637 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';
1638 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1639
1640
1641 { Complex-split vector add, double-precision.}
1642 {
1643 * vDSP_zvaddD()
1644 *
1645 * Availability:
1646 * Mac OS X: in version 10.2 and later in vecLib.framework
1647 * CarbonLib: not available
1648 * Non-Carbon CFM: not available
1649 }
1650 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';
1651 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1652
1653
1654 { Complex-split vector subtract, single-precision.}
1655 {
1656 * vDSP_zvsub()
1657 *
1658 * Availability:
1659 * Mac OS X: in version 10.0 and later in vecLib.framework
1660 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1661 * Non-Carbon CFM: in vecLib 1.0 and later
1662 }
1663 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';
1664 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1665
1666
1667 { Complex-split vector subtract, double-precision.}
1668 {
1669 * vDSP_zvsubD()
1670 *
1671 * Availability:
1672 * Mac OS X: in version 10.2 and later in vecLib.framework
1673 * CarbonLib: not available
1674 * Non-Carbon CFM: not available
1675 }
1676 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';
1677 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1678
1679
1680 { Complex-split vector multiply, single-precision.}
1681 {
1682 * vDSP_zvmul()
1683 *
1684 * Availability:
1685 * Mac OS X: in version 10.0 and later in vecLib.framework
1686 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1687 * Non-Carbon CFM: in vecLib 1.0 and later
1688 }
1689 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';
1690 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1691
1692
1693 { Complex-split vector multiply, double-precision.}
1694 {
1695 * vDSP_zvmulD()
1696 *
1697 * Availability:
1698 * Mac OS X: in version 10.2 and later in vecLib.framework
1699 * CarbonLib: not available
1700 * Non-Carbon CFM: not available
1701 }
1702 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';
1703 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1704
1705
1706 { Complex-split dot product, single-precision.}
1707 {
1708 * vDSP_zdotpr()
1709 *
1710 * Availability:
1711 * Mac OS X: in version 10.0 and later in vecLib.framework
1712 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1713 * Non-Carbon CFM: in vecLib 1.0 and later
1714 }
1715 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';
1716 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1717
1718
1719 { Complex-split dot product, double-precision.}
1720 {
1721 * vDSP_zdotprD()
1722 *
1723 * Availability:
1724 * Mac OS X: in version 10.2 and later in vecLib.framework
1725 * CarbonLib: not available
1726 * Non-Carbon CFM: not available
1727 }
1728 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';
1729 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1730
1731
1732 { Complex-split inner (conjugate) dot product, single-precision.}
1733 {
1734 * vDSP_zidotpr()
1735 *
1736 * Availability:
1737 * Mac OS X: in version 10.0 and later in vecLib.framework
1738 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1739 * Non-Carbon CFM: in vecLib 1.0 and later
1740 }
1741 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';
1742 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1743
1744
1745 { Complex-split inner (conjugate) dot product, double-precision.}
1746 {
1747 * vDSP_zidotprD()
1748 *
1749 * Availability:
1750 * Mac OS X: in version 10.2 and later in vecLib.framework
1751 * CarbonLib: not available
1752 * Non-Carbon CFM: not available
1753 }
1754 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';
1755 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1756
1757
1758 { Dot product of complex-split with real, single-precision.}
1759 {
1760 * vDSP_zrdotpr()
1761 *
1762 * Availability:
1763 * Mac OS X: in version 10.0 and later in vecLib.framework
1764 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1765 * Non-Carbon CFM: in vecLib 1.0 and later
1766 }
1767 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';
1768 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1769
1770
1771 { Dot product of complex-split with real, double-precision.}
1772 {
1773 * vDSP_zrdotprD()
1774 *
1775 * Availability:
1776 * Mac OS X: in version 10.2 and later in vecLib.framework
1777 * CarbonLib: not available
1778 * Non-Carbon CFM: not available
1779 }
1780 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';
1781 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1782
1783
1784 { Complex-split conjugate multiply and add, single-precision.}
1785 {
1786 * vDSP_zvcma()
1787 *
1788 * Availability:
1789 * Mac OS X: in version 10.0 and later in vecLib.framework
1790 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1791 * Non-Carbon CFM: in vecLib 1.0 and later
1792 }
1793 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';
1794 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1795
1796
1797 { Complex-split conjugate multiply and add, double-precision.}
1798 {
1799 * vDSP_zvcmaD()
1800 *
1801 * Availability:
1802 * Mac OS X: in version 10.2 and later in vecLib.framework
1803 * CarbonLib: not available
1804 * Non-Carbon CFM: not available
1805 }
1806 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';
1807 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1808
1809
1810 { Add complex-split and real, single-precision.}
1811 {
1812 * vDSP_zrvadd()
1813 *
1814 * Availability:
1815 * Mac OS X: in version 10.0 and later in vecLib.framework
1816 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1817 * Non-Carbon CFM: in vecLib 1.0 and later
1818 }
1819 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';
1820 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1821
1822
1823 { Add complex-split and real, double-precision.}
1824 {
1825 * vDSP_zrvaddD()
1826 *
1827 * Availability:
1828 * Mac OS X: in version 10.2 and later in vecLib.framework
1829 * CarbonLib: not available
1830 * Non-Carbon CFM: not available
1831 }
1832 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';
1833 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1834
1835
1836 { Subtract real from complex-split, single-precision.}
1837 {
1838 * vDSP_zrvsub()
1839 *
1840 * Availability:
1841 * Mac OS X: in version 10.0 and later in vecLib.framework
1842 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1843 * Non-Carbon CFM: in vecLib 1.0 and later
1844 }
1845 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';
1846 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1847
1848
1849 { Subtract real from complex-split, double-precision.}
1850 {
1851 * vDSP_zrvsubD()
1852 *
1853 * Availability:
1854 * Mac OS X: in version 10.2 and later in vecLib.framework
1855 * CarbonLib: not available
1856 * Non-Carbon CFM: not available
1857 }
1858 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';
1859 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1860
1861
1862 { Multiply complex-split and real, single-precision.}
1863 {
1864 * vDSP_zrvmul()
1865 *
1866 * Availability:
1867 * Mac OS X: in version 10.0 and later in vecLib.framework
1868 * CarbonLib: not in Carbon, but vecLib is compatible with CarbonLib
1869 * Non-Carbon CFM: in vecLib 1.0 and later
1870 }
1871 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';
1872 (* __OSX_AVAILABLE_STARTING(__MAC_10_0, __IPHONE_4_0) *)
1873
1874
1875 { Multiply complex-split and real, double-precision.}
1876 {
1877 * vDSP_zrvmulD()
1878 *
1879 * Availability:
1880 * Mac OS X: in version 10.2 and later in vecLib.framework
1881 * CarbonLib: not available
1882 * Non-Carbon CFM: not available
1883 }
1884 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';
1885 (* __OSX_AVAILABLE_STARTING(__MAC_10_2, __IPHONE_4_0) *)
1886
1887
1888 { Vector convert double-precision to single-precision.}
1889 {
1890 * vDSP_vdpsp()
1891 *
1892 * Availability:
1893 * Mac OS X: in version 10.4 and later in vecLib.framework
1894 * CarbonLib: not available
1895 * Non-Carbon CFM: not available
1896 }
1897 procedure vDSP_vdpsp( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vdpsp';
1898 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1899
1900
1901 { Vector convert single-precision to double-precision.}
1902 {
1903 * vDSP_vspdp()
1904 *
1905 * Availability:
1906 * Mac OS X: in version 10.4 and later in vecLib.framework
1907 * CarbonLib: not available
1908 * Non-Carbon CFM: not available
1909 }
1910 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';
1911 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1912
1913
1914 { Vector absolute value, integer.}
1915 {
1916 * vDSP_vabsi()
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_vabsi( __vDSP_A: SInt32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vabsi';
1924 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1925
1926
1927 { Vector (bit-wise) equivalence (not (A xor B)), integer.}
1928 {
1929 * vDSP_veqvi()
1930 *
1931 * Availability:
1932 * Mac OS X: in version 10.4 and later in vecLib.framework
1933 * CarbonLib: not available
1934 * Non-Carbon CFM: not available
1935 }
1936 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';
1937 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1938
1939
1940 { Vector divide, integer.}
1941 {
1942 * vDSP_vdivi()
1943 *
1944 * Availability:
1945 * Mac OS X: in version 10.4 and later in vecLib.framework
1946 * CarbonLib: not available
1947 * Non-Carbon CFM: not available
1948 }
1949 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';
1950 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1951
1952
1953 { Vector fill, integer.}
1954 {
1955 * vDSP_vfilli()
1956 *
1957 * Availability:
1958 * Mac OS X: in version 10.4 and later in vecLib.framework
1959 * CarbonLib: not available
1960 * Non-Carbon CFM: not available
1961 }
1962 procedure vDSP_vfilli( __vDSP_A: SInt32Ptr; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfilli';
1963 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1964
1965
1966 { Vector-scalar add, integer.}
1967 {
1968 * vDSP_vsaddi()
1969 *
1970 * Availability:
1971 * Mac OS X: in version 10.4 and later in vecLib.framework
1972 * CarbonLib: not available
1973 * Non-Carbon CFM: not available
1974 }
1975 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';
1976 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1977
1978
1979 { Vector-scalar divide, integer.}
1980 {
1981 * vDSP_vsdivi()
1982 *
1983 * Availability:
1984 * Mac OS X: in version 10.4 and later in vecLib.framework
1985 * CarbonLib: not available
1986 * Non-Carbon CFM: not available
1987 }
1988 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';
1989 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
1990
1991
1992 { Complex-split accumulating autospectrum, single-precision.}
1993 {
1994 * vDSP_zaspec()
1995 *
1996 * Availability:
1997 * Mac OS X: in version 10.4 and later in vecLib.framework
1998 * CarbonLib: not available
1999 * Non-Carbon CFM: not available
2000 }
2001 procedure vDSP_zaspec( __vDSP_A: DSPSplitComplexPtr; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zaspec';
2002 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2003
2004
2005 { Complex-split accumulating autospectrum, double-precision.}
2006 {
2007 * vDSP_zaspecD()
2008 *
2009 * Availability:
2010 * Mac OS X: in version 10.4 and later in vecLib.framework
2011 * CarbonLib: not available
2012 * Non-Carbon CFM: not available
2013 }
2014 procedure vDSP_zaspecD( var A: DSPDoubleSplitComplex; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zaspecD';
2015 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2016
2017
2018 { Create Blackman window, single-precision.}
2019 {
2020 * vDSP_blkman_window()
2021 *
2022 * Availability:
2023 * Mac OS X: in version 10.4 and later in vecLib.framework
2024 * CarbonLib: not available
2025 * Non-Carbon CFM: not available
2026 }
2027 procedure vDSP_blkman_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_blkman_window';
2028 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2029
2030
2031 { Create Blackman window, double-precision.}
2032 {
2033 * vDSP_blkman_windowD()
2034 *
2035 * Availability:
2036 * Mac OS X: in version 10.4 and later in vecLib.framework
2037 * CarbonLib: not available
2038 * Non-Carbon CFM: not available
2039 }
2040 procedure vDSP_blkman_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_blkman_windowD';
2041 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2042
2043
2044 { Complex-split coherence function, single-precision.}
2045 {
2046 * vDSP_zcoher()
2047 *
2048 * Availability:
2049 * Mac OS X: in version 10.4 and later in vecLib.framework
2050 * CarbonLib: not available
2051 * Non-Carbon CFM: not available
2052 }
2053 procedure vDSP_zcoher( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: DSPSplitComplexPtr; __vDSP_D: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcoher';
2054 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2055
2056
2057 { Complex-split coherence function, double-precision.}
2058 {
2059 * vDSP_zcoherD()
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_zcoherD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_D: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcoherD';
2067 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2068
2069
2070 { Complex-split anti-aliasing down-sample with real filter, single-precision.}
2071 {
2072 * vDSP_zrdesamp()
2073 *
2074 * Availability:
2075 * Mac OS X: in version 10.4 and later in vecLib.framework
2076 * CarbonLib: not available
2077 * Non-Carbon CFM: not available
2078 }
2079 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';
2080 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2081
2082
2083 { Complex-split anti-aliasing down-sample with real filter, double-precision.}
2084 {
2085 * vDSP_zrdesampD()
2086 *
2087 * Availability:
2088 * Mac OS X: in version 10.4 and later in vecLib.framework
2089 * CarbonLib: not available
2090 * Non-Carbon CFM: not available
2091 }
2092 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';
2093 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2094
2095
2096 { Vector complex-split divide by real, single-precision.}
2097 {
2098 * vDSP_zrvdiv()
2099 *
2100 * Availability:
2101 * Mac OS X: in version 10.4 and later in vecLib.framework
2102 * CarbonLib: not available
2103 * Non-Carbon CFM: not available
2104 }
2105 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';
2106 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2107
2108
2109 { Vector complex-split divide by real, double-precision.}
2110 {
2111 * vDSP_zrvdivD()
2112 *
2113 * Availability:
2114 * Mac OS X: in version 10.4 and later in vecLib.framework
2115 * CarbonLib: not available
2116 * Non-Carbon CFM: not available
2117 }
2118 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';
2119 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2120
2121
2122 { Transfer function (B/A), single-precision.}
2123 {
2124 * vDSP_ztrans()
2125 *
2126 * Availability:
2127 * Mac OS X: in version 10.4 and later in vecLib.framework
2128 * CarbonLib: not available
2129 * Non-Carbon CFM: not available
2130 }
2131 procedure vDSP_ztrans( __vDSP_A: Float32Ptr; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_ztrans';
2132 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2133
2134
2135 { Transfer function (B/A), double-precision.}
2136 {
2137 * vDSP_ztransD()
2138 *
2139 * Availability:
2140 * Mac OS X: in version 10.4 and later in vecLib.framework
2141 * CarbonLib: not available
2142 * Non-Carbon CFM: not available
2143 }
2144 procedure vDSP_ztransD( __vDSP_A: Float64Ptr; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_ztransD';
2145 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2146
2147
2148 { Complex-split vector divide, single-precision.}
2149 {
2150 * vDSP_zvdiv()
2151 *
2152 * Availability:
2153 * Mac OS X: in version 10.4 and later in vecLib.framework
2154 * CarbonLib: not available
2155 * Non-Carbon CFM: not available
2156 }
2157 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';
2158 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2159
2160
2161 { Complex-split vector divide, double-precision.}
2162 {
2163 * vDSP_zvdivD()
2164 *
2165 * Availability:
2166 * Mac OS X: in version 10.4 and later in vecLib.framework
2167 * CarbonLib: not available
2168 * Non-Carbon CFM: not available
2169 }
2170 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';
2171 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2172
2173
2174 { Complex-split accumulating cross-spectrum, single-precision.}
2175 {
2176 * vDSP_zcspec()
2177 *
2178 * Availability:
2179 * Mac OS X: in version 10.4 and later in vecLib.framework
2180 * CarbonLib: not available
2181 * Non-Carbon CFM: not available
2182 }
2183 procedure vDSP_zcspec( __vDSP_A: DSPSplitComplexPtr; __vDSP_B: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcspec';
2184 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2185
2186
2187 { Complex-split accumulating cross-spectrum, double-precision.}
2188 {
2189 * vDSP_zcspecD()
2190 *
2191 * Availability:
2192 * Mac OS X: in version 10.4 and later in vecLib.framework
2193 * CarbonLib: not available
2194 * Non-Carbon CFM: not available
2195 }
2196 procedure vDSP_zcspecD( var A: DSPDoubleSplitComplex; __vDSP_B: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_N: vDSP_Length ); external name '_vDSP_zcspecD';
2197 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2198
2199
2200 { Complex-split vector absolute value, single-precision.}
2201 {
2202 * vDSP_zvabs()
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_zvabs( __vDSP_A: DSPSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvabs';
2210 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2211
2212
2213 { Complex-split vector absolute value, double-precision.}
2214 {
2215 * vDSP_zvabsD()
2216 *
2217 * Availability:
2218 * Mac OS X: in version 10.4 and later in vecLib.framework
2219 * CarbonLib: not available
2220 * Non-Carbon CFM: not available
2221 }
2222 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';
2223 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2224
2225
2226 { Complex-split vector conjugate and multiply, single-precision.}
2227 {
2228 * vDSP_zvcmul()
2229 *
2230 * Availability:
2231 * Mac OS X: in version 10.4 and later in vecLib.framework
2232 * CarbonLib: not available
2233 * Non-Carbon CFM: not available
2234 }
2235 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';
2236 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2237
2238
2239 { Complex-split vector conjugate and multiply, double-precision.}
2240 {
2241 * vDSP_zvcmulD()
2242 *
2243 * Availability:
2244 * Mac OS X: in version 10.4 and later in vecLib.framework
2245 * CarbonLib: not available
2246 * Non-Carbon CFM: not available
2247 }
2248 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';
2249 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2250
2251
2252 { Complex-split vector conjugate, single-precision.}
2253 {
2254 * vDSP_zvconj()
2255 *
2256 * Availability:
2257 * Mac OS X: in version 10.4 and later in vecLib.framework
2258 * CarbonLib: not available
2259 * Non-Carbon CFM: not available
2260 }
2261 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';
2262 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2263
2264
2265 { Complex-split vector conjugate, double-precision.}
2266 {
2267 * vDSP_zvconjD()
2268 *
2269 * Availability:
2270 * Mac OS X: in version 10.4 and later in vecLib.framework
2271 * CarbonLib: not available
2272 * Non-Carbon CFM: not available
2273 }
2274 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';
2275 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2276
2277
2278 { Complex-split vector multiply with scalar, single-precision.}
2279 {
2280 * vDSP_zvzsml()
2281 *
2282 * Availability:
2283 * Mac OS X: in version 10.4 and later in vecLib.framework
2284 * CarbonLib: not available
2285 * Non-Carbon CFM: not available
2286 }
2287 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';
2288 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2289
2290
2291 { Complex-split vector multiply with scalar, double-precision.}
2292 {
2293 * vDSP_zvzsmlD()
2294 *
2295 * Availability:
2296 * Mac OS X: in version 10.4 and later in vecLib.framework
2297 * CarbonLib: not available
2298 * Non-Carbon CFM: not available
2299 }
2300 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';
2301 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2302
2303
2304 { Complex-split vector fill, single-precision.}
2305 {
2306 * vDSP_zvfill()
2307 *
2308 * Availability:
2309 * Mac OS X: in version 10.4 and later in vecLib.framework
2310 * CarbonLib: not available
2311 * Non-Carbon CFM: not available
2312 }
2313 procedure vDSP_zvfill( __vDSP_A: DSPSplitComplexPtr; __vDSP_C: DSPSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvfill';
2314 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2315
2316
2317 { Complex-split vector fill, double-precision.}
2318 {
2319 * vDSP_zvfillD()
2320 *
2321 * Availability:
2322 * Mac OS X: in version 10.4 and later in vecLib.framework
2323 * CarbonLib: not available
2324 * Non-Carbon CFM: not available
2325 }
2326 procedure vDSP_zvfillD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_C: DSPDoubleSplitComplexPtr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvfillD';
2327 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2328
2329
2330 { Complex-split vector magnitudes squared, single-precision.}
2331 {
2332 * vDSP_zvmags()
2333 *
2334 * Availability:
2335 * Mac OS X: in version 10.4 and later in vecLib.framework
2336 * CarbonLib: not available
2337 * Non-Carbon CFM: not available
2338 }
2339 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';
2340 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2341
2342
2343 { Complex-split vector magnitudes squared, double-precision.}
2344 {
2345 * vDSP_zvmagsD()
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_zvmagsD( __vDSP_A: DSPDoubleSplitComplexPtr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_zvmagsD';
2353 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2354
2355
2356 { Complex-split vector magnitudes square and add, single-precision.}
2357 {
2358 * vDSP_zvmgsa()
2359 *
2360 * Availability:
2361 * Mac OS X: in version 10.4 and later in vecLib.framework
2362 * CarbonLib: not available
2363 * Non-Carbon CFM: not available
2364 }
2365 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';
2366 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2367
2368
2369 { Complex-split vector magnitudes square and add, double-precision.}
2370 {
2371 * vDSP_zvmgsaD()
2372 *
2373 * Availability:
2374 * Mac OS X: in version 10.4 and later in vecLib.framework
2375 * CarbonLib: not available
2376 * Non-Carbon CFM: not available
2377 }
2378 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';
2379 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2380
2381
2382 { Complex-split vector move, single-precision.}
2383 {
2384 * vDSP_zvmov()
2385 *
2386 * Availability:
2387 * Mac OS X: in version 10.4 and later in vecLib.framework
2388 * CarbonLib: not available
2389 * Non-Carbon CFM: not available
2390 }
2391 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';
2392 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2393
2394
2395 { Complex-split vector move, double-precision.}
2396 {
2397 * vDSP_zvmovD()
2398 *
2399 * Availability:
2400 * Mac OS X: in version 10.4 and later in vecLib.framework
2401 * CarbonLib: not available
2402 * Non-Carbon CFM: not available
2403 }
2404 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';
2405 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2406
2407
2408 { Complex-split vector negate, single-precision.}
2409 {
2410 * vDSP_zvneg()
2411 *
2412 * Availability:
2413 * Mac OS X: in version 10.4 and later in vecLib.framework
2414 * CarbonLib: not available
2415 * Non-Carbon CFM: not available
2416 }
2417 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';
2418 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2419
2420
2421 { Complex-split vector negate, double-precision.}
2422 {
2423 * vDSP_zvnegD()
2424 *
2425 * Availability:
2426 * Mac OS X: in version 10.4 and later in vecLib.framework
2427 * CarbonLib: not available
2428 * Non-Carbon CFM: not available
2429 }
2430 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';
2431 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2432
2433
2434 { Complex-split vector phase, single-precision.}
2435 {
2436 * vDSP_zvphas()
2437 *
2438 * Availability:
2439 * Mac OS X: in version 10.4 and later in vecLib.framework
2440 * CarbonLib: not available
2441 * Non-Carbon CFM: not available
2442 }
2443 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';
2444 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2445
2446
2447 { Complex-split vector phase, double-precision.}
2448 {
2449 * vDSP_zvphasD()
2450 *
2451 * Availability:
2452 * Mac OS X: in version 10.4 and later in vecLib.framework
2453 * CarbonLib: not available
2454 * Non-Carbon CFM: not available
2455 }
2456 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';
2457 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2458
2459
2460 { Complex-split vector multiply by scalar and add, single-precision.}
2461 {
2462 * vDSP_zvsma()
2463 *
2464 * Availability:
2465 * Mac OS X: in version 10.4 and later in vecLib.framework
2466 * CarbonLib: not available
2467 * Non-Carbon CFM: not available
2468 }
2469 procedure vDSP_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';
2470 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2471
2472
2473 { Complex-split vector multiply by scalar and add, double-precision.}
2474 {
2475 * vDSP_zvsmaD()
2476 *
2477 * Availability:
2478 * Mac OS X: in version 10.4 and later in vecLib.framework
2479 * CarbonLib: not available
2480 * Non-Carbon CFM: not available
2481 }
2482 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';
2483 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2484
2485
2486 { Difference equation, 2 poles, 2 zeros, single-precision.}
2487 {
2488 * vDSP_deq22()
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_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';
2496 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2497
2498
2499 { Difference equation, 2 poles, 2 zeros, double-precision.}
2500 {
2501 * vDSP_deq22D()
2502 *
2503 * Availability:
2504 * Mac OS X: in version 10.4 and later in vecLib.framework
2505 * CarbonLib: not available
2506 * Non-Carbon CFM: not available
2507 }
2508 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';
2509 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2510
2511
2512 { Convolution with decimation (desampling), single-precision.}
2513 {
2514 * vDSP_desamp()
2515 *
2516 * Availability:
2517 * Mac OS X: in version 10.4 and later in vecLib.framework
2518 * CarbonLib: not available
2519 * Non-Carbon CFM: not available
2520 }
2521 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';
2522 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2523
2524
2525 { Convolution with decimation (desampling), double-precision.}
2526 {
2527 * vDSP_desampD()
2528 *
2529 * Availability:
2530 * Mac OS X: in version 10.4 and later in vecLib.framework
2531 * CarbonLib: not available
2532 * Non-Carbon CFM: not available
2533 }
2534 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';
2535 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2536
2537
2538 { Create Hamming window, single-precision.}
2539 {
2540 * vDSP_hamm_window()
2541 *
2542 * Availability:
2543 * Mac OS X: in version 10.4 and later in vecLib.framework
2544 * CarbonLib: not available
2545 * Non-Carbon CFM: not available
2546 }
2547 procedure vDSP_hamm_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hamm_window';
2548 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2549
2550
2551 { Create Hamming window, double-precision.}
2552 {
2553 * vDSP_hamm_windowD()
2554 *
2555 * Availability:
2556 * Mac OS X: in version 10.4 and later in vecLib.framework
2557 * CarbonLib: not available
2558 * Non-Carbon CFM: not available
2559 }
2560 procedure vDSP_hamm_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hamm_windowD';
2561 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2562
2563
2564 { Create Hanning window, single-precision.}
2565 {
2566 * vDSP_hann_window()
2567 *
2568 * Availability:
2569 * Mac OS X: in version 10.4 and later in vecLib.framework
2570 * CarbonLib: not available
2571 * Non-Carbon CFM: not available
2572 }
2573 procedure vDSP_hann_window( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hann_window';
2574 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2575
2576
2577 { Create Hanning window, double-precision.}
2578 {
2579 * vDSP_hann_windowD()
2580 *
2581 * Availability:
2582 * Mac OS X: in version 10.4 and later in vecLib.framework
2583 * CarbonLib: not available
2584 * Non-Carbon CFM: not available
2585 }
2586 procedure vDSP_hann_windowD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_FLAG: SInt32 ); external name '_vDSP_hann_windowD';
2587 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2588
2589
2590 { Maximum magnitude of vector, single-precision.}
2591 {
2592 * vDSP_maxmgv()
2593 *
2594 * Availability:
2595 * Mac OS X: in version 10.4 and later in vecLib.framework
2596 * CarbonLib: not available
2597 * Non-Carbon CFM: not available
2598 }
2599 procedure vDSP_maxmgv( const __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgv';
2600 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2601
2602
2603 { Maximum magnitude of vector, double-precision.}
2604 {
2605 * vDSP_maxmgvD()
2606 *
2607 * Availability:
2608 * Mac OS X: in version 10.4 and later in vecLib.framework
2609 * CarbonLib: not available
2610 * Non-Carbon CFM: not available
2611 }
2612 procedure vDSP_maxmgvD( const __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxmgvD';
2613 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2614
2615
2616 { Maximum magnitude of vector, with index, single-precision.}
2617 {
2618 * vDSP_maxmgvi()
2619 *
2620 * Availability:
2621 * Mac OS X: in version 10.4 and later in vecLib.framework
2622 * CarbonLib: not available
2623 * Non-Carbon CFM: not available
2624 }
2625 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';
2626 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2627
2628
2629 { Maximum magnitude of vector, with index, double-precision.}
2630 {
2631 * vDSP_maxmgviD()
2632 *
2633 * Availability:
2634 * Mac OS X: in version 10.4 and later in vecLib.framework
2635 * CarbonLib: not available
2636 * Non-Carbon CFM: not available
2637 }
2638 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';
2639 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2640
2641
2642 { Maximum value of vector, single-precision.}
2643 {
2644 * vDSP_maxv()
2645 *
2646 * Availability:
2647 * Mac OS X: in version 10.4 and later in vecLib.framework
2648 * CarbonLib: not available
2649 * Non-Carbon CFM: not available
2650 }
2651 procedure vDSP_maxv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxv';
2652 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2653
2654
2655 { Maximum value of vector, double-precision.}
2656 {
2657 * vDSP_maxvD()
2658 *
2659 * Availability:
2660 * Mac OS X: in version 10.4 and later in vecLib.framework
2661 * CarbonLib: not available
2662 * Non-Carbon CFM: not available
2663 }
2664 procedure vDSP_maxvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_maxvD';
2665 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2666
2667
2668 { Maximum value of vector, with index, single-precision.}
2669 {
2670 * vDSP_maxvi()
2671 *
2672 * Availability:
2673 * Mac OS X: in version 10.4 and later in vecLib.framework
2674 * CarbonLib: not available
2675 * Non-Carbon CFM: not available
2676 }
2677 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';
2678 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2679
2680
2681 { Maximum value of vector, with index, double-precision.}
2682 {
2683 * vDSP_maxviD()
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_maxviD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_maxviD';
2691 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2692
2693
2694 { Mean magnitude of vector, single-precision.}
2695 {
2696 * vDSP_meamgv()
2697 *
2698 * Availability:
2699 * Mac OS X: in version 10.4 and later in vecLib.framework
2700 * CarbonLib: not available
2701 * Non-Carbon CFM: not available
2702 }
2703 procedure vDSP_meamgv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meamgv';
2704 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2705
2706
2707 { Mean magnitude of vector, double-precision.}
2708 {
2709 * vDSP_meamgvD()
2710 *
2711 * Availability:
2712 * Mac OS X: in version 10.4 and later in vecLib.framework
2713 * CarbonLib: not available
2714 * Non-Carbon CFM: not available
2715 }
2716 procedure vDSP_meamgvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meamgvD';
2717 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2718
2719
2720 { Mean of vector, single-precision.}
2721 {
2722 * vDSP_meanv()
2723 *
2724 * Availability:
2725 * Mac OS X: in version 10.4 and later in vecLib.framework
2726 * CarbonLib: not available
2727 * Non-Carbon CFM: not available
2728 }
2729 procedure vDSP_meanv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meanv';
2730 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2731
2732
2733 { Mean of vector, double-precision.}
2734 {
2735 * vDSP_meanvD()
2736 *
2737 * Availability:
2738 * Mac OS X: in version 10.4 and later in vecLib.framework
2739 * CarbonLib: not available
2740 * Non-Carbon CFM: not available
2741 }
2742 procedure vDSP_meanvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_meanvD';
2743 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2744
2745
2746 { Mean square of vector, single-precision.}
2747 {
2748 * vDSP_measqv()
2749 *
2750 * Availability:
2751 * Mac OS X: in version 10.4 and later in vecLib.framework
2752 * CarbonLib: not available
2753 * Non-Carbon CFM: not available
2754 }
2755 procedure vDSP_measqv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_measqv';
2756 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2757
2758
2759 { Mean square of vector, double-precision.}
2760 {
2761 * vDSP_measqvD()
2762 *
2763 * Availability:
2764 * Mac OS X: in version 10.4 and later in vecLib.framework
2765 * CarbonLib: not available
2766 * Non-Carbon CFM: not available
2767 }
2768 procedure vDSP_measqvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_measqvD';
2769 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2770
2771
2772 { Minimum magnitude of vector, single-precision.}
2773 {
2774 * vDSP_minmgv()
2775 *
2776 * Availability:
2777 * Mac OS X: in version 10.4 and later in vecLib.framework
2778 * CarbonLib: not available
2779 * Non-Carbon CFM: not available
2780 }
2781 procedure vDSP_minmgv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgv';
2782 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2783
2784
2785 { Minimum magnitude of vector, double-precision.}
2786 {
2787 * vDSP_minmgvD()
2788 *
2789 * Availability:
2790 * Mac OS X: in version 10.4 and later in vecLib.framework
2791 * CarbonLib: not available
2792 * Non-Carbon CFM: not available
2793 }
2794 procedure vDSP_minmgvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgvD';
2795 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2796
2797
2798 { Minimum magnitude of vector, with index, single-precision.}
2799 {
2800 * vDSP_minmgvi()
2801 *
2802 * Availability:
2803 * Mac OS X: in version 10.4 and later in vecLib.framework
2804 * CarbonLib: not available
2805 * Non-Carbon CFM: not available
2806 }
2807 procedure vDSP_minmgvi( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; var __vDSP_IC: vDSP_Length; __vDSP_N: vDSP_Length ); external name '_vDSP_minmgvi';
2808 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2809
2810
2811 { Minimum magnitude of vector, with index, double-precision.}
2812 {
2813 * vDSP_minmgviD()
2814 *
2815 * Availability:
2816 * Mac OS X: in version 10.4 and later in vecLib.framework
2817 * CarbonLib: not available
2818 * Non-Carbon CFM: not available
2819 }
2820 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';
2821 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2822
2823
2824 { Minimum value of vector, single-precision.}
2825 {
2826 * vDSP_minv()
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_minv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minv';
2834 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2835
2836
2837 { Minimum value of vector, double-precision.}
2838 {
2839 * vDSP_minvD()
2840 *
2841 * Availability:
2842 * Mac OS X: in version 10.4 and later in vecLib.framework
2843 * CarbonLib: not available
2844 * Non-Carbon CFM: not available
2845 }
2846 procedure vDSP_minvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_minvD';
2847 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2848
2849
2850 { Minimum value of vector, with index, single-precision.}
2851 {
2852 * vDSP_minvi()
2853 *
2854 * Availability:
2855 * Mac OS X: in version 10.4 and later in vecLib.framework
2856 * CarbonLib: not available
2857 * Non-Carbon CFM: not available
2858 }
2859 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';
2860 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2861
2862
2863 { Minimum value of vector, with index, double-precision.}
2864 {
2865 * vDSP_minviD()
2866 *
2867 * Availability:
2868 * Mac OS X: in version 10.4 and later in vecLib.framework
2869 * CarbonLib: not available
2870 * Non-Carbon CFM: not available
2871 }
2872 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';
2873 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2874
2875
2876 { Matrix move, single-precision.}
2877 {
2878 * vDSP_mmov()
2879 *
2880 * Availability:
2881 * Mac OS X: in version 10.4 and later in vecLib.framework
2882 * CarbonLib: not available
2883 * Non-Carbon CFM: not available
2884 }
2885 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';
2886 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2887
2888
2889 { Matrix move, double-precision.}
2890 {
2891 * vDSP_mmovD()
2892 *
2893 * Availability:
2894 * Mac OS X: in version 10.4 and later in vecLib.framework
2895 * CarbonLib: not available
2896 * Non-Carbon CFM: not available
2897 }
2898 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';
2899 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2900
2901
2902 { Mean of signed squares of vector, single-precision.}
2903 {
2904 * vDSP_mvessq()
2905 *
2906 * Availability:
2907 * Mac OS X: in version 10.4 and later in vecLib.framework
2908 * CarbonLib: not available
2909 * Non-Carbon CFM: not available
2910 }
2911 procedure vDSP_mvessq( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_mvessq';
2912 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2913
2914
2915 { Mean of signed squares of vector, double-precision.}
2916 {
2917 * vDSP_mvessqD()
2918 *
2919 * Availability:
2920 * Mac OS X: in version 10.4 and later in vecLib.framework
2921 * CarbonLib: not available
2922 * Non-Carbon CFM: not available
2923 }
2924 procedure vDSP_mvessqD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_mvessqD';
2925 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2926
2927
2928 { Find zero crossing, single-precision.}
2929 {
2930 * vDSP_nzcros()
2931 *
2932 * Availability:
2933 * Mac OS X: in version 10.4 and later in vecLib.framework
2934 * CarbonLib: not available
2935 * Non-Carbon CFM: not available
2936 }
2937 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';
2938 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2939
2940
2941 { Find zero crossing, double-precision.}
2942 {
2943 * vDSP_nzcrosD()
2944 *
2945 * Availability:
2946 * Mac OS X: in version 10.4 and later in vecLib.framework
2947 * CarbonLib: not available
2948 * Non-Carbon CFM: not available
2949 }
2950 procedure vDSP_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';
2951 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2952
2953
2954 { Convert rectangular to polar, single-precision.}
2955 {
2956 * vDSP_polar()
2957 *
2958 * Availability:
2959 * Mac OS X: in version 10.4 and later in vecLib.framework
2960 * CarbonLib: not available
2961 * Non-Carbon CFM: not available
2962 }
2963 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';
2964 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2965
2966
2967 { Convert rectangular to polar, double-precision.}
2968 {
2969 * vDSP_polarD()
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_polarD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_polarD';
2977 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2978
2979
2980 { Convert polar to rectangular, single-precision.}
2981 {
2982 * vDSP_rect()
2983 *
2984 * Availability:
2985 * Mac OS X: in version 10.4 and later in vecLib.framework
2986 * CarbonLib: not available
2987 * Non-Carbon CFM: not available
2988 }
2989 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';
2990 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
2991
2992
2993 { Convert polar to rectangular, double-precision.}
2994 {
2995 * vDSP_rectD()
2996 *
2997 * Availability:
2998 * Mac OS X: in version 10.4 and later in vecLib.framework
2999 * CarbonLib: not available
3000 * Non-Carbon CFM: not available
3001 }
3002 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';
3003 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3004
3005
3006 { Root-mean-square of vector, single-precision.}
3007 {
3008 * vDSP_rmsqv()
3009 *
3010 * Availability:
3011 * Mac OS X: in version 10.4 and later in vecLib.framework
3012 * CarbonLib: not available
3013 * Non-Carbon CFM: not available
3014 }
3015 procedure vDSP_rmsqv( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_rmsqv';
3016 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3017
3018
3019 { Root-mean-square of vector, double-precision.}
3020 {
3021 * vDSP_rmsqvD()
3022 *
3023 * Availability:
3024 * Mac OS X: in version 10.4 and later in vecLib.framework
3025 * CarbonLib: not available
3026 * Non-Carbon CFM: not available
3027 }
3028 procedure vDSP_rmsqvD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_rmsqvD';
3029 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3030
3031
3032 { Scalar-vector divide, single-precision.}
3033 {
3034 * vDSP_svdiv()
3035 *
3036 * Availability:
3037 * Mac OS X: in version 10.4 and later in vecLib.framework
3038 * CarbonLib: not available
3039 * Non-Carbon CFM: not available
3040 }
3041 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';
3042 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3043
3044
3045 { Scalar-vector divide, double-precision.}
3046 {
3047 * vDSP_svdivD()
3048 *
3049 * Availability:
3050 * Mac OS X: in version 10.4 and later in vecLib.framework
3051 * CarbonLib: not available
3052 * Non-Carbon CFM: not available
3053 }
3054 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';
3055 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3056
3057
3058 { Sum of vector elements, single-precision.}
3059 {
3060 * vDSP_sve()
3061 *
3062 * Availability:
3063 * Mac OS X: in version 10.4 and later in vecLib.framework
3064 * CarbonLib: not available
3065 * Non-Carbon CFM: not available
3066 }
3067 procedure vDSP_sve( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_sve';
3068 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3069
3070
3071 { Sum of vector elements, double-precision.}
3072 {
3073 * vDSP_sveD()
3074 *
3075 * Availability:
3076 * Mac OS X: in version 10.4 and later in vecLib.framework
3077 * CarbonLib: not available
3078 * Non-Carbon CFM: not available
3079 }
3080 procedure vDSP_sveD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_sveD';
3081 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3082
3083
3084 { Sum of vector elements magnitudes, single-precision.}
3085 {
3086 * vDSP_svemg()
3087 *
3088 * Availability:
3089 * Mac OS X: in version 10.4 and later in vecLib.framework
3090 * CarbonLib: not available
3091 * Non-Carbon CFM: not available
3092 }
3093 procedure vDSP_svemg( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svemg';
3094 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3095
3096
3097 { Sum of vector elements' magnitudes, double-precision.}
3098 {
3099 * vDSP_svemgD()
3100 *
3101 * Availability:
3102 * Mac OS X: in version 10.4 and later in vecLib.framework
3103 * CarbonLib: not available
3104 * Non-Carbon CFM: not available
3105 }
3106 procedure vDSP_svemgD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svemgD';
3107 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3108
3109
3110 { Sum of vector elements' squares, single-precision.}
3111 {
3112 * vDSP_svesq()
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_svesq( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svesq';
3120 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3121
3122
3123 { Sum of vector elements' squares, double-precision.}
3124 {
3125 * vDSP_svesqD()
3126 *
3127 * Availability:
3128 * Mac OS X: in version 10.4 and later in vecLib.framework
3129 * CarbonLib: not available
3130 * Non-Carbon CFM: not available
3131 }
3132 procedure vDSP_svesqD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svesqD';
3133 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3134
3135 {$ifc TARGET_OS_MAC}
3136 { Sum of vector elements and sum of vector elements' squares,
3137 * single-precision.
3138 *
3139 * vDSP_sve_svesq()
3140 }
3141 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';
3142 (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
3143
3144
3145 { Sum of vector elements and sum of vector elements' squares,
3146 * double-precision.
3147 *
3148 * vDSP_sve_svesqD()
3149 }
3150 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';
3151 (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
3152
3153
3154 { Normalize elements to zero mean and unit standard deviation,
3155 * single-precision.
3156 *
3157 * vDSP_normalize()
3158 }
3159 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';
3160 (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
3161
3162
3163 { Normalize elements to zero mean and unit standard deviation,
3164 * double-precision.
3165 *
3166 * vDSP_normalize()
3167 }
3168 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';
3169 (* __OSX_AVAILABLE_STARTING(__MAC_10_8, __IPHONE_NA) *)
3170 {$endc} { TARGET_OS_MAC }
3171
3172 { Sum of vector elements' signed squares, single-precision.}
3173 {
3174 * vDSP_svs()
3175 *
3176 * Availability:
3177 * Mac OS X: in version 10.4 and later in vecLib.framework
3178 * CarbonLib: not available
3179 * Non-Carbon CFM: not available
3180 }
3181 procedure vDSP_svs( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svs';
3182 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3183
3184
3185 { Sum of vector elements' signed squares, double-precision.}
3186 {
3187 * vDSP_svsD()
3188 *
3189 * Availability:
3190 * Mac OS X: in version 10.4 and later in vecLib.framework
3191 * CarbonLib: not available
3192 * Non-Carbon CFM: not available
3193 }
3194 procedure vDSP_svsD( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length ); external name '_vDSP_svsD';
3195 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3196
3197
3198 { Vector add, add, and multiply, single-precision.}
3199 {
3200 * vDSP_vaam()
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_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';
3208 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3209
3210
3211 { Vector add, add, and multiply, double-precision.}
3212 {
3213 * vDSP_vaamD()
3214 *
3215 * Availability:
3216 * Mac OS X: in version 10.4 and later in vecLib.framework
3217 * CarbonLib: not available
3218 * Non-Carbon CFM: not available
3219 }
3220 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';
3221 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3222
3223
3224 { Vector absolute value, single-precision.}
3225 {
3226 * vDSP_vabs()
3227 *
3228 * Availability:
3229 * Mac OS X: in version 10.4 and later in vecLib.framework
3230 * CarbonLib: not available
3231 * Non-Carbon CFM: not available
3232 }
3233 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';
3234 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3235
3236
3237 { Vector absolute value, double-precision.}
3238 {
3239 * vDSP_vabsD()
3240 *
3241 * Availability:
3242 * Mac OS X: in version 10.4 and later in vecLib.framework
3243 * CarbonLib: not available
3244 * Non-Carbon CFM: not available
3245 }
3246 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';
3247 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3248
3249
3250 { Vector add, subtract, and multiply, single-precision.}
3251 {
3252 * vDSP_vasbm()
3253 *
3254 * Availability:
3255 * Mac OS X: in version 10.4 and later in vecLib.framework
3256 * CarbonLib: not available
3257 * Non-Carbon CFM: not available
3258 }
3259 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';
3260 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3261
3262
3263 { Vector add, subtract, and multiply, double-precision.}
3264 {
3265 * vDSP_vasbmD()
3266 *
3267 * Availability:
3268 * Mac OS X: in version 10.4 and later in vecLib.framework
3269 * CarbonLib: not available
3270 * Non-Carbon CFM: not available
3271 }
3272 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';
3273 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3274
3275
3276 { Vector add and scalar multiply, single-precision.}
3277 {
3278 * vDSP_vasm()
3279 *
3280 * Availability:
3281 * Mac OS X: in version 10.4 and later in vecLib.framework
3282 * CarbonLib: not available
3283 * Non-Carbon CFM: not available
3284 }
3285 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';
3286 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3287
3288
3289 { Vector add and scalar multiply, double-precision.}
3290 {
3291 * vDSP_vasmD()
3292 *
3293 * Availability:
3294 * Mac OS X: in version 10.4 and later in vecLib.framework
3295 * CarbonLib: not available
3296 * Non-Carbon CFM: not available
3297 }
3298 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';
3299 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3300
3301
3302 { Vector linear average, single-precision.}
3303 {
3304 * vDSP_vavlin()
3305 *
3306 * Availability:
3307 * Mac OS X: in version 10.4 and later in vecLib.framework
3308 * CarbonLib: not available
3309 * Non-Carbon CFM: not available
3310 }
3311 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';
3312 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3313
3314
3315 { Vector linear average, double-precision.}
3316 {
3317 * vDSP_vavlinD()
3318 *
3319 * Availability:
3320 * Mac OS X: in version 10.4 and later in vecLib.framework
3321 * CarbonLib: not available
3322 * Non-Carbon CFM: not available
3323 }
3324 procedure vDSP_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';
3325 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3326
3327
3328 { Vector clip, single-precision.}
3329 {
3330 * vDSP_vclip()
3331 *
3332 * Availability:
3333 * Mac OS X: in version 10.4 and later in vecLib.framework
3334 * CarbonLib: not available
3335 * Non-Carbon CFM: not available
3336 }
3337 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';
3338 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3339
3340
3341 { Vector clip, double-precision.}
3342 {
3343 * vDSP_vclipD()
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_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';
3351 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3352
3353
3354 { Vector clip and count, single-precision.}
3355 {
3356 * vDSP_vclipc()
3357 *
3358 * Availability:
3359 * Mac OS X: in version 10.4 and later in vecLib.framework
3360 * CarbonLib: not available
3361 * Non-Carbon CFM: not available
3362 }
3363 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';
3364 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3365
3366
3367 { Vector clip and count, double-precision.}
3368 {
3369 * vDSP_vclipcD()
3370 *
3371 * Availability:
3372 * Mac OS X: in version 10.4 and later in vecLib.framework
3373 * CarbonLib: not available
3374 * Non-Carbon CFM: not available
3375 }
3376 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';
3377 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3378
3379
3380 { Vector clear, single-precision.}
3381 {
3382 * vDSP_vclr()
3383 *
3384 * Availability:
3385 * Mac OS X: in version 10.4 and later in vecLib.framework
3386 * CarbonLib: not available
3387 * Non-Carbon CFM: not available
3388 }
3389 procedure vDSP_vclr( __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclr';
3390 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3391
3392
3393 { Vector clear, double-precision.}
3394 {
3395 * vDSP_vclrD()
3396 *
3397 * Availability:
3398 * Mac OS X: in version 10.4 and later in vecLib.framework
3399 * CarbonLib: not available
3400 * Non-Carbon CFM: not available
3401 }
3402 procedure vDSP_vclrD( __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vclrD';
3403 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3404
3405
3406 { Vector compress, single-precision.}
3407 {
3408 * vDSP_vcmprs()
3409 *
3410 * Availability:
3411 * Mac OS X: in version 10.4 and later in vecLib.framework
3412 * CarbonLib: not available
3413 * Non-Carbon CFM: not available
3414 }
3415 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';
3416 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3417
3418
3419 { Vector compress, double-precision.}
3420 {
3421 * vDSP_vcmprsD()
3422 *
3423 * Availability:
3424 * Mac OS X: in version 10.4 and later in vecLib.framework
3425 * CarbonLib: not available
3426 * Non-Carbon CFM: not available
3427 }
3428 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';
3429 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3430
3431
3432 { Vector convert to decibels, power, or amplitude, single-precision.}
3433 {
3434 * vDSP_vdbcon()
3435 *
3436 * Availability:
3437 * Mac OS X: in version 10.4 and later in vecLib.framework
3438 * CarbonLib: not available
3439 * Non-Carbon CFM: not available
3440 }
3441 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';
3442 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3443
3444
3445 { Vector convert to decibels, power, or amplitude, double-precision.}
3446 {
3447 * vDSP_vdbconD()
3448 *
3449 * Availability:
3450 * Mac OS X: in version 10.4 and later in vecLib.framework
3451 * CarbonLib: not available
3452 * Non-Carbon CFM: not available
3453 }
3454 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';
3455 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3456
3457
3458 { Vector distance, single-precision.}
3459 {
3460 * vDSP_vdist()
3461 *
3462 * Availability:
3463 * Mac OS X: in version 10.4 and later in vecLib.framework
3464 * CarbonLib: not available
3465 * Non-Carbon CFM: not available
3466 }
3467 procedure vDSP_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';
3468 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3469
3470
3471 { Vector distance, double-precision.}
3472 {
3473 * vDSP_vdistD()
3474 *
3475 * Availability:
3476 * Mac OS X: in version 10.4 and later in vecLib.framework
3477 * CarbonLib: not available
3478 * Non-Carbon CFM: not available
3479 }
3480 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';
3481 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3482
3483
3484 { Vector divide, single-precision.}
3485 {
3486 * vDSP_vdiv()
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_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';
3494 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3495
3496
3497 { Vector divide, double-precision.}
3498 {
3499 * vDSP_vdivD()
3500 *
3501 * Availability:
3502 * Mac OS X: in version 10.4 and later in vecLib.framework
3503 * CarbonLib: not available
3504 * Non-Carbon CFM: not available
3505 }
3506 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';
3507 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3508
3509
3510 { Vector envelope, single-precision.}
3511 {
3512 * vDSP_venvlp()
3513 *
3514 * Availability:
3515 * Mac OS X: in version 10.4 and later in vecLib.framework
3516 * CarbonLib: not available
3517 * Non-Carbon CFM: not available
3518 }
3519 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';
3520 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3521
3522
3523 { Vector envelope, double-precision.}
3524 {
3525 * vDSP_venvlpD()
3526 *
3527 * Availability:
3528 * Mac OS X: in version 10.4 and later in vecLib.framework
3529 * CarbonLib: not available
3530 * Non-Carbon CFM: not available
3531 }
3532 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';
3533 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3534
3535
3536 { Vector fill, single-precision.}
3537 {
3538 * vDSP_vfill()
3539 *
3540 * Availability:
3541 * Mac OS X: in version 10.4 and later in vecLib.framework
3542 * CarbonLib: not available
3543 * Non-Carbon CFM: not available
3544 }
3545 procedure vDSP_vfill( __vDSP_A: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfill';
3546 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3547
3548
3549 { Vector fill, double-precision.}
3550 {
3551 * vDSP_vfillD()
3552 *
3553 * Availability:
3554 * Mac OS X: in version 10.4 and later in vecLib.framework
3555 * CarbonLib: not available
3556 * Non-Carbon CFM: not available
3557 }
3558 procedure vDSP_vfillD( __vDSP_A: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfillD';
3559 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3560
3561
3562 { Vector convert to 8-bit integer, round toward zero, single-precision.}
3563 {
3564 * vDSP_vfix8()
3565 *
3566 * Availability:
3567 * Mac OS X: in version 10.4 and later in vecLib.framework
3568 * CarbonLib: not available
3569 * Non-Carbon CFM: not available
3570 }
3571 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';
3572 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3573
3574
3575 { Vector convert to 8-bit integer, round toward zero, double-precision.}
3576 {
3577 * vDSP_vfix8D()
3578 *
3579 * Availability:
3580 * Mac OS X: in version 10.4 and later in vecLib.framework
3581 * CarbonLib: not available
3582 * Non-Carbon CFM: not available
3583 }
3584 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';
3585 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3586
3587
3588 { Vector convert to 16-bit integer, round toward zero, single-precision.}
3589 {
3590 * vDSP_vfix16()
3591 *
3592 * Availability:
3593 * Mac OS X: in version 10.4 and later in vecLib.framework
3594 * CarbonLib: not available
3595 * Non-Carbon CFM: not available
3596 }
3597 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';
3598 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3599
3600
3601 { Vector convert to 16-bit integer, round toward zero, double-precision.}
3602 {
3603 * vDSP_vfix16D()
3604 *
3605 * Availability:
3606 * Mac OS X: in version 10.4 and later in vecLib.framework
3607 * CarbonLib: not available
3608 * Non-Carbon CFM: not available
3609 }
3610 procedure vDSP_vfix16D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix16D';
3611 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3612
3613
3614 { Vector convert to 32-bit integer, round toward zero, single-precision.}
3615 {
3616 * vDSP_vfix32()
3617 *
3618 * Availability:
3619 * Mac OS X: in version 10.4 and later in vecLib.framework
3620 * CarbonLib: not available
3621 * Non-Carbon CFM: not available
3622 }
3623 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';
3624 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3625
3626
3627 { Vector convert to 32-bit integer, round toward zero, double-precision.}
3628 {
3629 * vDSP_vfix32D()
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_vfix32D( __vDSP_A: Float64Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: SInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfix32D';
3637 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3638
3639
3640 { Vector convert to 8-bit integer, round to nearest, single-precision.}
3641 {
3642 * vDSP_vfixr8()
3643 *
3644 * Availability:
3645 * Mac OS X: in version 10.4 and later in vecLib.framework
3646 * CarbonLib: not available
3647 * Non-Carbon CFM: not available
3648 }
3649 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';
3650 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3651
3652
3653 { Vector convert to 8-bit integer, round to nearest, double-precision.}
3654 {
3655 * vDSP_vfixr8D()
3656 *
3657 * Availability:
3658 * Mac OS X: in version 10.4 and later in vecLib.framework
3659 * CarbonLib: not available
3660 * Non-Carbon CFM: not available
3661 }
3662 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';
3663 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3664
3665
3666 { Vector convert to 16-bit integer, round to nearest, single-precision.}
3667 {
3668 * vDSP_vfixr16()
3669 *
3670 * Availability:
3671 * Mac OS X: in version 10.4 and later in vecLib.framework
3672 * CarbonLib: not available
3673 * Non-Carbon CFM: not available
3674 }
3675 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';
3676 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3677
3678
3679 { Vector convert to 16-bit integer, round to nearest, double-precision.}
3680 {
3681 * vDSP_vfixr16D()
3682 *
3683 * Availability:
3684 * Mac OS X: in version 10.4 and later in vecLib.framework
3685 * CarbonLib: not available
3686 * Non-Carbon CFM: not available
3687 }
3688 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';
3689 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3690
3691
3692 { Vector convert to 32-bit integer, round to nearest, single-precision.}
3693 {
3694 * vDSP_vfixr32()
3695 *
3696 * Availability:
3697 * Mac OS X: in version 10.4 and later in vecLib.framework
3698 * CarbonLib: not available
3699 * Non-Carbon CFM: not available
3700 }
3701 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';
3702 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3703
3704
3705 { Vector convert to 32-bit integer, round to nearest, double-precision.}
3706 {
3707 * vDSP_vfixr32D()
3708 *
3709 * Availability:
3710 * Mac OS X: in version 10.4 and later in vecLib.framework
3711 * CarbonLib: not available
3712 * Non-Carbon CFM: not available
3713 }
3714 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';
3715 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3716
3717
3718 { Vector convert to unsigned 8-bit integer, toward zero, single-precision.}
3719 {
3720 * vDSP_vfixu8()
3721 *
3722 * Availability:
3723 * Mac OS X: in version 10.4 and later in vecLib.framework
3724 * CarbonLib: not available
3725 * Non-Carbon CFM: not available
3726 }
3727 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';
3728 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3729
3730
3731 { Vector convert to unsigned 8-bit integer, toward zero, double-precision.}
3732 {
3733 * vDSP_vfixu8D()
3734 *
3735 * Availability:
3736 * Mac OS X: in version 10.4 and later in vecLib.framework
3737 * CarbonLib: not available
3738 * Non-Carbon CFM: not available
3739 }
3740 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';
3741 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3742
3743
3744 { Vector convert to unsigned 16-bit integer, toward zero, single-precision.}
3745 {
3746 * vDSP_vfixu16()
3747 *
3748 * Availability:
3749 * Mac OS X: in version 10.4 and later in vecLib.framework
3750 * CarbonLib: not available
3751 * Non-Carbon CFM: not available
3752 }
3753 procedure vDSP_vfixu16( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt16Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu16';
3754 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3755
3756
3757 { Vector convert to unsigned 16-bit integer, toward zero, double-precision.}
3758 {
3759 * vDSP_vfixu16D()
3760 *
3761 * Availability:
3762 * Mac OS X: in version 10.4 and later in vecLib.framework
3763 * CarbonLib: not available
3764 * Non-Carbon CFM: not available
3765 }
3766 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';
3767 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3768
3769
3770 { Vector convert to unsigned 32-bit integer, toward zero, single-precision.}
3771 {
3772 * vDSP_vfixu32()
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_vfixu32( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: UInt32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfixu32';
3780 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3781
3782
3783 { Vector convert to unsigned 32-bit integer, toward zero, double-precision.}
3784 {
3785 * vDSP_vfixu32D()
3786 *
3787 * Availability:
3788 * Mac OS X: in version 10.4 and later in vecLib.framework
3789 * CarbonLib: not available
3790 * Non-Carbon CFM: not available
3791 }
3792 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';
3793 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3794
3795
3796 { Vector convert to unsigned 8-bit integer, to nearest, single-precision.}
3797 {
3798 * vDSP_vfixru8()
3799 *
3800 * Availability:
3801 * Mac OS X: in version 10.4 and later in vecLib.framework
3802 * CarbonLib: not available
3803 * Non-Carbon CFM: not available
3804 }
3805 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';
3806 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3807
3808
3809 { Vector convert to unsigned 8-bit integer, to nearest, double-precision.}
3810 {
3811 * vDSP_vfixru8D()
3812 *
3813 * Availability:
3814 * Mac OS X: in version 10.4 and later in vecLib.framework
3815 * CarbonLib: not available
3816 * Non-Carbon CFM: not available
3817 }
3818 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';
3819 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3820
3821
3822 { Vector convert to unsigned 16-bit integer, to nearest, single-precision.}
3823 {
3824 * vDSP_vfixru16()
3825 *
3826 * Availability:
3827 * Mac OS X: in version 10.4 and later in vecLib.framework
3828 * CarbonLib: not available
3829 * Non-Carbon CFM: not available
3830 }
3831 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';
3832 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3833
3834
3835 { Vector convert to unsigned 16-bit integer, to nearest, double-precision.}
3836 {
3837 * vDSP_vfixru16D()
3838 *
3839 * Availability:
3840 * Mac OS X: in version 10.4 and later in vecLib.framework
3841 * CarbonLib: not available
3842 * Non-Carbon CFM: not available
3843 }
3844 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';
3845 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3846
3847
3848 { Vector convert to unsigned 32-bit integer, to nearest, single-precision.}
3849 {
3850 * vDSP_vfixru32()
3851 *
3852 * Availability:
3853 * Mac OS X: in version 10.4 and later in vecLib.framework
3854 * CarbonLib: not available
3855 * Non-Carbon CFM: not available
3856 }
3857 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';
3858 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3859
3860
3861 { Vector convert to unsigned 32-bit integer, to nearest, double-precision.}
3862 {
3863 * vDSP_vfixru32D()
3864 *
3865 * Availability:
3866 * Mac OS X: in version 10.4 and later in vecLib.framework
3867 * CarbonLib: not available
3868 * Non-Carbon CFM: not available
3869 }
3870 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';
3871 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3872
3873
3874 { Vector convert from 8-bit integer, single-precision.}
3875 {
3876 * vDSP_vflt8()
3877 *
3878 * Availability:
3879 * Mac OS X: in version 10.4 and later in vecLib.framework
3880 * CarbonLib: not available
3881 * Non-Carbon CFM: not available
3882 }
3883 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';
3884 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3885
3886
3887 { Vector convert from 8-bit integer, double-precision.}
3888 {
3889 * vDSP_vflt8D()
3890 *
3891 * Availability:
3892 * Mac OS X: in version 10.4 and later in vecLib.framework
3893 * CarbonLib: not available
3894 * Non-Carbon CFM: not available
3895 }
3896 procedure vDSP_vflt8D( var A: char; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt8D';
3897 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3898
3899
3900 { Vector convert from 16-bit integer, single-precision.}
3901 {
3902 * vDSP_vflt16()
3903 *
3904 * Availability:
3905 * Mac OS X: in version 10.4 and later in vecLib.framework
3906 * CarbonLib: not available
3907 * Non-Carbon CFM: not available
3908 }
3909 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';
3910 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3911
3912
3913 { Vector convert from 16-bit integer, double-precision.}
3914 {
3915 * vDSP_vflt16D()
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_vflt16D( var A: SInt16; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vflt16D';
3923 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3924
3925
3926 { Vector convert from 32-bit integer, single-precision.}
3927 {
3928 * vDSP_vflt32()
3929 *
3930 * Availability:
3931 * Mac OS X: in version 10.4 and later in vecLib.framework
3932 * CarbonLib: not available
3933 * Non-Carbon CFM: not available
3934 }
3935 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';
3936 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3937
3938
3939 { Vector convert from 32-bit integer, double-precision.}
3940 {
3941 * vDSP_vflt32D()
3942 *
3943 * Availability:
3944 * Mac OS X: in version 10.4 and later in vecLib.framework
3945 * CarbonLib: not available
3946 * Non-Carbon CFM: not available
3947 }
3948 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';
3949 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3950
3951
3952 { Vector convert from 8-bit integer, single-precision.}
3953 {
3954 * vDSP_vfltu8()
3955 *
3956 * Availability:
3957 * Mac OS X: in version 10.4 and later in vecLib.framework
3958 * CarbonLib: not available
3959 * Non-Carbon CFM: not available
3960 }
3961 procedure vDSP_vfltu8( A: UInt8Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu8';
3962 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3963
3964
3965 { Vector convert from 8-bit integer, double-precision.}
3966 {
3967 * vDSP_vfltu8D()
3968 *
3969 * Availability:
3970 * Mac OS X: in version 10.4 and later in vecLib.framework
3971 * CarbonLib: not available
3972 * Non-Carbon CFM: not available
3973 }
3974 procedure vDSP_vfltu8D( A: UInt8Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu8D';
3975 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3976
3977
3978 { Vector convert from 16-bit integer, single-precision.}
3979 {
3980 * vDSP_vfltu16()
3981 *
3982 * Availability:
3983 * Mac OS X: in version 10.4 and later in vecLib.framework
3984 * CarbonLib: not available
3985 * Non-Carbon CFM: not available
3986 }
3987 procedure vDSP_vfltu16( A: UInt16Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu16';
3988 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
3989
3990
3991 { Vector convert from 16-bit integer, double-precision.}
3992 {
3993 * vDSP_vfltu16D()
3994 *
3995 * Availability:
3996 * Mac OS X: in version 10.4 and later in vecLib.framework
3997 * CarbonLib: not available
3998 * Non-Carbon CFM: not available
3999 }
4000 procedure vDSP_vfltu16D( A: UInt16Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfltu16D';
4001 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4002
4003
4004 { Vector convert from 32-bit integer, single-precision.}
4005 {
4006 * vDSP_vfltu32()
4007 *
4008 * Availability:
4009 * Mac OS X: in version 10.4 and later in vecLib.framework
4010 * CarbonLib: not available
4011 * Non-Carbon CFM: not available
4012 }
4013 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';
4014 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4015
4016
4017 { Vector convert from 32-bit integer, double-precision.}
4018 {
4019 * vDSP_vfltu32D()
4020 *
4021 * Availability:
4022 * Mac OS X: in version 10.4 and later in vecLib.framework
4023 * CarbonLib: not available
4024 * Non-Carbon CFM: not available
4025 }
4026 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';
4027 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4028
4029
4030 { Vector fraction part (subtract integer toward zero), single-precision.}
4031 {
4032 * vDSP_vfrac()
4033 *
4034 * Availability:
4035 * Mac OS X: in version 10.4 and later in vecLib.framework
4036 * CarbonLib: not available
4037 * Non-Carbon CFM: not available
4038 }
4039 procedure vDSP_vfrac( __vDSP_A: Float32Ptr; __vDSP_I: vDSP_Stride; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vfrac';
4040 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4041
4042
4043 { Vector fraction part (subtract integer toward zero), double-precision.}
4044 {
4045 * vDSP_vfracD()
4046 *
4047 * Availability:
4048 * Mac OS X: in version 10.4 and later in vecLib.framework
4049 * CarbonLib: not available
4050 * Non-Carbon CFM: not available
4051 }
4052 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';
4053 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4054
4055
4056 { Vector gather, single-precision.}
4057 {
4058 * vDSP_vgathr()
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_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';
4066 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4067
4068
4069 { Vector gather, double-precision.}
4070 {
4071 * vDSP_vgathrD()
4072 *
4073 * Availability:
4074 * Mac OS X: in version 10.4 and later in vecLib.framework
4075 * CarbonLib: not available
4076 * Non-Carbon CFM: not available
4077 }
4078 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';
4079 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4080
4081
4082 { Vector gather, absolute pointers, single-precision.}
4083 {
4084 * vDSP_vgathra()
4085 *
4086 * Availability:
4087 * Mac OS X: in version 10.4 and later in vecLib.framework
4088 * CarbonLib: not available
4089 * Non-Carbon CFM: not available
4090 }
4091 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';
4092 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4093
4094
4095 { Vector gather, absolute pointers, double-precision.}
4096 {
4097 * vDSP_vgathraD()
4098 *
4099 * Availability:
4100 * Mac OS X: in version 10.4 and later in vecLib.framework
4101 * CarbonLib: not available
4102 * Non-Carbon CFM: not available
4103 }
4104 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';
4105 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4106
4107
4108 { Vector generate tapered ramp, single-precision.}
4109 {
4110 * vDSP_vgen()
4111 *
4112 * Availability:
4113 * Mac OS X: in version 10.4 and later in vecLib.framework
4114 * CarbonLib: not available
4115 * Non-Carbon CFM: not available
4116 }
4117 procedure vDSP_vgen( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgen';
4118 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4119
4120
4121 { Vector generate tapered ramp, double-precision.}
4122 {
4123 * vDSP_vgenD()
4124 *
4125 * Availability:
4126 * Mac OS X: in version 10.4 and later in vecLib.framework
4127 * CarbonLib: not available
4128 * Non-Carbon CFM: not available
4129 }
4130 procedure vDSP_vgenD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vgenD';
4131 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4132
4133
4134 { Vector generate by extrapolation and interpolation, single-precision.}
4135 {
4136 * vDSP_vgenp()
4137 *
4138 * Availability:
4139 * Mac OS X: in version 10.4 and later in vecLib.framework
4140 * CarbonLib: not available
4141 * Non-Carbon CFM: not available
4142 }
4143 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';
4144 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4145
4146
4147 { Vector generate by extrapolation and interpolation, double-precision.}
4148 {
4149 * vDSP_vgenpD()
4150 *
4151 * Availability:
4152 * Mac OS X: in version 10.4 and later in vecLib.framework
4153 * CarbonLib: not available
4154 * Non-Carbon CFM: not available
4155 }
4156 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';
4157 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4158
4159
4160 { Vector inverted clip, single-precision.}
4161 {
4162 * vDSP_viclip()
4163 *
4164 * Availability:
4165 * Mac OS X: in version 10.4 and later in vecLib.framework
4166 * CarbonLib: not available
4167 * Non-Carbon CFM: not available
4168 }
4169 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';
4170 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4171
4172
4173 { Vector inverted clip, double-precision.}
4174 {
4175 * vDSP_viclipD()
4176 *
4177 * Availability:
4178 * Mac OS X: in version 10.4 and later in vecLib.framework
4179 * CarbonLib: not available
4180 * Non-Carbon CFM: not available
4181 }
4182 procedure vDSP_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';
4183 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4184
4185
4186 { Vector index (C[i] = A[truncate[B[i]]), single-precision.}
4187 {
4188 * vDSP_vindex()
4189 *
4190 * Availability:
4191 * Mac OS X: in version 10.4 and later in vecLib.framework
4192 * CarbonLib: not available
4193 * Non-Carbon CFM: not available
4194 }
4195 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';
4196 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4197
4198
4199 { Vector index (C[i] = A[truncate[B[i]]), double-precision.}
4200 {
4201 * vDSP_vindexD()
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_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';
4209 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4210
4211
4212 { Vector interpolation between vectors, single-precision.}
4213 {
4214 * vDSP_vintb()
4215 *
4216 * Availability:
4217 * Mac OS X: in version 10.4 and later in vecLib.framework
4218 * CarbonLib: not available
4219 * Non-Carbon CFM: not available
4220 }
4221 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';
4222 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4223
4224
4225 { Vector interpolation between vectors, double-precision.}
4226 {
4227 * vDSP_vintbD()
4228 *
4229 * Availability:
4230 * Mac OS X: in version 10.4 and later in vecLib.framework
4231 * CarbonLib: not available
4232 * Non-Carbon CFM: not available
4233 }
4234 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';
4235 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4236
4237
4238 { Vector test limit, single-precision.}
4239 {
4240 * vDSP_vlim()
4241 *
4242 * Availability:
4243 * Mac OS X: in version 10.4 and later in vecLib.framework
4244 * CarbonLib: not available
4245 * Non-Carbon CFM: not available
4246 }
4247 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';
4248 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4249
4250
4251 { Vector test limit, double-precision.}
4252 {
4253 * vDSP_vlimD()
4254 *
4255 * Availability:
4256 * Mac OS X: in version 10.4 and later in vecLib.framework
4257 * CarbonLib: not available
4258 * Non-Carbon CFM: not available
4259 }
4260 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';
4261 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4262
4263
4264 { Vector linear interpolation, single-precision.}
4265 {
4266 * vDSP_vlint()
4267 *
4268 * Availability:
4269 * Mac OS X: in version 10.4 and later in vecLib.framework
4270 * CarbonLib: not available
4271 * Non-Carbon CFM: not available
4272 }
4273 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';
4274 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4275
4276
4277 { Vector linear interpolation, double-precision.}
4278 {
4279 * vDSP_vlintD()
4280 *
4281 * Availability:
4282 * Mac OS X: in version 10.4 and later in vecLib.framework
4283 * CarbonLib: not available
4284 * Non-Carbon CFM: not available
4285 }
4286 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';
4287 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4288
4289
4290 { Vector multiply and add, single-precision.}
4291 {
4292 * vDSP_vma()
4293 *
4294 * Availability:
4295 * Mac OS X: in version 10.4 and later in vecLib.framework
4296 * CarbonLib: not available
4297 * Non-Carbon CFM: not available
4298 }
4299 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';
4300 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4301
4302
4303 { Vector multiply and add, double-precision.}
4304 {
4305 * vDSP_vmaD()
4306 *
4307 * Availability:
4308 * Mac OS X: in version 10.4 and later in vecLib.framework
4309 * CarbonLib: not available
4310 * Non-Carbon CFM: not available
4311 }
4312 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';
4313 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4314
4315
4316 { Vector maxima, single-precision.}
4317 {
4318 * vDSP_vmax()
4319 *
4320 * Availability:
4321 * Mac OS X: in version 10.4 and later in vecLib.framework
4322 * CarbonLib: not available
4323 * Non-Carbon CFM: not available
4324 }
4325 procedure vDSP_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';
4326 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4327
4328
4329 { Vector maxima, double-precision.}
4330 {
4331 * vDSP_vmaxD()
4332 *
4333 * Availability:
4334 * Mac OS X: in version 10.4 and later in vecLib.framework
4335 * CarbonLib: not available
4336 * Non-Carbon CFM: not available
4337 }
4338 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';
4339 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4340
4341
4342 { Vector maximum magnitude, single-precision.}
4343 {
4344 * vDSP_vmaxmg()
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_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';
4352 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4353
4354
4355 { Vector maximum magnitude, double-precision.}
4356 {
4357 * vDSP_vmaxmgD()
4358 *
4359 * Availability:
4360 * Mac OS X: in version 10.4 and later in vecLib.framework
4361 * CarbonLib: not available
4362 * Non-Carbon CFM: not available
4363 }
4364 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';
4365 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4366
4367
4368 { Vector minima, single-precision.}
4369 {
4370 * vDSP_vmin()
4371 *
4372 * Availability:
4373 * Mac OS X: in version 10.4 and later in vecLib.framework
4374 * CarbonLib: not available
4375 * Non-Carbon CFM: not available
4376 }
4377 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';
4378 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4379
4380
4381 { Vector minima, double-precision.}
4382 {
4383 * vDSP_vminD()
4384 *
4385 * Availability:
4386 * Mac OS X: in version 10.4 and later in vecLib.framework
4387 * CarbonLib: not available
4388 * Non-Carbon CFM: not available
4389 }
4390 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';
4391 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4392
4393
4394 { Vector minimum magnitude, single-precision.}
4395 {
4396 * vDSP_vminmg()
4397 *
4398 * Availability:
4399 * Mac OS X: in version 10.4 and later in vecLib.framework
4400 * CarbonLib: not available
4401 * Non-Carbon CFM: not available
4402 }
4403 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';
4404 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4405
4406
4407 { Vector minimum magnitude, double-precision.}
4408 {
4409 * vDSP_vminmgD()
4410 *
4411 * Availability:
4412 * Mac OS X: in version 10.4 and later in vecLib.framework
4413 * CarbonLib: not available
4414 * Non-Carbon CFM: not available
4415 }
4416 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';
4417 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4418
4419
4420 { Vector multiply, multiply, and add, single-precision.}
4421 {
4422 * vDSP_vmma()
4423 *
4424 * Availability:
4425 * Mac OS X: in version 10.4 and later in vecLib.framework
4426 * CarbonLib: not available
4427 * Non-Carbon CFM: not available
4428 }
4429 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';
4430 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4431
4432
4433 { Vector multiply, multiply, and add, double-precision.}
4434 {
4435 * vDSP_vmmaD()
4436 *
4437 * Availability:
4438 * Mac OS X: in version 10.4 and later in vecLib.framework
4439 * CarbonLib: not available
4440 * Non-Carbon CFM: not available
4441 }
4442 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';
4443 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4444
4445
4446 { Vector multiply, multiply, and subtract, single-precision.}
4447 {
4448 * vDSP_vmmsb()
4449 *
4450 * Availability:
4451 * Mac OS X: in version 10.4 and later in vecLib.framework
4452 * CarbonLib: not available
4453 * Non-Carbon CFM: not available
4454 }
4455 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';
4456 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4457
4458
4459 { Vector multiply, multiply, and subtract, double-precision.}
4460 {
4461 * vDSP_vmmsbD()
4462 *
4463 * Availability:
4464 * Mac OS X: in version 10.4 and later in vecLib.framework
4465 * CarbonLib: not available
4466 * Non-Carbon CFM: not available
4467 }
4468 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';
4469 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4470
4471
4472 { Vector multiply and scalar add, single-precision.}
4473 {
4474 * vDSP_vmsa()
4475 *
4476 * Availability:
4477 * Mac OS X: in version 10.4 and later in vecLib.framework
4478 * CarbonLib: not available
4479 * Non-Carbon CFM: not available
4480 }
4481 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';
4482 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4483
4484
4485 { Vector multiply and scalar add, double-precision.}
4486 {
4487 * vDSP_vmsaD()
4488 *
4489 * Availability:
4490 * Mac OS X: in version 10.4 and later in vecLib.framework
4491 * CarbonLib: not available
4492 * Non-Carbon CFM: not available
4493 }
4494 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';
4495 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4496
4497
4498 { Vector multiply and subtract, single-precision.}
4499 {
4500 * vDSP_vmsb()
4501 *
4502 * Availability:
4503 * Mac OS X: in version 10.4 and later in vecLib.framework
4504 * CarbonLib: not available
4505 * Non-Carbon CFM: not available
4506 }
4507 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';
4508 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4509
4510
4511 { Vector multiply and subtract, double-precision.}
4512 {
4513 * vDSP_vmsbD()
4514 *
4515 * Availability:
4516 * Mac OS X: in version 10.4 and later in vecLib.framework
4517 * CarbonLib: not available
4518 * Non-Carbon CFM: not available
4519 }
4520 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';
4521 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4522
4523
4524 { Vector negative absolute value, single-precision.}
4525 {
4526 * vDSP_vnabs()
4527 *
4528 * Availability:
4529 * Mac OS X: in version 10.4 and later in vecLib.framework
4530 * CarbonLib: not available
4531 * Non-Carbon CFM: not available
4532 }
4533 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';
4534 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4535
4536
4537 { Vector negative absolute value, double-precision.}
4538 {
4539 * vDSP_vnabsD()
4540 *
4541 * Availability:
4542 * Mac OS X: in version 10.4 and later in vecLib.framework
4543 * CarbonLib: not available
4544 * Non-Carbon CFM: not available
4545 }
4546 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';
4547 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4548
4549
4550 { Vector negate, single-precision.}
4551 {
4552 * vDSP_vneg()
4553 *
4554 * Availability:
4555 * Mac OS X: in version 10.4 and later in vecLib.framework
4556 * CarbonLib: not available
4557 * Non-Carbon CFM: not available
4558 }
4559 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';
4560 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4561
4562
4563 { Vector negate, double-precision.}
4564 {
4565 * vDSP_vnegD()
4566 *
4567 * Availability:
4568 * Mac OS X: in version 10.4 and later in vecLib.framework
4569 * CarbonLib: not available
4570 * Non-Carbon CFM: not available
4571 }
4572 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';
4573 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4574
4575
4576 { Vector polynomial, single-precision.}
4577 {
4578 * vDSP_vpoly()
4579 *
4580 * Availability:
4581 * Mac OS X: in version 10.4 and later in vecLib.framework
4582 * CarbonLib: not available
4583 * Non-Carbon CFM: not available
4584 }
4585 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';
4586 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4587
4588
4589 { Vector polynomial, single-precision.}
4590 {
4591 * vDSP_vpolyD()
4592 *
4593 * Availability:
4594 * Mac OS X: in version 10.4 and later in vecLib.framework
4595 * CarbonLib: not available
4596 * Non-Carbon CFM: not available
4597 }
4598 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';
4599 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4600
4601
4602 { Vector Pythagoras, single-precision.}
4603 {
4604 * vDSP_vpythg()
4605 *
4606 * Availability:
4607 * Mac OS X: in version 10.4 and later in vecLib.framework
4608 * CarbonLib: not available
4609 * Non-Carbon CFM: not available
4610 }
4611 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';
4612 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4613
4614
4615 { Vector Pythagoras, double-precision.}
4616 {
4617 * vDSP_vpythgD()
4618 *
4619 * Availability:
4620 * Mac OS X: in version 10.4 and later in vecLib.framework
4621 * CarbonLib: not available
4622 * Non-Carbon CFM: not available
4623 }
4624 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';
4625 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4626
4627
4628 { Vector quadratic interpolation, single-precision.}
4629 {
4630 * vDSP_vqint()
4631 *
4632 * Availability:
4633 * Mac OS X: in version 10.4 and later in vecLib.framework
4634 * CarbonLib: not available
4635 * Non-Carbon CFM: not available
4636 }
4637 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';
4638 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4639
4640
4641 { Vector quadratic interpolation, double-precision.}
4642 {
4643 * vDSP_vqintD()
4644 *
4645 * Availability:
4646 * Mac OS X: in version 10.4 and later in vecLib.framework
4647 * CarbonLib: not available
4648 * Non-Carbon CFM: not available
4649 }
4650 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';
4651 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4652
4653
4654 { Vector build ramp, single-precision.}
4655 {
4656 * vDSP_vramp()
4657 *
4658 * Availability:
4659 * Mac OS X: in version 10.4 and later in vecLib.framework
4660 * CarbonLib: not available
4661 * Non-Carbon CFM: not available
4662 }
4663 procedure vDSP_vramp( __vDSP_A: Float32Ptr; __vDSP_B: Float32Ptr; __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vramp';
4664 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4665
4666
4667 { Vector build ramp, double-precision.}
4668 {
4669 * vDSP_vrampD()
4670 *
4671 * Availability:
4672 * Mac OS X: in version 10.4 and later in vecLib.framework
4673 * CarbonLib: not available
4674 * Non-Carbon CFM: not available
4675 }
4676 procedure vDSP_vrampD( __vDSP_A: Float64Ptr; __vDSP_B: Float64Ptr; __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrampD';
4677 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4678
4679
4680 { Vector running sum integration, single-precision.}
4681 {
4682 * vDSP_vrsum()
4683 *
4684 * Availability:
4685 * Mac OS X: in version 10.4 and later in vecLib.framework
4686 * CarbonLib: not available
4687 * Non-Carbon CFM: not available
4688 }
4689 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';
4690 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4691
4692
4693 { Vector running sum integration, double-precision.}
4694 {
4695 * vDSP_vrsumD()
4696 *
4697 * Availability:
4698 * Mac OS X: in version 10.4 and later in vecLib.framework
4699 * CarbonLib: not available
4700 * Non-Carbon CFM: not available
4701 }
4702 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';
4703 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4704
4705
4706 { Vector reverse order, in-place, single-precision.}
4707 {
4708 * vDSP_vrvrs()
4709 *
4710 * Availability:
4711 * Mac OS X: in version 10.4 and later in vecLib.framework
4712 * CarbonLib: not available
4713 * Non-Carbon CFM: not available
4714 }
4715 procedure vDSP_vrvrs( __vDSP_C: Float32Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrvrs';
4716 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4717
4718
4719 { Vector reverse order, in-place, double-precision.}
4720 {
4721 * vDSP_vrvrsD()
4722 *
4723 * Availability:
4724 * Mac OS X: in version 10.4 and later in vecLib.framework
4725 * CarbonLib: not available
4726 * Non-Carbon CFM: not available
4727 }
4728 procedure vDSP_vrvrsD( __vDSP_C: Float64Ptr; __vDSP_K: vDSP_Stride; __vDSP_N: vDSP_Length ); external name '_vDSP_vrvrsD';
4729 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4730
4731
4732 { Vector-scalar add, single-precision.}
4733 {
4734 * vDSP_vsadd()
4735 *
4736 * Availability:
4737 * Mac OS X: in version 10.4 and later in vecLib.framework
4738 * CarbonLib: not available
4739 * Non-Carbon CFM: not available
4740 }
4741 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';
4742 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4743
4744
4745 { Vector-scalar add, double-precision.}
4746 {
4747 * vDSP_vsaddD()
4748 *
4749 * Availability:
4750 * Mac OS X: in version 10.4 and later in vecLib.framework
4751 * CarbonLib: not available
4752 * Non-Carbon CFM: not available
4753 }
4754 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';
4755 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4756
4757
4758 { Vector subtract and multiply, single-precision.}
4759 {
4760 * vDSP_vsbm()
4761 *
4762 * Availability:
4763 * Mac OS X: in version 10.4 and later in vecLib.framework
4764 * CarbonLib: not available
4765 * Non-Carbon CFM: not available
4766 }
4767 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';
4768 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4769
4770
4771 { Vector subtract and multiply, double-precision.}
4772 {
4773 * vDSP_vsbmD()
4774 *
4775 * Availability:
4776 * Mac OS X: in version 10.4 and later in vecLib.framework
4777 * CarbonLib: not available
4778 * Non-Carbon CFM: not available
4779 }
4780 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';
4781 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4782
4783
4784 { Vector subtract, subtract, and multiply, single-precision.}
4785 {
4786 * vDSP_vsbsbm()
4787 *
4788 * Availability:
4789 * Mac OS X: in version 10.4 and later in vecLib.framework
4790 * CarbonLib: not available
4791 * Non-Carbon CFM: not available
4792 }
4793 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';
4794 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4795
4796
4797 { Vector subtract, subtract, and multiply, double-precision.}
4798 {
4799 * vDSP_vsbsbmD()
4800 *
4801 * Availability:
4802 * Mac OS X: in version 10.4 and later in vecLib.framework
4803 * CarbonLib: not available
4804 * Non-Carbon CFM: not available
4805 }
4806 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';
4807 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4808
4809
4810 { Vector subtract and scalar multiply, single-precision.}
4811 {
4812 * vDSP_vsbsm()
4813 *
4814 * Availability:
4815 * Mac OS X: in version 10.4 and later in vecLib.framework
4816 * CarbonLib: not available
4817 * Non-Carbon CFM: not available
4818 }
4819 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';
4820 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4821
4822
4823 { Vector subtract and scalar multiply, double-precision.}
4824 {
4825 * vDSP_vsbsmD()
4826 *
4827 * Availability:
4828 * Mac OS X: in version 10.4 and later in vecLib.framework
4829 * CarbonLib: not available
4830 * Non-Carbon CFM: not available
4831 }
4832 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';
4833 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4834
4835
4836 { Vector-scalar divide, single-precision.}
4837 {
4838 * vDSP_vsdiv()
4839 *
4840 * Availability:
4841 * Mac OS X: in version 10.4 and later in vecLib.framework
4842 * CarbonLib: not available
4843 * Non-Carbon CFM: not available
4844 }
4845 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';
4846 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4847
4848
4849 { Vector-scalar divide, double-precision.}
4850 {
4851 * vDSP_vsdivD()
4852 *
4853 * Availability:
4854 * Mac OS X: in version 10.4 and later in vecLib.framework
4855 * CarbonLib: not available
4856 * Non-Carbon CFM: not available
4857 }
4858 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';
4859 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4860
4861
4862 { Vector Simpson integration, single-precision.}
4863 {
4864 * vDSP_vsimps()
4865 *
4866 * Availability:
4867 * Mac OS X: in version 10.4 and later in vecLib.framework
4868 * CarbonLib: not available
4869 * Non-Carbon CFM: not available
4870 }
4871 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';
4872 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4873
4874
4875 { Vector Simpson integration, double-precision.}
4876 {
4877 * vDSP_vsimpsD()
4878 *
4879 * Availability:
4880 * Mac OS X: in version 10.4 and later in vecLib.framework
4881 * CarbonLib: not available
4882 * Non-Carbon CFM: not available
4883 }
4884 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';
4885 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4886
4887
4888 { Vector-scalar multiply and vector add, single-precision.}
4889 {
4890 * vDSP_vsma()
4891 *
4892 * Availability:
4893 * Mac OS X: in version 10.4 and later in vecLib.framework
4894 * CarbonLib: not available
4895 * Non-Carbon CFM: not available
4896 }
4897 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';
4898 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4899
4900
4901 { Vector-scalar multiply and vector add, double-precision.}
4902 {
4903 * vDSP_vsmaD()
4904 *
4905 * Availability:
4906 * Mac OS X: in version 10.4 and later in vecLib.framework
4907 * CarbonLib: not available
4908 * Non-Carbon CFM: not available
4909 }
4910 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';
4911 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4912
4913
4914 { Vector-scalar multiply and scalar add, single-precision.}
4915 {
4916 * vDSP_vsmsa()
4917 *
4918 * Availability:
4919 * Mac OS X: in version 10.4 and later in vecLib.framework
4920 * CarbonLib: not available
4921 * Non-Carbon CFM: not available
4922 }
4923 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';
4924 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4925
4926
4927 { Vector-scalar multiply and scalar add, double-precision.}
4928 {
4929 * vDSP_vsmsaD()
4930 *
4931 * Availability:
4932 * Mac OS X: in version 10.4 and later in vecLib.framework
4933 * CarbonLib: not available
4934 * Non-Carbon CFM: not available
4935 }
4936 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';
4937 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4938
4939
4940 { Vector scalar multiply and vector subtract, single-precision.}
4941 {
4942 * vDSP_vsmsb()
4943 *
4944 * Availability:
4945 * Mac OS X: in version 10.4 and later in vecLib.framework
4946 * CarbonLib: not available
4947 * Non-Carbon CFM: not available
4948 }
4949 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';
4950 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4951
4952
4953 { Vector scalar multiply and vector subtract, double-precision.}
4954 {
4955 * vDSP_vsmsbD()
4956 *
4957 * Availability:
4958 * Mac OS X: in version 10.4 and later in vecLib.framework
4959 * CarbonLib: not available
4960 * Non-Carbon CFM: not available
4961 }
4962 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';
4963 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4964
4965
4966 { Vector sort, in-place, single-precision.}
4967 {
4968 * vDSP_vsort()
4969 *
4970 * Availability:
4971 * Mac OS X: in version 10.4 and later in vecLib.framework
4972 * CarbonLib: not available
4973 * Non-Carbon CFM: not available
4974 }
4975 procedure vDSP_vsort( __vDSP_C: Float32Ptr; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsort';
4976 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4977
4978
4979 { Vector sort, in-place, double-precision.}
4980 {
4981 * vDSP_vsortD()
4982 *
4983 * Availability:
4984 * Mac OS X: in version 10.4 and later in vecLib.framework
4985 * CarbonLib: not available
4986 * Non-Carbon CFM: not available
4987 }
4988 procedure vDSP_vsortD( __vDSP_C: Float64Ptr; __vDSP_N: vDSP_Length; __vDSP_OFLAG: SInt32 ); external name '_vDSP_vsortD';
4989 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
4990
4991
4992 { Vector sort, in-place, integer, single-precision.}
4993 {
4994 * vDSP_vsorti()
4995 *
4996 * Availability:
4997 * Mac OS X: in version 10.4 and later in vecLib.framework
4998 * CarbonLib: not available
4999 * Non-Carbon CFM: not available
5000 }
5001 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';
5002 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5003
5004
5005 { Vector sort, in-place, integer, double-precision.}
5006 {
5007 * vDSP_vsortiD()
5008 *
5009 * Availability:
5010 * Mac OS X: in version 10.4 and later in vecLib.framework
5011 * CarbonLib: not available
5012 * Non-Carbon CFM: not available
5013 }
5014 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';
5015 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5016
5017
5018 { Vector swap, single-precision.}
5019 {
5020 * vDSP_vswap()
5021 *
5022 * Availability:
5023 * Mac OS X: in version 10.4 and later in vecLib.framework
5024 * CarbonLib: not available
5025 * Non-Carbon CFM: not available
5026 }
5027 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';
5028 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5029
5030
5031 { Vector swap, double-precision.}
5032 {
5033 * vDSP_vswapD()
5034 *
5035 * Availability:
5036 * Mac OS X: in version 10.4 and later in vecLib.framework
5037 * CarbonLib: not available
5038 * Non-Carbon CFM: not available
5039 }
5040 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';
5041 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5042
5043
5044 { Vector sliding window sum, single-precision.}
5045 {
5046 * vDSP_vswsum()
5047 *
5048 * Availability:
5049 * Mac OS X: in version 10.4 and later in vecLib.framework
5050 * CarbonLib: not available
5051 * Non-Carbon CFM: not available
5052 }
5053 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';
5054 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5055
5056
5057 { Vector sliding window sum, double-precision.}
5058 {
5059 * vDSP_vswsumD()
5060 *
5061 * Availability:
5062 * Mac OS X: in version 10.4 and later in vecLib.framework
5063 * CarbonLib: not available
5064 * Non-Carbon CFM: not available
5065 }
5066 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';
5067 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5068
5069
5070 { Vector table lookup and interpolation, single-precision.}
5071 {
5072 * vDSP_vtabi()
5073 *
5074 * Availability:
5075 * Mac OS X: in version 10.4 and later in vecLib.framework
5076 * CarbonLib: not available
5077 * Non-Carbon CFM: not available
5078 }
5079 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';
5080 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5081
5082
5083 { Vector table lookup and interpolation, double-precision.}
5084 {
5085 * vDSP_vtabiD()
5086 *
5087 * Availability:
5088 * Mac OS X: in version 10.4 and later in vecLib.framework
5089 * CarbonLib: not available
5090 * Non-Carbon CFM: not available
5091 }
5092 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';
5093 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5094
5095
5096 { Vector threshold, single-precision.}
5097 {
5098 * vDSP_vthr()
5099 *
5100 * Availability:
5101 * Mac OS X: in version 10.4 and later in vecLib.framework
5102 * CarbonLib: not available
5103 * Non-Carbon CFM: not available
5104 }
5105 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';
5106 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5107
5108
5109 { Vector threshold, double-precision.}
5110 {
5111 * vDSP_vthrD()
5112 *
5113 * Availability:
5114 * Mac OS X: in version 10.4 and later in vecLib.framework
5115 * CarbonLib: not available
5116 * Non-Carbon CFM: not available
5117 }
5118 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';
5119 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5120
5121
5122 { Vector threshold with zero fill, single-precision.}
5123 {
5124 * vDSP_vthres()
5125 *
5126 * Availability:
5127 * Mac OS X: in version 10.4 and later in vecLib.framework
5128 * CarbonLib: not available
5129 * Non-Carbon CFM: not available
5130 }
5131 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';
5132 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5133
5134
5135 { Vector threshold with zero fill, double-precision.}
5136 {
5137 * vDSP_vthresD()
5138 *
5139 * Availability:
5140 * Mac OS X: in version 10.4 and later in vecLib.framework
5141 * CarbonLib: not available
5142 * Non-Carbon CFM: not available
5143 }
5144 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';
5145 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5146
5147
5148 { Vector threshold with signed constant, single-precision.}
5149 {
5150 * vDSP_vthrsc()
5151 *
5152 * Availability:
5153 * Mac OS X: in version 10.4 and later in vecLib.framework
5154 * CarbonLib: not available
5155 * Non-Carbon CFM: not available
5156 }
5157 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';
5158 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5159
5160
5161 { Vector threshold with signed constant, double-precision.}
5162 {
5163 * vDSP_vthrscD()
5164 *
5165 * Availability:
5166 * Mac OS X: in version 10.4 and later in vecLib.framework
5167 * CarbonLib: not available
5168 * Non-Carbon CFM: not available
5169 }
5170 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';
5171 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5172
5173
5174 { Vector tapered merge, single-precision.}
5175 {
5176 * vDSP_vtmerg()
5177 *
5178 * Availability:
5179 * Mac OS X: in version 10.4 and later in vecLib.framework
5180 * CarbonLib: not available
5181 * Non-Carbon CFM: not available
5182 }
5183 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';
5184 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5185
5186
5187 { Vector tapered merge, double-precision.}
5188 {
5189 * vDSP_vtmergD()
5190 *
5191 * Availability:
5192 * Mac OS X: in version 10.4 and later in vecLib.framework
5193 * CarbonLib: not available
5194 * Non-Carbon CFM: not available
5195 }
5196 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';
5197 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5198
5199
5200 { Vector trapezoidal integration, single-precision.}
5201 {
5202 * vDSP_vtrapz()
5203 *
5204 * Availability:
5205 * Mac OS X: in version 10.4 and later in vecLib.framework
5206 * CarbonLib: not available
5207 * Non-Carbon CFM: not available
5208 }
5209 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';
5210 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5211
5212
5213 { Vector trapezoidal integration, double-precision.}
5214 {
5215 * vDSP_vtrapzD()
5216 *
5217 * Availability:
5218 * Mac OS X: in version 10.4 and later in vecLib.framework
5219 * CarbonLib: not available
5220 * Non-Carbon CFM: not available
5221 }
5222 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';
5223 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5224
5225
5226 { Wiener Levinson, single-precision.}
5227 {
5228 * vDSP_wiener()
5229 *
5230 * Availability:
5231 * Mac OS X: in version 10.4 and later in vecLib.framework
5232 * CarbonLib: not available
5233 * Non-Carbon CFM: not available
5234 }
5235 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';
5236 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5237
5238
5239 { Wiener Levinson, double-precision.}
5240 {
5241 * vDSP_wienerD()
5242 *
5243 * Availability:
5244 * Mac OS X: in version 10.4 and later in vecLib.framework
5245 * CarbonLib: not available
5246 * Non-Carbon CFM: not available
5247 }
5248 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';
5249 (* __OSX_AVAILABLE_STARTING(__MAC_10_4, __IPHONE_4_0) *)
5250
5251
5252 { vDSP_FFT16_copv and vDSP_FFT32_copv perform 16- and 32-element FFTs on
5253 interleaved complex unit-stride vector-block-aligned data.
5254
5255 Parameters:
5256
5257 float *Output
5258
5259 Pointer to space for output data (interleaved complex). This
5260 address must be vector-block aligned.
5261
5262 const float *Input
5263
5264 Pointer to input data (interleaved complex). This address must be
5265 vector-block aligned.
5266
5267 FFT_Direction Direction
5268
5269 Transform direction, FFT_FORWARD or FFT_INVERSE.
5270
5271 These routines calculate:
5272
5273 For 0 <= k < N,
5274
5275 H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
5276
5277 where:
5278
5279 N is 16 or 32, as specified by the routine name,
5280
5281 h[j] is Input[2*j+0] + i * Input[2*j+1] at routine entry,
5282
5283 H[j] is Output[2*j+0] + i * Output[2*j+1] at routine exit,
5284
5285 S is -1 if Direction is FFT_FORWARD and +1 if Direction is FFT_INVERSE,
5286 and
5287
5288 1**x is e**(2*pi*i*x).
5289
5290 Input and Output may be equal but may not otherwise overlap.
5291 }
5292 procedure vDSP_FFT16_copv( __vDSP_Output: Float32Ptr; {const} __vDSP_Input: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT16_copv';
5293 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5294 procedure vDSP_FFT32_copv( __vDSP_Output: Float32Ptr; {const} __vDSP_Input: Float32Ptr; __vDSP_Direction: FFTDirection ); external name '_vDSP_FFT32_copv';
5295 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5296
5297
5298 { vDSP_FFT16_zopv and vDSP_FFT32_zopv perform 16- and 32-element FFTs on
5299 separated complex unit-stride vector-block-aligned data.
5300
5301 Parameters:
5302
5303 float *Or, float *Oi
5304
5305 Pointers to space for real and imaginary output data. These
5306 addresses must be vector-block aligned.
5307
5308 const float *Ir, *Ii
5309
5310 Pointers to real and imaginary input data. These addresses must be
5311 vector-block aligned.
5312
5313 FFT_Direction Direction
5314
5315 Transform direction, FFT_FORWARD or FFT_INVERSE.
5316
5317 These routines calculate:
5318
5319 For 0 <= k < N,
5320
5321 H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
5322
5323 where:
5324
5325 N is 16 or 32, as specified by the routine name,
5326
5327 h[j] is Ir[j] + i * Ii[j] at routine entry,
5328
5329 H[j] is Or[j] + i * Oi[j] at routine exit,
5330
5331 S is -1 if Direction is FFT_FORWARD and +1 if Direction is FFT_INVERSE,
5332 and
5333
5334 1**x is e**(2*pi*i*x).
5335
5336 Or may equal Ir or Ii, and Oi may equal Ii or Ir, but the ararys may not
5337 otherwise overlap.
5338 }
5339 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';
5340 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5341 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';
5342 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5343
5344
5345 { How to use the Discrete Fourier Transform (DFT) interface.
5346
5347 There are three steps to performing a DFT:
5348
5349 Call a setup routine (e.g., vDSP_DFT_zop_CreateSetup) to get a setup
5350 object.
5351
5352 This is a preparation step to be done when a program is starting or
5353 is starting some new phase (e.g., when a communication channel is
5354 opened). It should never be done during real-time processing. The
5355 setup routine is slow and is called only once to prepare data that
5356 can be used many times.
5357
5358 Call an execution routine (e.g., vDSP_DFT_Execute) to perform a DFT,
5359 and pass it the setup object.
5360
5361 The execution routine is fast (for selected cases) and is generally
5362 called many times.
5363
5364 Call a destroy routine (e.g., vDSP_DFT_DestroySetup) to release the
5365 memory held by the setup object.
5366
5367 This is done when a program is ending or is ending some phase.
5368 After calling a destroy routine, the setup data is no longer valid
5369 and should not be used.
5370
5371 Discussion:
5372
5373 The current sequences of setup, execution, destroy routines are:
5374
5375 vDSP_DFT_zop_CreateSetup, vDSP_DFT_Execute, vDSP_DFT_DestroySetup;
5376
5377 vDSP_DFT_zrop_CreateSetup, vDSP_DFT_Execute, vDSP_DFT_DestroySetup;
5378
5379 vDSP_DFT_CreateSetup, vDSP_DFT_zop, vDSP_DFT_DestroySetup.
5380
5381 Sharing DFT setups:
5382
5383 Any setup returned by a DFT setup routine may be passed as input to
5384 any DFT setup routine, in the parameter named Previous. (This
5385 allows the setups to share data, avoiding unnecessary duplication
5386 of some setup data.) Setup routines may be executed in any order.
5387 Passing any setup of a group of setups sharing data will result in
5388 a new setup sharing data with all of the group.
5389
5390 When calling an execution routine, each setup can be used only with
5391 its intended execution routine. Thus the setup returned by
5392 vDSP_DFT_CreateSetup can only be used with vDSP_DFT_zop and not
5393 with vDSP_DFT_Execute.
5394
5395 vDSP_DFT_DestroySetup is used to destroy any DFT setup.
5396
5397 History:
5398
5399 vDSP_DFT_CreateSetup and vDSP_DFT_zop are the original vDSP DFT
5400 routines. vDSP_DFT_zop_CreateSetup, vDSP_DFT_zrop_CreateSetup, and
5401 vDSP_DFT_Execute are newer, more specialized DFT routines. These
5402 newer routines do not have stride parameters (stride is one) and
5403 incorporate the direction parameter into the setup. This reduces
5404 the number of arguments passed to the execution routine, which
5405 receives only the setup and four address parameters. Additionally,
5406 the complex-to-complex DFT (zop) and real-to-complex DFT (zrop) use
5407 the same execution routine (the setup indicates which function to
5408 perform).
5409
5410 We recommend you use vDSP_DFT_zop_CreateSetup,
5411 vDPS_DFT_zrop_CreateSetup, and vDSP_DFT_Execute, and that you not
5412 use vDSP_DFT_CreateSetup and vDSP_DFT_zop.
5413
5414 Multithreading:
5415
5416 Never call a setup or destroy routine in a thread when any DFT routine
5417 (setup, execution, or destroy) that shares setup data may be
5418 executing. (This applies not just to multiple threads but also to
5419 calling DFT routines in signal handlers.)
5420
5421 Multiple DFT execution routines may be called simultaneously. (Their
5422 access to the setup data is read-only.)
5423
5424 If you need to call setup and/or destroy routines while other DFT
5425 routines might be executing, you can either use Grand Central Dispatch
5426 or locks (costs time) to avoid simultaneous execution or you can create
5427 separate setup objects for them (costs memory).
5428 }
5429
5430
5431 { A vDSP_DFT_Setup object is a pointer to a structure whose definition is
5432 unpublished.
5433 }
5434 type
5435 vDSP_DFT_Setup = ^vDSP_DFT_SetupStruct;
5436 vDSP_DFT_SetupStruct = record end;
5437
5438
5439 // DFT direction may be specified as vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
5440 const
5441 vDSP_DFT_FORWARD = 1;
5442 vDSP_DFT_INVERSE = -1;
5443 type
5444 vDSP_DFT_Direction = UInt32;
5445
5446
5447 { vDSP_DFT_CreateSetup is a DFT setup routine. It creates a setup object
5448 for use with the vDSP_DFT_zop execution routine. We recommend you use
5449 vDSP_DFT_zop_CreateSetup instead of this routine.
5450
5451 Parameters:
5452
5453 vDSP_DFT_Setup Previous
5454
5455 Previous is either zero or a previous DFT setup. If a previous
5456 setup is passed, the new setup will share data with the previous
5457 setup, if feasible (and with any other setups the previous setup
5458 shares with). If zero is passed, the routine will allocate and
5459 initialize new memory.
5460
5461 vDSP_Length Length
5462
5463 Length is the number of complex elements to be transformed.
5464
5465 Return value:
5466
5467 Zero is returned if memory is unavailable.
5468
5469 The returned setup object may be used only with vDSP_DFT_zop for the length
5470 given during setup. Unlike previous vDSP FFT routines, the setup may not
5471 be used to execute transforms with shorter lengths.
5472
5473 Do not call this routine while any DFT routine sharing setup data might be
5474 executing.
5475 }
vDSP_DFT_CreateSetupnull5476 function vDSP_DFT_CreateSetup( __vDSP_Previous: vDSP_DFT_Setup; __vDSP_Length: vDSP_Length ): vDSP_DFT_Setup; external name '_vDSP_DFT_CreateSetup';
5477 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5478
5479
5480 { vDSP_DFT_zop_CreateSetup is a DFT setup routine. It creates a setup object
5481 for use with the vDSP_DFT_Execute execution routine, to perform a
5482 complex-to-complex DFT.
5483
5484 Parameters:
5485
5486 vDSP_DFT_Setup Previous
5487
5488 Previous is either zero or a previous DFT setup. If a previous
5489 setup is passed, the new setup will share data with the previous
5490 setup, if feasible (and with any other setups the previous setup
5491 shares with). If zero is passed, the routine will allocate and
5492 initialize new memory.
5493
5494 vDSP_Length Length
5495
5496 Length is the number of complex elements to be transformed.
5497
5498 vDSP_DFT_Direction Direction
5499
5500 Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
5501
5502 Return value:
5503
5504 Zero is returned if memory is unavailable or if there is no
5505 implementation for the requested case. Currently, the implemented
5506 cases are:
5507
5508 Length = f * 2**n, where f is 3, 5, or 15 and 3 <= n.
5509
5510 Additionally, only cases where the array addresses (passed to
5511 vDSP_DFT_Execute) are 16-byte aligned are optimized.
5512
5513 Function:
5514
5515 When vDSP_DFT_Execute is called with a setup returned from this
5516 routine, it calculates:
5517
5518 For 0 <= k < N,
5519
5520 H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
5521
5522 where:
5523
5524 N is the length given in the setup;
5525
5526 h is the array of complex numbers specified by Ir and Ii when
5527 vDSP_DFT_Execute is called:
5528
5529 for 0 <= j < N,
5530 h[j] = Ir[j] + i * Ii[j];
5531
5532 H is the array of complex numbers specified by Or and Oi when
5533 vDSP_DFT_Execute returns:
5534
5535 for 0 <= k < N,
5536 H[k] = Or[k] + i * Oi[k];
5537
5538 S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
5539 vDSP_DFT_INVERSE; and
5540
5541 1**x is e**(2*pi*i*x).
5542
5543 Performance:
5544
5545 Performance is good for these cases:
5546
5547 All addresses are 16-byte aligned, and the length is f * 2**n,
5548 where f is 3, 5, or 15 and 3 <= n.
5549
5550 Performance is extremely slow for all other cases.
5551
5552 In-Place Operation:
5553
5554 For the cases with good performance as described above, Or may equal Ir
5555 and Oi may equal Ii (in the call to vDSP_DFT_Execute). Otherwise, no
5556 overlap of Or, Oi, Ir, and Ii is supported.
5557
5558 The returned setup object may be used only with vDSP_DFT_Execute for the
5559 length given during setup. Unlike previous vDSP FFT routines, the setup
5560 may not be used to execute transforms with shorter lengths.
5561
5562 Do not call this routine while any DFT routine sharing setup data might be
5563 executing.
5564 }
vDSP_DFT_zop_CreateSetupnull5565 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';
5566 (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
5567
5568
5569 { vDSP_DFT_zrop_CreateSetup is a DFT setup routine. It creates a setup
5570 object for use with the vDSP_DFT_Execute execution routine, to perform a
5571 real-to-complex DFT or a complex-to-real DFT.
5572
5573 Parameters:
5574
5575 vDSP_DFT_Setup Previous
5576
5577 Previous is either zero or a previous DFT setup. If a previous
5578 setup is passed, the new setup will share data with the previous
5579 setup, if feasible (and with any other setups the previous setup
5580 shares with). If zero is passed, the routine will allocate and
5581 initialize new memory.
5582
5583 vDSP_Length Length
5584
5585 Length is the number of real elements to be transformed (in a a
5586 forward, real-to-complex transform) or produced (in a reverse,
5587 complex-to-real transform). Length must be even.
5588
5589 vDSP_DFT_Direction Direction
5590
5591 Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
5592
5593 Return value:
5594
5595 Zero is returned if memory is unavailable or if there is no
5596 implementation for the requested case. Currently, the implemented
5597 cases are:
5598
5599 Length = f * 2**n, where f is 3, 5, or 15 and 4 <= n.
5600
5601 Additionally, only cases where the array addresses (passed to
5602 vDSP_DFT_Execute) are 16-byte aligned are optimized.
5603
5604 Function:
5605
5606 When vDSP_DFT_Execute is called with a setup returned from this
5607 routine, it calculates:
5608
5609 For 0 <= k < N,
5610
5611 H[k] = C * sum(1**(S * j*k/N) * h[j], 0 <= j < N),
5612
5613 where:
5614
5615 N is the Length given in the setup;
5616
5617 h is the array of numbers specified by Ir and Ii when
5618 vDSP_DFT_Execute is called (see "Data Layout" below);
5619
5620 H is the array of numbers specified by Or and Oi when
5621 vDSP_DFT_Execute returns (see "Data Layout" below);
5622
5623 C is 2 if Direction is vDSP_DFT_FORWARD and 1 if Direction is
5624 vDSP_DFT_INVERSE;
5625
5626 S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
5627 vDSP_DFT_INVERSE; and
5628
5629 1**x is e**(2*pi*i*x).
5630
5631 Data Layout:
5632
5633 If Direction is vDSP_DFT_FORWARD, then:
5634
5635 h is an array of real numbers, with its even-index elements
5636 stored in Ir and its odd-index elements stored in Ii:
5637
5638 For 0 <= j < N/2,
5639 h[2*j+0] = Ir[j], and
5640 h[2*j+1] = Ii[j].
5641
5642 H is an array of complex numbers, stored in Or and Oi:
5643
5644 H[0 ] = Or[0]. (H[0 ] is pure real.)
5645 H[N/2] = Oi[0]. (H[N/2] is pure real.)
5646 For 1 < k < N/2,
5647 H[k] = Or[k] + i * Oi[k].
5648
5649 For N/2 < k < N, H[k] is not explicitly stored in memory but is
5650 known because it necessarily equals the conjugate of H[N-k],
5651 which is stored as described above.
5652
5653 If Direction is vDSP_DFT_Inverse, then the layouts of the input and
5654 output arrays are swapped. Ir and Ii describe an input array with
5655 complex elements laid out as described above for Or and Oi. When
5656 vDSP_DFT_Execute returns, Or and Oi contain a pure real array, with
5657 its even-index elements stored in Or and its odd-index elements in
5658 Oi.
5659
5660 Performance:
5661
5662 Performance is good for these cases:
5663
5664 All addresses are 16-byte aligned, and the length is f * 2**n,
5665 where f is 3, 5, or 15 and 4 <= n.
5666
5667 Performance is extremely slow for all other cases.
5668
5669 In-Place Operation:
5670
5671 For the cases with good performance as described above, Or may equal Ir
5672 and Oi may equal Ii (in the call to vDSP_DFT_Execute). Otherwise, no
5673 overlap of Or, Oi, Ir, and Ii is supported.
5674
5675 The returned setup object may be used only with vDSP_DFT_Execute for the
5676 length given during setup. Unlike previous vDSP FFT routines, the setup
5677 may not be used to execute transforms with shorter lengths.
5678
5679 Do not call this routine while any DFT routine sharing setup data might be
5680 executing.
5681 }
vDSP_DFT_zrop_CreateSetupnull5682 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';
5683 (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
5684
5685
5686 { vDSP_DFT_DestroySetup is a DFT destroy routine. It releases the memory
5687 used by a setup object.
5688
5689 Parameters:
5690
5691 vDSP_DFT_Setup Setup
5692
5693 Setup is the setup object to be released. The object may have
5694 been previously allocated with any DFT setup routine, such as
5695 vDSP_DFT_zop_CreateSetup or vDSP_DFT_zrop_CreateSetup.
5696
5697 Destroying a setup with shared data is safe; it will release only memory
5698 not needed by other undestroyed setups. Memory (and the data it contains)
5699 is freed only when all setup objects using it have been destroyed.
5700
5701 Do not call this routine while any DFT routine sharing setup data might be
5702 executing.
5703 }
5704 procedure vDSP_DFT_DestroySetup( __vDSP_Setup: vDSP_DFT_Setup ); external name '_vDSP_DFT_DestroySetup';
5705 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5706
5707
5708 { vDSP_DFT_zop is a DFT execution routine. It performs a DFT, with the aid
5709 of previously created setup data.
5710
5711 Parameters:
5712
5713 vDSP_DFT_Setup Setup
5714
5715 A setup object returned by a previous call to
5716 vDSP_DFT_zop_CreateSetup.
5717
5718 const float *Ir
5719 const float *Ii
5720
5721 Pointers to real and imaginary components of input data.
5722
5723 vDSP_Stride Is
5724
5725 The number of physical elements from one logical input element to
5726 the next.
5727
5728 float *Or
5729 float *Oi
5730
5731 Pointers to space for real and imaginary components of output
5732 data.
5733
5734 The input and output arrays may not overlap except as specified
5735 in "In-Place Operation", below.
5736
5737 vDSP_Stride Os
5738
5739 The number of physical elements from one logical output element to
5740 the next.
5741
5742 vDSP_DFT_Direction Direction
5743
5744 Transform direction, vDSP_DFT_FORWARD or vDSP_DFT_INVERSE.
5745
5746 Observe there is no separate length parameter. The length is passed via
5747 the setup object.
5748
5749 Performance:
5750
5751 Performance is good for these cases:
5752
5753 All addresses are 16-byte aligned, all strides are one, and the
5754 length is f * 2**n, where f is 3, 5, or 15 and 3 <= n.
5755
5756 Performance is extremely slow for all other cases.
5757
5758 In-Place Operation:
5759
5760 For the cases with good performance as described above, Or may equal Ir
5761 and Oi may equal Ii. Otherwise, no overlap of Or, Oi, Ir, and Ii is
5762 supported.
5763
5764 This routine calculates:
5765
5766 For 0 <= k < N,
5767
5768 H[k] = sum(1**(S * j*k/N) * h[j], 0 <= j < N),
5769
5770 where:
5771
5772 N is the length given in the setup,
5773
5774 h is the array of complex numbers specified by Ir, Ii, and Is at
5775 routine entry:
5776
5777 h[j] = Ir[j*Is] + i * Ii[j*Is],
5778 for 0 <= j < N,
5779
5780 H is the array of complex numbers stored as specified by Or, Oi, and Os
5781 at routine exit:
5782
5783 H[k] = Or[k*Os] + i * Oi[k*Os],
5784 for 0 <= k < N,
5785
5786 S is -1 if Direction is vDSP_DFT_FORWARD and +1 if Direction is
5787 vDSP_DFT_INVERSE, and
5788
5789 1**x is e**(2*pi*i*x).
5790
5791 Do not call this routine while any DFT setup or destroy routine sharing
5792 setup data might be executing.
5793 }
5794 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';
5795 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5796
5797
5798 { vDSP_DFT_Execute is a DFT execution routine. It performs a DFT, with the
5799 aid of previously created setup data.
5800
5801 Parameters:
5802
5803 vDSP_DFT_Setup Setup
5804
5805 A setup object returned by a previous call to
5806 vDSP_DFT_zop_CreateSetup or vDSP_DFT_zrop_CreateSetup.
5807
5808 const float *Ir
5809 const float *Ii
5810
5811 Pointers to input data.
5812
5813 float *Or
5814 float *Oi
5815
5816 Pointers to output data.
5817
5818 The input and output arrays may not overlap except as specified
5819 in "In-Place Operation", below.
5820
5821 Performance and In-Place Operation:
5822
5823 See notes for the setup routine for the operation being executed.
5824
5825 Function:
5826
5827 The function performed by this routine is determined by the setup
5828 passed to it. The documentation for the routine used to create the
5829 setup describes the function.
5830
5831 Note that different numbers of elements are required when this routine
5832 is called, depending on the setup used:
5833
5834 When the setup is from vDSP_zop_CreateSetup, each array (Ir, Ii,
5835 Or, and Oi) must have Length elements.
5836
5837 When the setup is from vDSP_zrop_CreateSetup, each array (Ir, Ii,
5838 Or, and Oi) must have Length/2 elements.
5839
5840 Do not call this routine while any DFT setup or destroy routine sharing
5841 setup data might be executing.
5842 }
5843 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';
5844 (* __OSX_AVAILABLE_STARTING(__MAC_10_7, __IPHONE_4_0) *)
5845
5846
5847 { vDSP_dotpr2, vector single-precision stereo dot product.
5848
5849 Function:
5850
5851 This routine calculates the dot product of A0 with B and the dot
5852 product of A1 with B. This is functionally equivalent to calculating
5853 two dot products but might execute faster.
5854
5855 In pseudocode, the operation is:
5856
5857 sum0 = 0;
5858 sum1 = 0;
5859 for (i = 0; i < Length; ++i)
5860 (
5861 sum0 += A0[i*A0Stride] * B[i*BStride];
5862 sum1 += A1[i*A1Stride] * B[i*BStride];
5863 )
5864 *C0 = sum0;
5865 *C1 = sum1;
5866
5867 Input:
5868
5869 const float *A0, vDSP_Stride A0Stride.
5870
5871 Starting address and stride for input vector A0.
5872
5873 const float *A1, vDSP_Stride A1Stride.
5874
5875 Starting address and stride for input vector A1.
5876
5877 const float *B, vDSP_Stride BStride.
5878
5879 Starting address and stride for input vector B.
5880
5881 float *C0.
5882
5883 Address for dot product of A0 and B.
5884
5885 float *C1.
5886
5887 Address for dot product of A1 and B.
5888
5889 vDSP_Length Length.
5890
5891 Number of elements in each vector.
5892
5893 Output:
5894
5895 The results are written to *C0 and *C1.
5896 }
5897 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';
5898 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5899
5900
5901 { vDSP_dotpr_s1_15, vector integer 1.15 format dot product.
5902
5903 Function:
5904
5905 This routine calculates the dot product of A with B.
5906
5907 In pseudocode, the operation is:
5908
5909 sum = 0;
5910 for (i = 0; i < N; ++i)
5911 (
5912 sum0 += A[i*AStride] * B[i*BStride];
5913 )
5914 *C = sum;
5915
5916 The elements are fixed-point numbers, each with one sign bit and 15
5917 fraction bits. Where the value of the short int is normally x, it is
5918 x/32768 for the purposes of this routine.
5919
5920 Input:
5921
5922 const short int *A, vDSP_Stride AStride.
5923
5924 Starting address and stride for input vector A.
5925
5926 const short int *B, vDSP_Stride BStride.
5927
5928 Starting address and stride for input vector B.
5929
5930 short int *C.
5931
5932 Address for dot product of A and B.
5933
5934 vDSP_Length N.
5935
5936 Number of elements in each vector.
5937
5938 Output:
5939
5940 The result is written to *C.
5941 }
5942 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';
5943 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
5944
5945
5946 { vDSP_dotpr2_s1_15, vector integer 1.15 format stereo dot product.
5947
5948 Function:
5949
5950 This routine calculates the dot product of A0 with B and the dot
5951 product of A1 with B. This is functionally equivalent to calculating
5952 two dot products but might execute faster.
5953
5954 In pseudocode, the operation is:
5955
5956 sum0 = 0;
5957 sum1 = 0;
5958 for (i = 0; i < N; ++i)
5959 (
5960 sum0 += A0[i*A0Stride] * B[i*BStride];
5961 sum1 += A1[i*A1Stride] * B[i*BStride];
5962 )
5963 *C0 = sum0;
5964 *C1 = sum1;
5965
5966 The elements are fixed-point numbers, each with one sign bit and 15
5967 fraction bits. Where the value of the short int is normally x, it is
5968 x/32768 for the purposes of this routine.
5969
5970 Input:
5971
5972 const short int *A0, vDSP_Stride A0Stride.
5973
5974 Starting address and stride for input vector A0.
5975
5976 const short int *A1, vDSP_Stride A1Stride.
5977
5978 Starting address and stride for input vector A1.
5979
5980 const short int *B, vDSP_Stride BStride.
5981
5982 Starting address and stride for input vector B.
5983
5984 short int *C0.
5985
5986 Address for dot product of A0 and B.
5987
5988 short int *C1.
5989
5990 Address for dot product of A1 and B.
5991
5992 vDSP_Length N.
5993
5994 Number of elements in each vector.
5995
5996 Output:
5997
5998 The results are written to *C0 and *C1.
5999 }
6000 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';
6001 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6002
6003
6004 { vDSP_dotpr_s8_24, vector integer 8.24 format dot product.
6005
6006 Function:
6007
6008 This routine calculates the dot product of A with B.
6009
6010 In pseudocode, the operation is:
6011
6012 sum = 0;
6013 for (i = 0; i < N; ++i)
6014 (
6015 sum0 += A[i*AStride] * B[i*BStride];
6016 )
6017 *C = sum;
6018
6019 The elements are fixed-point numbers, each with eight integer bits
6020 (including sign) and 24 fraction bits. Where the value of the int is
6021 normally x, it is x/16777216 for the purposes of this routine.
6022
6023 Input:
6024
6025 const int *A, vDSP_Stride AStride.
6026
6027 Starting address and stride for input vector A.
6028
6029 const int *B, vDSP_Stride BStride.
6030
6031 Starting address and stride for input vector B.
6032
6033 int *C.
6034
6035 Address for dot product of A and B.
6036
6037 vDSP_Length N.
6038
6039 Number of elements in each vector.
6040
6041 Output:
6042
6043 The result is written to *C.
6044 }
6045 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';
6046 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6047
6048
6049 { vDSP_dotpr2_s8_24, vector integer 8.24 format stereo dot product.
6050
6051 Function:
6052
6053 This routine calculates the dot product of A0 with B and the dot
6054 product of A1 with B. This is functionally equivalent to calculating
6055 two dot products but might execute faster.
6056
6057 In pseudocode, the operation is:
6058
6059 sum0 = 0;
6060 sum1 = 0;
6061 for (i = 0; i < N; ++i)
6062 (
6063 sum0 += A0[i*A0Stride] * B[i*BStride];
6064 sum1 += A1[i*A1Stride] * B[i*BStride];
6065 )
6066 *C0 = sum0;
6067 *C1 = sum1;
6068
6069 The elements are fixed-point numbers, each with eight integer bits
6070 (including sign) and 24 fraction bits. Where the value of the int is
6071 normally x, it is x/16777216 for the purposes of this routine.
6072
6073 Input:
6074
6075 const int *A0, vDSP_Stride A0Stride.
6076
6077 Starting address and stride for input vector A0.
6078
6079 const int *A1, vDSP_Stride A1Stride.
6080
6081 Starting address and stride for input vector A1.
6082
6083 const int *B, vDSP_Stride BStride.
6084
6085 Starting address and stride for input vector B.
6086
6087 int *C0.
6088
6089 Address for dot product of A0 and B.
6090
6091 int *C1.
6092
6093 Address for dot product of A1 and B.
6094
6095 vDSP_Length N.
6096
6097 Number of elements in each vector.
6098
6099 Output:
6100
6101 The results are written to *C0 and *C1.
6102 }
6103 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';
6104 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6105
6106
6107 { vDSP_vrampmul, vector single-precision vramp and multiply.
6108
6109 This routine puts into O the product of I and a ramp function with initial
6110 value *Start and slope *Step. *Start is updated to continue the ramp
6111 in a consecutive call. To continue the ramp smoothly, the new value of
6112 *Step includes rounding errors accumulated during the routine rather than
6113 being calculated directly as *Start + N * *Step.
6114
6115 This routine calculates:
6116
6117 for (i = 0; i < N; ++i)
6118 (
6119 O[i*OS] = *Start * I[i*IS];
6120 *Start += *Step;
6121 )
6122
6123 Input:
6124
6125 const float *I, vDSP_Stride IS.
6126
6127 Starting address and stride for the input vector.
6128
6129 float *Start.
6130
6131 Starting value for the ramp.
6132
6133 const float *Step.
6134
6135 Value of the step for the ramp.
6136
6137 float *O, vDSP_Stride *OS.
6138
6139 Starting address and stride for the output vector.
6140
6141 vDSP_Length Length.
6142
6143 Number of elements in each vector.
6144
6145 Output:
6146
6147 The results are written to O.
6148
6149 On return, *Start contains initial *Start + N * *Step.
6150 }
6151 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';
6152 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6153
6154
6155 { vDSP_vrampmuladd, vector single-precision vramp, multiply and add.
6156
6157 This routine adds to O the product of I and a ramp function with initial
6158 value *Start and slope *Step. *Start is updated to continue the ramp in a
6159 consecutive call. To continue the ramp smoothly, the new value of *Step
6160 includes rounding errors accumulated during the routine rather than being
6161 calculated directly as *Start + N * *Step.
6162
6163 This routine calculates:
6164
6165 for (i = 0; i < N; ++i)
6166 (
6167 O[i*OS] += *Start * I[i*IS];
6168 *Start += *Step;
6169 )
6170
6171 Input:
6172
6173 const float *I, vDSP_Stride IS.
6174
6175 Starting address and stride for the input vector.
6176
6177 float *Start.
6178
6179 Starting value for the ramp.
6180
6181 const float *Step.
6182
6183 Value of the step for the ramp.
6184
6185 float *O, vDSP_Stride *OS.
6186
6187 Starting address and stride for the output vector.
6188
6189 vDSP_Length Length.
6190
6191 Number of elements in each vector.
6192
6193 Output:
6194
6195 The results are added to O.
6196
6197 On return, *Start contains initial *Start + N * *Step.
6198 }
6199 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';
6200 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6201
6202
6203 { vDSP_vrampmul2, stereo vector single-precision vramp and multiply.
6204
6205 This routine:
6206
6207 Puts into O0 the product of I0 and a ramp function with initial value
6208 *Start and slope *Step.
6209
6210 Puts into O1 the product of I1 and a ramp function with initial value
6211 *Start and slope *Step.
6212
6213 *Start is updated to continue the ramp in a consecutive call. To continue
6214 the ramp smoothly, the new value of *Step includes rounding errors
6215 accumulated during the routine rather than being calculated directly as
6216 *Start + N * *Step.
6217
6218 This routine calculates:
6219
6220 for (i = 0; i < N; ++i)
6221 (
6222 O0[i*OS] = *Start * I0[i*IS];
6223 O1[i*OS] = *Start * I1[i*IS];
6224 *Start += *Step;
6225 )
6226
6227 Input:
6228
6229 const float *I0, const float *I1, vDSP_Stride IS.
6230
6231 Starting addresses of both inputs and stride for the input vectors.
6232
6233 float *Start.
6234
6235 Starting value for the ramp.
6236
6237 const float *Step.
6238
6239 Value of the step for the ramp.
6240
6241 float *O0, float *O1, vDSP_Stride *OS.
6242
6243 Starting addresses of both outputs and stride for the output vectors.
6244
6245 vDSP_Length Length.
6246
6247 Number of elements in each vector.
6248
6249 Output:
6250
6251 The results are written to O0 and O1.
6252
6253 On return, *Start contains initial *Start + N * *Step.
6254 }
6255 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';
6256 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6257
6258
6259 { vDSP_vrampmuladd2, stereo vector single-precision vramp, multiply and add.
6260
6261 This routine:
6262
6263 Adds to O0 the product of I0 and a ramp function with initial value
6264 *Start and slope *Step.
6265
6266 Adds to O1 the product of I1 and a ramp function with initial value
6267 *Start and slope *Step.
6268
6269 *Start is updated to continue the ramp in a consecutive call. To continue
6270 the ramp smoothly, the new value of *Step includes rounding errors
6271 accumulated during the routine rather than being calculated directly as
6272 *Start + N * *Step.
6273
6274 This routine calculates:
6275
6276 for (i = 0; i < N; ++i)
6277 (
6278 O0[i*OS] += *Start * I0[i*IS];
6279 O1[i*OS] += *Start * I1[i*IS];
6280 *Start += *Step;
6281 )
6282
6283 Input:
6284
6285 const float *I0, const float *I1, vDSP_Stride IS.
6286
6287 Starting addresses of both inputs and stride for the input vectors.
6288
6289 float *Start.
6290
6291 Starting value for the ramp.
6292
6293 const float *Step.
6294
6295 Value of the step for the ramp.
6296
6297 float *O0, float *O1, vDSP_Stride *OS.
6298
6299 Starting addresses of both outputs and stride for the output vectors.
6300
6301 vDSP_Length Length.
6302
6303 Number of elements in each vector.
6304
6305 Output:
6306
6307 The results are written to O0 and O1.
6308
6309 On return, *Start contains initial *Start + N * *Step.
6310 }
6311 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';
6312 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6313
6314
6315 { vDSP_vrampmul_s1_15, vector integer 1.15 format vramp and multiply.
6316
6317 This routine puts into O the product of I and a ramp function with initial
6318 value *Start and slope *Step. *Start is updated to continue the ramp
6319 in a consecutive call.
6320
6321 This routine calculates:
6322
6323 for (i = 0; i < N; ++i)
6324 (
6325 O[i*OS] = *Start * I[i*IS];
6326 *Start += *Step;
6327 )
6328
6329 The elements are fixed-point numbers, each with one sign bit and 15
6330 fraction bits. Where the value of the short int is normally x, it is
6331 x/32768 for the purposes of this routine.
6332
6333 Input:
6334
6335 const short int *I, vDSP_Stride IS.
6336
6337 Starting address and stride for the input vector.
6338
6339 short int *Start.
6340
6341 Starting value for the ramp.
6342
6343 const short int *Step.
6344
6345 Value of the step for the ramp.
6346
6347 short int *O, vDSP_Stride *OS.
6348
6349 Starting address and stride for the output vector.
6350
6351 vDSP_Length Length.
6352
6353 Number of elements in each vector.
6354
6355 Output:
6356
6357 The results are written to O.
6358
6359 On return, *Start contains initial *Start + N * *Step.
6360 }
6361 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';
6362 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6363
6364
6365 { vDSP_vrampmuladd_s1_15, vector integer 1.15 format vramp, multiply and add.
6366
6367 This routine adds to O the product of I and a ramp function with initial
6368 value *Start and slope *Step. *Start is updated to continue the ramp in a
6369 consecutive call.
6370
6371 This routine calculates:
6372
6373 for (i = 0; i < N; ++i)
6374 (
6375 O[i*OS] += *Start * I[i*IS];
6376 *Start += *Step;
6377 )
6378
6379 The elements are fixed-point numbers, each with one sign bit and 15
6380 fraction bits. Where the value of the short int is normally x, it is
6381 x/32768 for the purposes of this routine.
6382
6383 Input:
6384
6385 const short int *I, vDSP_Stride IS.
6386
6387 Starting address and stride for the input vector.
6388
6389 short int *Start.
6390
6391 Starting value for the ramp.
6392
6393 const short int *Step.
6394
6395 Value of the step for the ramp.
6396
6397 short int *O, vDSP_Stride *OS.
6398
6399 Starting address and stride for the output vector.
6400
6401 vDSP_Length Length.
6402
6403 Number of elements in each vector.
6404
6405 Output:
6406
6407 The results are added to O.
6408
6409 On return, *Start contains initial *Start + N * *Step.
6410 }
6411 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';
6412 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6413
6414
6415 { vDSP_vrampmul2_s1_15, stereo vector integer 1.15 format vramp and multiply.
6416
6417 This routine:
6418
6419 Puts into O0 the product of I0 and a ramp function with initial value
6420 *Start and slope *Step.
6421
6422 Puts into O1 the product of I1 and a ramp function with initial value
6423 *Start and slope *Step.
6424
6425 *Start is updated to continue the ramp in a consecutive call.
6426
6427 This routine calculates:
6428
6429 for (i = 0; i < N; ++i)
6430 (
6431 O0[i*OS] = *Start * I0[i*IS];
6432 O1[i*OS] = *Start * I1[i*IS];
6433 *Start += *Step;
6434 )
6435
6436 The elements are fixed-point numbers, each with one sign bit and 15
6437 fraction bits. Where the value of the short int is normally x, it is
6438 x/32768 for the purposes of this routine.
6439
6440 Input:
6441
6442 const short int *I0, const short int *I1, vDSP_Stride IS.
6443
6444 Starting addresses of both inputs and stride for the input vectors.
6445
6446 short int *Start.
6447
6448 Starting value for the ramp.
6449
6450 const short int *Step.
6451
6452 Value of the step for the ramp.
6453
6454 short int *O0, short int *O1, vDSP_Stride *OS.
6455
6456 Starting addresses of both outputs and stride for the output vectors.
6457
6458 vDSP_Length Length.
6459
6460 Number of elements in each vector.
6461
6462 Output:
6463
6464 The results are written to O0 and O1.
6465
6466 On return, *Start contains initial *Start + N * *Step.
6467
6468 }
6469 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';
6470 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6471
6472
6473 { vDSP_vrampmuladd2_s1_15, stereo vector integer 1.15 format vramp, multiply
6474 and add.
6475
6476 This routine:
6477
6478 Adds to O0 the product of I0 and a ramp function with initial value
6479 *Start and slope *Step.
6480
6481 Adds to O1 the product of I1 and a ramp function with initial value
6482 *Start and slope *Step.
6483
6484 *Start is updated to continue the ramp in a consecutive call.
6485
6486 This routine calculates:
6487
6488 for (i = 0; i < N; ++i)
6489 (
6490 O0[i*OS] += *Start * I0[i*IS];
6491 O1[i*OS] += *Start * I1[i*IS];
6492 *Start += *Step;
6493 )
6494
6495 The elements are fixed-point numbers, each with one sign bit and 15
6496 fraction bits. Where the value of the short int is normally x, it is
6497 x/32768 for the purposes of this routine.
6498
6499 Input:
6500
6501 const short int *I0, const short int *I1, vDSP_Stride IS.
6502
6503 Starting addresses of both inputs and stride for the input vectors.
6504
6505 short int *Start.
6506
6507 Starting value for the ramp.
6508
6509 const short int *Step.
6510
6511 Value of the step for the ramp.
6512
6513 short int *O0, short int *O1, vDSP_Stride *OS.
6514
6515 Starting addresses of both outputs and stride for the output vectors.
6516
6517 vDSP_Length Length.
6518
6519 Number of elements in each vector.
6520
6521 Output:
6522
6523 The results are added to O0 and O1.
6524
6525 On return, *Start contains initial *Start + N * *Step.
6526
6527 }
6528 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';
6529 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6530
6531
6532 { vDSP_vrampmul_s8_24, vector integer 8.24 format vramp and multiply.
6533
6534 This routine puts into O the product of I and a ramp function with initial
6535 value *Start and slope *Step. *Start is updated to continue the ramp
6536 in a consecutive call.
6537
6538 This routine calculates:
6539
6540 for (i = 0; i < N; ++i)
6541 (
6542 O[i*OS] = *Start * I[i*IS];
6543 *Start += *Step;
6544 )
6545
6546 The elements are fixed-point numbers, each with eight integer bits
6547 (including sign) and 24 fraction bits. Where the value of the int is
6548 normally x, it is x/16777216 for the purposes of this routine.
6549
6550 Input:
6551
6552 const int *I, vDSP_Stride IS.
6553
6554 Starting address and stride for the input vector.
6555
6556 int *Start.
6557
6558 Starting value for the ramp.
6559
6560 const int *Step.
6561
6562 Value of the step for the ramp.
6563
6564 int *O, vDSP_Stride *OS.
6565
6566 Starting address and stride for the output vector.
6567
6568 vDSP_Length Length.
6569
6570 Number of elements in each vector.
6571
6572 Output:
6573
6574 The results are written to O.
6575
6576 On return, *Start contains initial *Start + N * *Step.
6577 }
6578 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';
6579 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6580
6581
6582 { vDSP_vrampmuladd_s8_24, vector integer 8.24 format vramp, multiply and add.
6583
6584 This routine adds to O the product of I and a ramp function with initial
6585 value *Start and slope *Step. *Start is updated to continue the ramp in a
6586 consecutive call.
6587
6588 This routine calculates:
6589
6590 for (i = 0; i < N; ++i)
6591 (
6592 O[i*OS] += *Start * I[i*IS];
6593 *Start += *Step;
6594 )
6595
6596 The elements are fixed-point numbers, each with eight integer bits
6597 (including sign) and 24 fraction bits. Where the value of the int is
6598 normally x, it is x/16777216 for the purposes of this routine.
6599
6600 Input:
6601
6602 const int *I, vDSP_Stride IS.
6603
6604 Starting address and stride for the input vector.
6605
6606 int *Start.
6607
6608 Starting value for the ramp.
6609
6610 const int *Step.
6611
6612 Value of the step for the ramp.
6613
6614 int *O, vDSP_Stride *OS.
6615
6616 Starting address and stride for the output vector.
6617
6618 vDSP_Length Length.
6619
6620 Number of elements in each vector.
6621
6622 Output:
6623
6624 The results are added to O.
6625
6626 On return, *Start contains initial *Start + N * *Step.
6627 }
6628 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';
6629 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6630
6631
6632 { vDSP_vrampmul2_s8_24, stereo vector integer 8.24 format vramp and multiply.
6633
6634 This routine:
6635
6636 Puts into O0 the product of I0 and a ramp function with initial value
6637 *Start and slope *Step.
6638
6639 Puts into O1 the product of I1 and a ramp function with initial value
6640 *Start and slope *Step.
6641
6642 *Start is updated to continue the ramp in a consecutive call.
6643
6644 This routine calculates:
6645
6646 for (i = 0; i < N; ++i)
6647 (
6648 O0[i*OS] = *Start * I0[i*IS];
6649 O1[i*OS] = *Start * I1[i*IS];
6650 *Start += *Step;
6651 )
6652
6653 The elements are fixed-point numbers, each with eight integer bits
6654 (including sign) and 24 fraction bits. Where the value of the int is
6655 normally x, it is x/16777216 for the purposes of this routine.
6656
6657 Input:
6658
6659 const int *I0, const int *I1, vDSP_Stride IS.
6660
6661 Starting addresses of both inputs and stride for the input vectors.
6662
6663 int *Start.
6664
6665 Starting value for the ramp.
6666
6667 const int *Step.
6668
6669 Value of the step for the ramp.
6670
6671 int *O0, int *O1, vDSP_Stride *OS.
6672
6673 Starting addresses of both outputs and stride for the output vectors.
6674
6675 vDSP_Length Length.
6676
6677 Number of elements in each vector.
6678
6679 Output:
6680
6681 The results are written to O0 and O1.
6682
6683 On return, *Start contains initial *Start + N * *Step.
6684
6685 }
6686 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';
6687 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6688
6689
6690 { vDSP_vrampmuladd2_s8_24, stereo vector integer 8.24 format vramp, multiply
6691 and add.
6692
6693 This routine:
6694
6695 Adds to O0 the product of I0 and a ramp function with initial value
6696 *Start and slope *Step.
6697
6698 Adds to O1 the product of I1 and a ramp function with initial value
6699 *Start and slope *Step.
6700
6701 *Start is updated to continue the ramp in a consecutive call.
6702
6703 This routine calculates:
6704
6705 for (i = 0; i < N; ++i)
6706 (
6707 O0[i*OS] += *Start * I0[i*IS];
6708 O1[i*OS] += *Start * I1[i*IS];
6709 *Start += *Step;
6710 )
6711
6712 The elements are fixed-point numbers, each with eight integer bits
6713 (including sign) and 24 fraction bits. Where the value of the int is
6714 normally x, it is x/16777216 for the purposes of this routine.
6715
6716 Input:
6717
6718 const int *I0, const int *I1, vDSP_Stride IS.
6719
6720 Starting addresses of both inputs and stride for the input vectors.
6721
6722 int *Start.
6723
6724 Starting value for the ramp.
6725
6726 const int *Step.
6727
6728 Value of the step for the ramp.
6729
6730 int *O0, int *O1, vDSP_Stride *OS.
6731
6732 Starting addresses of both outputs and stride for the output vectors.
6733
6734 vDSP_Length Length.
6735
6736 Number of elements in each vector.
6737
6738 Output:
6739
6740 The results are written to O0 and O1.
6741
6742 On return, *Start contains initial *Start + N * *Step.
6743
6744 }
6745 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';
6746 (* __OSX_AVAILABLE_STARTING(__MAC_10_6, __IPHONE_4_0) *)
6747
6748 {$ifc undefined USE_NONE_APPLE_STANDARD_DATATYPES}
6749 {$setc USE_NON_APPLE_STANDARD_DATATYPES := 1}
6750 {$endc} {not defined USE_NON_APPLE_STANDARD_DATATYPES }
6751
6752 {$ifc USE_NON_APPLE_STANDARD_DATATYPES}
6753 const
6754 FFT_FORWARD = kFFTDirection_Forward;
6755 FFT_INVERSE = kFFTDirection_Inverse;
6756
6757 const
6758 FFT_RADIX2 = kFFTRadix2;
6759 FFT_RADIX3 = kFFTRadix3;
6760 FFT_RADIX5 = kFFTRadix5;
6761
6762 type
6763 COMPLEX = DSPComplex;
6764 COMPLEX_SPLIT = DSPSplitComplex;
6765 DOUBLE_COMPLEX = DSPDoubleComplex;
6766 DOUBLE_COMPLEX_SPLIT = DSPDoubleSplitComplex;
6767 {$endc} {USE_NON_APPLE_STANDARD_DATATYPES}
6768
6769 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
6770
6771 end.
6772 {$endc} {not MACOSALLINCLUDE}
6773