Data Structures
This section describes the data structures of the KML_FFT library functions.
Structures of complex numbers:
- Double-precision complex numbers:
typedef struct { double r; double i; } kml_fft_complex; - Single-precision complex numbers:
typedef struct { float r; float i; } kml_fftf_complex;
kml_fft_plan_s structures and definition of kml_fft_plan:
- Double precision:
struct kml_fft_plan_s { problem_s problem; solver_s solver; KML_UINT num_threads; }; typedef struct kml_fft_plan_s *kml_fft_plan; - Single precision:
struct kml_fftf_plan_s { problem_s problem; solver_s solver; KML_UINT num_threads; }; typedef struct kml_fftf_plan_s *kml_fftf_plan;
- problem_s is the structure of the FFT problem, including the transform type and input/output parameters.
- solver_s is the parameter of selecting a solver for FFT, including the functions used for the solving and the parameters such as kml_fft_plan_s for converting the problem into a subproblem.
- num_threads indicates the number of threads.
Half-complex form:
If n0xn1 array A meets
, where A(n0, j) is A(0, j) and A(i, n1) is A(i, 0), a half-complex n0x[(n1/2)+1] array B is used to store array A.


Parent topic: KML_FFT Library Functions