<!--
{
  "availability" : [
    "iOS: 4.0.0 -",
    "iPadOS: 4.0.0 -",
    "macCatalyst: 13.1.0 -",
    "macOS: 10.2.0 -",
    "tvOS: -",
    "visionOS: 1.0.0 -",
    "watchOS: 2.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Accelerate",
  "identifier" : "/documentation/Accelerate/vDSP_create_fftsetupD",
  "metadataVersion" : "0.1.0",
  "role" : "Function",
  "symbol" : {
    "kind" : "Function",
    "modules" : [
      "Accelerate"
    ],
    "preciseIdentifier" : "c:@F@vDSP_create_fftsetupD"
  },
  "title" : "vDSP_create_fftsetupD"
}
-->

# vDSP_create_fftsetupD

Returns a setup structure that contains precalculated data for double-precision FFT functions.

```
extern FFTSetupDvDSP_create_fftsetupD(vDSP_Length __Log2n, FFTRadix __Radix);
```

## Parameters

`__Log2n`

The base-two logarithm of the maximum number of elements the setup structure transforms. Subsequent calls to FFT functions using the resulting setup may transform this length or less.

`__Radix`

Specifies radix options. This function only supports radix-2; other radices are deprecated. Use the <doc://com.apple.documentation/documentation/Accelerate/discrete-fourier-transforms> for radix-3, and radix-5.

## Return Value

Returns an <doc://com.apple.documentation/documentation/kernel/fftsetup> structure for use with FFT functions. Returns `0` on error.

## Discussion

Use this function to create a weights array of complex exponential values that the vDSP FFT functions use for forward transforms. Precalculating these values during, for example, your app’s initialization, boosts FFT performance. You can use the same setup structure to perform transformations on vectors that contain up to `2`Log2n elements.

For 2D transformations, specify `Log2n` as the greater of the number of rows and the number of columns.

Call <doc://com.apple.documentation/documentation/kernel/1579978-vdsp_destroy_fftsetup> to deallocate the setup structure.

> Tip:
> To learn how the vDSP library scales and arranges the FFT output, see <doc://com.apple.documentation/documentation/Accelerate/understanding-data-packing-for-fourier-transforms>.

## See Also

  <doc://com.apple.accelerate/documentation/Accelerate/understanding-data-packing-for-fourier-transforms>

  <doc://com.apple.accelerate/documentation/Accelerate/reducing-spectral-leakage-with-windowing>



---

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)