Divides a complex single-precision vector by a real single-precision vector.


func vDSP_ztrans(_ __A: UnsafePointer<Float>, _ __B: UnsafePointer<DSPSplitComplex>, _ __C: UnsafePointer<DSPSplitComplex>, _ __N: vDSP_Length)



Single-precision real input vector.


Single-precision complex input vector.


Single-precision complex output vector.


The number of elements to process.


This function calculates the first N elements of A divided by the corresponding element in B, writing the result to C:

The operation is:

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

The following code shows an example of using vDSP_ztrans(_:_:_:_:):

let a: [Float] = [10, 20, 30, 40]

let n = vDSP_Length(a.count)

var realB: [Float] = [100, 200, 300, 400]
var imagB: [Float] = [500, 800, 600, 800]

let b = [DSPSplitComplex(realp: &realB,
                         imagp: &imagB)]

var realC = [Float](repeating: .nan,
                    count: Int(n))
var imagC = [Float](repeating: .nan,
                    count: Int(n))
var c = DSPSplitComplex(realp: &realC,
                        imagp: &imagC)


print("real", realC) // Prints "real [10, 10, 10, 10]"
print("imag", imagC) // Prints "imag [50, 40, 20, 20]"

See Also

Binary Transfer Operations

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