<!--
{
  "documentType" : "article",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/complex-vector-conversion",
  "metadataVersion" : "0.1.0",
  "role" : "collectionGroup",
  "title" : "Complex vector conversion"
}
-->

# Complex vector conversion

Perform element-wise split-complex to interleaved and interleaved to split-complex conversion.

## Topics

### Converting interleaved-complex vectors to split-complex vectors

[`static func convert(interleavedComplexVector: [DSPComplex], toSplitComplexVector: inout DSPSplitComplex)`](/documentation/Accelerate/vDSP/convert(interleavedComplexVector:toSplitComplexVector:)-4lnrf)

Converts the contents of an interleaved single-precision complex vector to a split complex vector.

[`static func convert(interleavedComplexVector: [DSPDoubleComplex], toSplitComplexVector: inout DSPDoubleSplitComplex)`](/documentation/Accelerate/vDSP/convert(interleavedComplexVector:toSplitComplexVector:)-8cqd4)

Converts the contents of an interleaved double-precision complex vector to a split complex vector.

[`extern void vDSP_ctoz(const DSPComplex *__C, vDSP_Stride __IC, const DSPSplitComplex *__Z, vDSP_Stride __IZ, vDSP_Length __N);`](/documentation/Accelerate/vDSP_ctoz)

Copies the contents of an interleaved single-precision complex vector to a split complex vector.

[`extern void vDSP_ctozD(const DSPDoubleComplex *__C, vDSP_Stride __IC, const DSPDoubleSplitComplex *__Z, vDSP_Stride __IZ, vDSP_Length __N);`](/documentation/Accelerate/vDSP_ctozD)

Copies the contents of an interleaved double-precision complex vector to a split complex vector.

### Converting split-complex vectors to interleaved-complex vectors

[`static func convert(splitComplexVector: DSPSplitComplex, toInterleavedComplexVector: inout [DSPComplex])`](/documentation/Accelerate/vDSP/convert(splitComplexVector:toInterleavedComplexVector:)-65gyx)

Converts the contents of a split single-precision complex vector to an interleaved vector.

[`static func convert(splitComplexVector: DSPDoubleSplitComplex, toInterleavedComplexVector: inout [DSPDoubleComplex])`](/documentation/Accelerate/vDSP/convert(splitComplexVector:toInterleavedComplexVector:)-9v193)

Converts the contents of a split double-precision complex vector to an interleaved vector.

[`extern void vDSP_ztoc(const DSPSplitComplex *__Z, vDSP_Stride __IZ, DSPComplex *__C, vDSP_Stride __IC, vDSP_Length __N);`](/documentation/Accelerate/vDSP_ztoc)

Copies the contents of a split single-precision complex vector to an interleaved vector.

[`extern void vDSP_ztocD(const DSPDoubleSplitComplex *__Z, vDSP_Stride __IZ, DSPDoubleComplex *__C, vDSP_Stride __IC, vDSP_Length __N);`](/documentation/Accelerate/vDSP_ztocD)

Copies the contents of a split double-precision complex vector to an interleaved vector.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)