Generative Fast Fourier Transforms (GFFT)
0.3
Main Page
Modules
Namespaces
Classes
Files
File List
trunk
src
gfftparamgroups.h
Go to the documentation of this file.
1
/***************************************************************************
2
* Copyright (C) 2012-2014 by Vladimir Mirnyy *
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
15
16
#ifndef __gfftparamgroups_h
17
#define __gfftparamgroups_h
18
23
#include "
gfftpolicy.h
"
24
25
26
namespace
GFFT {
27
33
34
35
struct
ValueTypeGroup
36
{
37
typedef
TYPELIST_4(
DOUBLE
,
FLOAT
,
COMPLEX_DOUBLE
,
COMPLEX_FLOAT
) FullList;
38
static
const
uint_t Length = 4;
39
typedef
DOUBLE
Default
;
40
};
41
44
struct
TransformTypeGroup
45
{
46
typedef
TYPELIST_4(
DFT
,
IDFT
,
RDFT
,
IRDFT
) FullList;
47
static
const
uint_t Length = 4;
48
// typedef TYPELIST_2(DFT,IDFT) Default;
49
typedef
DFT
Default
;
50
};
51
54
struct
ParallelizationGroup
55
{
56
typedef
TYPELIST_3(
Serial
,
OpenMP<2>
,
OpenMP<4>
) FullList;
57
static
const
uint_t Length = 3;
58
typedef
Serial
Default
;
59
};
60
63
struct
DecimationGroup
64
{
65
typedef
TYPELIST_2(
INTIME
,
INFREQ
) FullList;
66
static
const
uint_t Length = 2;
67
typedef
INFREQ
Default
;
68
};
69
72
struct
PlaceGroup
73
{
74
typedef
TYPELIST_2(
IN_PLACE
,
OUT_OF_PLACE
) FullList;
75
static
const
uint_t Length = 2;
76
typedef
OUT_OF_PLACE
Default
;
77
};
78
79
}
//namespace
80
81
#endif
Generated on Mon Feb 10 2014 for Generative Fast Fourier Transforms (GFFT) by
DoxyGen
1.8.3.1