src/spectral/fft.c: use HAVE_AUBIO_DOUBLE, not AUBIO_SINGLE_PRECISION
[aubio.git] / src / types.h
1 /*
2          Copyright (C) 2003 Paul Brossier
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., 675 Mass Ave, Cambridge, MA 02139, USA.
17          
18 */
19
20 #ifndef AUBIO_TYPES_H
21 #define AUBIO_TYPES_H
22
23 /** \file
24  
25   Definition of data types used in aubio
26  
27 */
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #include "config.h"
34
35 #ifndef HAVE_AUBIO_DOUBLE
36 #define HAVE_AUBIO_DOUBLE 0
37 #endif
38
39 #if HAVE_AUBIO_DOUBLE
40 #define AUBIO_SINGLE_PRECISION 0
41 #else
42 #define AUBIO_SINGLE_PRECISION 1
43 #endif
44
45 /** short sample format (32 or 64 bits) */
46 #if AUBIO_SINGLE_PRECISION
47 typedef float        smpl_t;
48 #define AUBIO_SMPL_FMT "%f"
49 #else
50 typedef double       smpl_t;
51 #define AUBIO_SMPL_FMT "%lf"
52 #endif
53 /** long sample format (64 bits or more) */
54 #if AUBIO_SINGLE_PRECISION 
55 typedef double       lsmp_t;
56 #define AUBIO_LSMP_FMT "%lf"
57 #else
58 typedef long double  lsmp_t;
59 #define AUBIO_LSMP_FMT "%Lf"
60 #endif
61 /** unsigned integer */
62 typedef unsigned int uint_t;
63 /** signed integer */
64 typedef int          sint_t;
65 /** files */
66 //typedef FILE         audio_file_t;
67
68 #ifdef __cplusplus
69 }
70 #endif
71
72 #endif/*AUBIO_TYPES_H*/