kfc.h
Go to the documentation of this file.
1 /*
2  * Copyright (c) 2003-2004, Mark Borgerding. All rights reserved.
3  * This file is part of KISS FFT - https://github.com/mborgerding/kissfft
4  *
5  * SPDX-License-Identifier: BSD-3-Clause
6  * See COPYING file for more information.
7  */
8 
9 #ifndef KFC_H
10 #define KFC_H
11 #include "kiss_fft.h"
12 
13 #ifdef __cplusplus
14 extern "C" {
15 #endif
16 
17 /*
18 KFC -- Kiss FFT Cache
19 
20 Not needing to deal with kiss_fft_alloc and a config
21 object may be handy for a lot of programs.
22 
23 KFC uses the underlying KISS FFT functions, but caches the config object.
24 The first time kfc_fft or kfc_ifft for a given FFT size, the cfg
25 object is created for it. All subsequent calls use the cached
26 configuration object.
27 
28 NOTE:
29 You should probably not use this if your program will be using a lot
30 of various sizes of FFTs. There is a linear search through the
31 cached objects. If you are only using one or two FFT sizes, this
32 will be negligible. Otherwise, you may want to use another method
33 of managing the cfg objects.
34 
35  There is no automated cleanup of the cached objects. This could lead
36 to large memory usage in a program that uses a lot of *DIFFERENT*
37 sized FFTs. If you want to force all cached cfg objects to be freed,
38 call kfc_cleanup.
39 
40  */
41 
42 /*forward complex FFT */
43 void KISS_FFT_API kfc_fft(int nfft, const kiss_fft_cpx* fin, kiss_fft_cpx* fout);
44 /*reverse complex FFT */
45 void KISS_FFT_API kfc_ifft(int nfft, const kiss_fft_cpx* fin, kiss_fft_cpx* fout);
46 
47 /*free all cached objects*/
48 void KISS_FFT_API kfc_cleanup(void);
49 
50 #ifdef __cplusplus
51 }
52 #endif
53 
54 #endif
kfc_fft
void KISS_FFT_API kfc_fft(int nfft, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
Definition: kfc.c:75
kiss_fft.h
kfc_ifft
void KISS_FFT_API kfc_ifft(int nfft, const kiss_fft_cpx *fin, kiss_fft_cpx *fout)
Definition: kfc.c:80
kfc_cleanup
void KISS_FFT_API kfc_cleanup(void)
Definition: kfc.c:63
kiss_fft_cpx
Definition: kiss_fft.h:86
KISS_FFT_API
#define KISS_FFT_API
Definition: kiss_fft.h:29
cached_fft::nfft
int nfft
Definition: kfc.c:15


plotjuggler
Author(s): Davide Faconti
autogenerated on Mon Nov 11 2024 03:23:44