---
title: 数据结构
description: "复数的结构体定义："
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0123.html
sourcePath: /source/zh/kunpengboostkithistory/2200/accel/kunpengaccel_kml_16_0123.html
indexId: 58c87d36f6b2d9a9cb5a49d0423c66d616b4e81b849db0e112d6b5738c39b00774
---
# 数据结构

复数的结构体定义：

- 双精度复数：

```
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。
