---
title: 数据结构
description: "提供KML_FFT库函数数据结构定义说明。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0286.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0286.html
indexId: 506b496fe30807dfb2e2fd4fdb1051cc83aa19092742f6936fda91be0ae8350a61
---
# 数据结构

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

复数的结构体定义：

- 双精度复数：

```
typedef double kml_fft_complex[2];
```


- 单精度复数：

```
typedef float kml_fftf_complex[2];
```


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。
