---
title: 数据结构
description: "提供KML_FFT库函数数据结构定义说明。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0123.html
sourcePath: /source/zh/kunpengboostkithistory/240RC1/accel/kunpengaccel_kml_16_0123.html
indexId: 7c1d305dfeac1ce16e389103b691781bbe6075243076dabdd96c12375623774876
---
# 数据结构

提供KML_FFT库函数数据结构定义说明。

复数的结构体定义：

- 双精度复数：

```
typedef struct {
double r;
double i;
} kml_fft_complex;
```


- 单精度复数：

```
typedef struct {
float r;
float i;
} kml_fftf_complex;
```


kml_fft_plan_s结构体及其指针kml_fft_plan的定义：

- 双精度：

```
struct kml_fft_plan_s {
problem_s problem;
solver_s solver;
KML_UINT num_threads;
};
typedef struct kml_fft_plan_s *kml_fft_plan;
```


- 单精度：

```
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为待变换FFT问题的结构体，包含转换类型，输入输出等参数。

- solver_s为FFT选用求解器的参数，包含求解所用函数，转换为子问题的kml_fft_plan_s等参数。

- num_threads为线程数。


半复数形式：

n0xn1数组A，若满足，其中A(n0, j)为A(0, j)，A(i, n1)为A(i, 0)，则采用半复数形式n0x[(n1/2)+1]数组B来保存数组A。
