---
title: kml_fft(f/h)_set_timelimit
description: "设置FFT PATIENT模式超时时间"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0439.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0439.html
indexId: e3174bf00fddc97501084fb4efae32c5336ef8bae8d7041117d6a61d900e2e3061
---
# kml_fft(f/h)_set_timelimit

设置FFT PATIENT模式超时时间

#### 接口定义

void kml_fft_set_timelimit(double tlim)

void kml_fftf_set_timelimit(double tlim)

void kml_ffth_set_timelimit(double tlim)


#### 参数

| 参数名 | 描述 | 取值范围 | 输入/输出 |
| --- | --- | --- | --- |
| tlim | 设置FFT PATIENT模式超时时间，单位为秒。若不调用该接口，表现为无时间限制。 | double 负数、0意味着无时间限制，plan接口将进行完整的PATIENT模式搜索 正数值将设定指定秒数的超时时间，内部搜索循环会在每次评估后进行超时判断，若超时，则输出已评估列表中的最优解。 | 输入 |


#### 依赖

C: "kfft.h"


#### 示例

C interface：
```
int N = 16;
kml_fft_complex *in;
kml_fft_complex *out;
kml_fft_plan plan;
in = (kml_fft_complex*)kml_fft_malloc(sizeof(kml_fft_complex) * N);
out = (kml_fft_complex*)kml_fft_malloc(sizeof(kml_fft_complex) * N);
for (int i = 0; i < N; i++){
in[i][0] = (double)i;
in[i][1] = (double)i;
}
kml_fft_set_timelimit(10);
plan = kml_fft_plan_dft_1d(N, in , out, KML_FFT_FORWARD, KML_FFT_PATIENT);
kml_fft_execute_dft(plan, in, out);
kml_fft_destroy_plan(plan);
kml_fft_free(in);
kml_fft_free(out);
/*
* out = {{1.200000e+02, 1.200000e+02}, {-4.821872e+01, 3.221872e+01},
*        {-2.731371e+01, 1.131371e+01}, {-1.997285e+01, 3.972846e+00},
*        {-1.600000e+01, 0.000000e+00}, {-1.334543e+01, -2.654571e+00},
*        {-1.131371e+01, -4.686292e+00}, {-9.591299e+00, -6.408701e+00},
*        {-8.000000e+00, -8.000000e+00}, {-6.408701e+00, -9.591299e+00},
*        {-4.686292e+00, -1.131371e+01}, {-2.654571e+00, -1.334543e+01},
*        {0.000000e+00, -1.600000e+01}, {3.972846e+00, -1.997285e+01},
*        {1.131371e+01, -2.731371e+01}, {3.221872e+01, -4.821872e+01}}
*/
```
