Function

# vDSP_zvmgsa(_:_:_:_:_:_:_:)

Complex vector magnitudes square and add; single precision.

## Parameters

`__A`

Single-precision complex input vector

`__IA`

Stride for `A`

`__B`

Single-precision real input vector

`__IB`

Stride for `B`

`__C`

Single-precision real output vector

`__IC`

Stride for `C`

`__N`

The number of elements to process

## Discussion

Adds the squared magnitudes of complex vector `A` to real vector `B` and store the results in real vector `C`.

where Re are the real parts of `A` and Im are the imaginary parts.

## See Also

### Single-Vector Squaring

`static func square<U>(U) -> [Double]`

Returns a double-precision array containing the square of each element in the supplied vector.

`static func square<U>(U) -> [Float]`

Returns a single-precision array containing the square of each element in the supplied vector.

`static func square<U, V>(U, result: inout V)`

Calculates the square of each element in the supplied double-precision vector.

`static func square<U, V>(U, result: inout V)`

Calculates the square of each element in the supplied single-precision vector.

`static func signedSquare<U>(U) -> [Double]`

Returns a double-precision array containing the signed square of each element in the supplied vector.

`static func signedSquare<U>(U) -> [Float]`

Returns a single-precision array containing the signed square of each element in the supplied vector.

`static func signedSquare<U, V>(U, result: inout V)`

Calculates the signed square of each element in the supplied double-precision vector.

`static func signedSquare<U, V>(U, result: inout V)`

Calculates the signed square of each element in the supplied single-precision vector.

`static func squareMagnitudes<V>(DSPSplitComplex, result: inout V)`

Calculates the square magnitude of each element in the supplied single-precision complex vector.

`static func squareMagnitudes<V>(DSPDoubleSplitComplex, result: inout V)`

Calculates the square magnitude of each element in the supplied double-precision complex vector.

`func vDSP_vsq(UnsafePointer<Float>, vDSP_Stride, UnsafeMutablePointer<Float>, vDSP_Stride, vDSP_Length)`

Computes the squared value of each element in the supplied single-precision vector.

`func vDSP_vsqD(UnsafePointer<Double>, vDSP_Stride, UnsafeMutablePointer<Double>, vDSP_Stride, vDSP_Length)`

Computes the squared value of each element in the supplied double-precision vector.

`func vDSP_vssq(UnsafePointer<Float>, vDSP_Stride, UnsafeMutablePointer<Float>, vDSP_Stride, vDSP_Length)`

Computes the signed squared value of each element in the supplied single-precision vector.

`func vDSP_vssqD(UnsafePointer<Double>, vDSP_Stride, UnsafeMutablePointer<Double>, vDSP_Stride, vDSP_Length)`

Computes the signed squared value of each element in the supplied double-precision vector.

`func vDSP_zvmags(UnsafePointer<DSPSplitComplex>, vDSP_Stride, UnsafeMutablePointer<Float>, vDSP_Stride, vDSP_Length)`

Computes the squared magnitude value of each element in the supplied complex single-precision vector.

`func vDSP_zvmagsD(UnsafePointer<DSPDoubleSplitComplex>, vDSP_Stride, UnsafeMutablePointer<Double>, vDSP_Stride, vDSP_Length)`

Computes the squared magnitude value of each element in the supplied complex double-precision 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