Adelsbach/VSIPL
Core Programming Reference Guide
DD-00016-015
Core

This manual is preliminary and incomplete.
While our Core implementation implements all functions given in the standard we are still working on completing this documentation.

Please refer to the VSIPL standard for a complete function reference of the Core profile until we have completed work on this documentation.

5.1.7 vsip_ddffmop_create_p - Create Multiple-FFT Objects (Out-of-Place)

typedef enum _vsip_fft_dir { 
    VSIP_FFT_FWD = -1, 
    VSIP_FFT_INV = +1 
} vsip_fft_dir; 
 
typedef enum _vsip_alg_hint { 
  VSIP_ALG_TIME  = 0, 
  VSIP_ALG_SPACE = 1, 
  VSIP_ALG_NOISE = 2 
} vsip_alg_hint; 
 
typedef enum { 
  VSIP_ROW = 0, 
  VSIP_COL = 1 
} vsip_major; 
 
vsip_fftm_f* vsip_ccfftmop_create_f(vsip_length m, vsip_length n, 
                                    vsip_scalar_f scale, vsip_fft_dir dir, 
                                    vsip_major major, vsip_length ntimes, 
                                    vsip_alg_hint hint); 
vsip_fftm_f* vsip_crfftmop_create_f(vsip_length m, vsip_length n, 
                                    vsip_scalar_f scale, vsip_major major, 
                                    vsip_length ntimes, vsip_alg_hint hint); 
vsip_fftm_f* vsip_rcfftmop_create_f(vsip_length m, vsip_length n, 
                                    vsip_scalar_f scale, vsip_major major, 
                                    vsip_length ntimes, vsip_alg_hint hint);
Description

These functions create Multiple-FFT (Fast Fourier Transform) objects for different types of FFT operations:

Each function initializes the FFT object with the specified length, scale factor, direction, number of times to apply the FFT, and algorithm hint.

The performance for supported FFT sizes is standardized as O(nlogn). For sizes not directly supported by the FFT kernels a DFT fallback with a performance of    2
O(n ) is standardized.

Parameters
Return Value