---
title: "init(previousDFT:count:direction:transformType:ofType:)"
framework: accelerate
role: symbol
role_heading: Initializer
path: "accelerate/vdsp/discretefouriertransform/init(previousdft:count:direction:transformtype:oftype:)"
---

# init(previousDFT:count:direction:transformType:ofType:)

Initializes a new discrete Fourier transform structure.

## Declaration

```swift
init(previousDFT: vDSP.DiscreteFourierTransform<T>?, count: Int, direction: vDSP.FourierTransformDirection, transformType: vDSP.DFTTransformType, ofType: T.Type) throws
```

## Parameters

- `previousDFT`: A previous DFT instance to share data with.
- `count`: The number of complex elements.
- `transformType`: Specifies whether the forward transform is real-to-complex or complex-to-complex.

## Discussion

Discussion The count parameter must be: For split-complex real-to-complex: 2ⁿ or f * 2ⁿ, where f is 3, 5, or 15 and n >= 4. For split-complex complex-to-complex: 2ⁿ or f * 2ⁿ, where f is 3, 5, or 15 and n >= 3. For interleaved: f * 2ⁿ, where f is 2, 3, 5, 3x3, 3x5, or 5x5, and n>=2.
