File: ltfat.h

package info (click to toggle)
python-ltfatpy 1.1.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 41,412 kB
  • sloc: ansic: 8,546; python: 6,470; makefile: 15
file content (140 lines) | stat: -rw-r--r-- 2,410 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
#ifndef LTFAT_H
#define LTFAT_H 1
#include "config.h"

#ifdef LTFAT_COMPAT32
typedef int       ltfatInt;
#else
typedef ptrdiff_t ltfatInt;
#endif /* defined(LTFAT_COMPAT32) */

typedef enum
{
   ltfatUnspecErr = 1,
   ltfatNoErr = 0
} ltfatStatus;

typedef enum
{
   FREQINV = 0,
   TIMEINV = 1
} dgt_phasetype;

typedef enum
{
    DCTI=FFTW_REDFT00, DCTIII=FFTW_REDFT01,
    DCTII=FFTW_REDFT10, DCTIV=FFTW_REDFT11
} dct_kind;


typedef enum
{
    DSTI=FFTW_RODFT00, DSTIII=FFTW_RODFT01,
    DSTII=FFTW_RODFT10, DSTIV=FFTW_RODFT11
} dst_kind;

typedef enum
{
    CZT_NEXTFASTFFT,
    CZT_NEXTPOW2
} czt_ffthint;

typedef enum
{
    PER,
    PERDEC,
    PPD,
    SYM,
    EVEN,
    SYMW,
    ASYM,
    ODD,
    ASYMW,
    SP0,
    ZPD,
    ZERO,
    VALID,
    BAD_TYPE
} ltfatExtType;


/* BEGIN_C_DECLS */

#ifdef __cplusplus
extern "C"
{
#endif

// First, include headers of type (single, double, or complex versions) inert functions
#include "ltfat_typeconstant.h"

/* -------- Create the single precision routines headers ----- */

#ifndef LTFAT_DOUBLE
#ifndef LTFAT_SINGLE
#      define LTFAT_SINGLE_WASNOTDEFINED
#      define LTFAT_SINGLE
#endif

#   include "ltfat_types.h"
#   include "ltfat_typecomplexindependent.h"

#   define LTFAT_COMPLEXTYPE
#   include "ltfat_types.h"
#   include "ltfat_typecomplexindependent.h"
#   undef LTFAT_COMPLEXTYPE

#   include "ltfat_types.h"
#   include "ltfat_typeindependent.h"

#   ifdef LTFAT_SINGLE_WASNOTDEFINED
#      undef LTFAT_SINGLE
#      undef LTFAT_SINGLE_WASNOTDEFINED
#   endif
#endif


/* -------- Create the single precision routines headers ----- */
#ifndef LTFAT_SINGLE
#ifndef LTFAT_DOUBLE
#   define LTFAT_DOUBLE_WASNOTDEFINED
#   define LTFAT_DOUBLE
#endif

#include "ltfat_types.h"
#include "ltfat_typecomplexindependent.h"

#define LTFAT_COMPLEXTYPE
#include "ltfat_types.h"
#include "ltfat_typecomplexindependent.h"
#undef LTFAT_COMPLEXTYPE

#include "ltfat_types.h"
#include "ltfat_typeindependent.h"

#   ifdef LTFAT_DOUBLE_WASNOTDEFINED
#      undef LTFAT_DOUBLE
#      undef LTFAT_DOUBLE_WASNOTDEFINED
#   endif
#endif


// Undef all
#undef LTFAT_COMPLEX
#undef LTFAT_REAL
#undef LTFAT_TYPE
#undef LTFAT_NAME
#undef LTFAT_NAME_REAL
#undef LTFAT_NAME_COMPLEX
#undef LTFAT_FFTW
#undef LTFAT_MX_CLASSID
#undef LTFAT_MX_COMPLEXITY
#undef LTFAT_COMPLEXH


#ifdef __cplusplus
}  // extern "C"
#endif
/* END_C_DECLS */

#endif /* !LTFAT_H */