Function

vDSP_zvmulD(_:_:_:_:_:_:_:_:)

Multiplies a double-precision complex vector by the optionally conjugate of another double-precision complex vector.

Declaration

func vDSP_zvmulD(_ __A: UnsafePointer<DSPDoubleSplitComplex>, _ __IA: vDSP_Stride, _ __B: UnsafePointer<DSPDoubleSplitComplex>, _ __IB: vDSP_Stride, _ __C: UnsafePointer<DSPDoubleSplitComplex>, _ __IC: vDSP_Stride, _ __N: vDSP_Length, _ __Conjugate: Int32)

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.

__Conjugate

Specifies whether to use conjugate for A.

Discussion

This function calculates the products of the first N complex (optionally conjugates) of A by the corresponding complex elements of B, writing the result to C:

With Conjugate set to +1:

A diagram showing the operation of the vDSP_zvmul function. There are three rows. The top row represents the first input, vector A. The second row represents the second input, vector B. The bottom row represents the output, vector C. The diagram has connecting lines from the input vectors to the output vector indicating the relationships between the inputs and output.

With Conjugate set to -1:

A diagram showing the operation of the vDSP_zvmul function. There are three rows. The top row represents the first input, vector A. The second row represents the second input, vector B. The bottom row represents the output, vector C. The diagram has connecting lines from the input vectors to the output vector indicating the relationships between the inputs and output.

The operation is:

If Conjugate is +1:

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

If Conjugate is -1:

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

See Also

Binary Optional Conjugate-Multiply Operations

func vDSP_zvmul(UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafePointer<DSPSplitComplex>, vDSP_Stride, vDSP_Length, Int32)

Multiplies a single-precision complex vector by the optionally conjugate of another single-precision complex vector.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software