Function

vDSP_zvcmaD(_:_:_:_:_:_:_:_:_:)

Adds a double-precision complex vector to the product of a double-precision complex vector and the conjugate of another complex double-precision vector.

Declaration

Parameters

__A

Double-precision complex input vector.

__IA

Stride for A.

__B

Double-precision complex input vector.

__IB

Stride for B.

__C

Double-precision complex output vector.

__IC

Stride for C.

__N

The number of elements to process.

Discussion

This function multiplies of the first N complex conjugates of A by the corresponding complex elements of B, adds each product to the corresponding value in C, and writes the result to D:

A diagram showing the operation of the vDSP_zvcma function. The top row represents the first input, vector A. The second row represents the second input, vector B. The third row represents the product of the elements of vectors A and B. The forth row represents the third input, C. The fifth row represents the sum of the products and elements of C.

The operation is:

for (n = 0; n < N; ++n)
      D[n] = conj(A[n]) * B[n] + C[n];

See Also

Ternary Conjugate-Multiply-Add

func vDSP_zvcma(UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, vDSP_Length)

Adds a single-precision complex vector to the product of a single-precision complex vector and the conjugate of another complex single-precision vector.