#include <gcell/gc_job_manager.h>
#include <complex>
Go to the source code of this file.
Function Documentation
gc_job_desc_sptr gcp_fft_1d_r2_submit |
( |
gc_job_manager_sptr |
mgr, |
|
|
unsigned int |
log2_fft_length, |
|
|
bool |
forward, |
|
|
bool |
shift, |
|
|
std::complex< float > * |
out, |
|
|
const std::complex< float > * |
in, |
|
|
const std::complex< float > * |
twiddle, |
|
|
const float * |
window |
|
) |
| |
Submit a job that computes the forward or inverse FFT.
- Parameters:
-
mgr | is the job manager instance |
log2_fft_length | is the log2 of the fft_length (4 <= x <= 12). |
forward | is true to compute the forward transform, else the inverse. |
shift | indicates if an "fftshift" should be applied to the output data |
out | is the fft_length output from FFT (must be 16-byte aligned). |
in | is the fft_length input to FFT (must be 16-byte aligned). |
twiddle | is fft_length/4 twiddle factor input to FFT (must be 16-byte aligned). |
window | is the window to be applied to the input data. The window length must be either 0 or fft_length (must be 16-byte aligned). |
Returns a shared_ptr to a job descriptor which should be passed to wait_job*. Throws an exception in the event of a problem. This uses the FFTW conventions for scaling. That is, neither the forward nor inverse are scaled by 1/fft_length.
void gcp_fft_1d_r2_twiddle |
( |
unsigned int |
log2_fft_length, |
|
|
std::complex< float > * |
W |
|
) |
| |
Compute twiddle factors.
- Parameters:
-
log2_fft_length | is the log2 of the fft_length. |
W | is fft_length/4 twiddle factor output (must be 16-byte aligned). |