---
title: Out-of-Place Functions for 1D Multiple-Signal Complex FFT
framework: accelerate
role: collectionGroup
role_heading: API Collection
path: accelerate/out-of-place-functions-for-1d-multiple-signal-complex-fft
---

# Out-of-Place Functions for 1D Multiple-Signal Complex FFT

Perform fast Fourier transforms out of place on multiple-signal 1D complex data.

## Overview

Overview The functions in this group use the following operation for a complex-to-complex transform: N = 1 << Log2N;

scale = 0 < Direction ? 1 : 1./N;

// Repeat M times: for (m = 0; m < M; ++m) {

// Define a complex vector, h:     for (j = 0; j < N; ++j)         h[j] = A->realp[m*IMA + j*IA] + i * A->imagp[m*IMA + j*IA];

// Perform Discrete Fourier Transform.     for (k = 0; k < N; ++k)         H[k] = scale * sum(h[j]             * e**(-Direction*2*pi*i*j*k/N), 0 <= j < N);

// Store result.     for (k = 0; k < N; ++k)     {         C->realp[m*IM + k*IC] = Re(H[k]);         C->imagp[m*IM + k*IC] = Im(H[k]);     } }

The temporary buffer versions perform the same operation but use a temporary buffer for improved performance.

## See Also

### Functions for 1D Multiple-Signal Complex FFT

- [In-Place Functions for 1D Multiple-Signal Complex FFT](accelerate/in-place-functions-for-1d-multiple-signal-complex-fft.md)
