Qmmp
Loading...
Searching...
No Matches
fft.h
1/* fft.h: Header for iterative implementation of a FFT
2 * Copyright (C) 1999 Richard Boulton <richard@tartarus.org>
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17 */
18
19#ifndef _FFT_H_
20#define _FFT_H_
21
22#define FFT_BUFFER_SIZE_LOG 9
23
24#define FFT_BUFFER_SIZE (1 << FFT_BUFFER_SIZE_LOG)
25
26/*
27 modifications compared to original code:
28 using float format for input data
29*/
30
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36/* FFT library */
37 typedef struct _struct_fft_state fft_state;
38 fft_state *fft_init(void);
39 void fft_perform(const float *input, float *output,
40 fft_state * state);
41 void fft_close(fft_state * state);
42
43
44
45#ifdef __cplusplus
46}
47#endif
48#endif /* _FFT_H_ */