FFTW3_Transform.h
1//-*-C++-*-
2/***************************************************************************
3 *
4 * Copyright (C) 2006 by Willem van Straten
5 * Licensed under the Academic Free License version 2.1
6 *
7 ***************************************************************************/
8
9#ifndef _Utils_fft_FFTW3_Transform_h_
10#define _Utils_fft_FFTW3_Transform_h_
11
12#include "FTransformAgent.h"
13
14namespace FTransform {
15
16 class FFTW3 {
17
18 public:
19
20 class Plan : public FTransform::Plan {
21
22 public:
23
25 Plan (size_t nfft, type t);
26
28 ~Plan ();
29
30 void fcc1d (size_t nfft, float* dest, const float* src);
31 void bcc1d (size_t nfft, float* dest, const float* src);
32 void frc1d (size_t nfft, float* dest, const float* src);
33 void bcr1d (size_t nfft, float* dest, const float* src);
34
35 protected:
36
37 void* plan;
38
39 };
40
41
42 class Plan2 : public FTransform::Plan2 {
43
44 public:
45
47 Plan2 (size_t nx, size_t ny, type t);
48
50 ~Plan2 ();
51
52 void fcc2d (size_t nx, size_t ny, float* , const float*);
53 void bcc2d (size_t nx, size_t ny, float* , const float*);
54
55 protected:
56
57 void* plan;
58
59 };
60
62 class Agent : public PlanAgent<FFTW3> {
63 public:
64 Agent () : PlanAgent<FFTW3> ("FFTW3", unnormalized) { }
65 };
66
67 };
68
69}
70
71#endif
Abstract base class of two-dimensional Fast Fourier Transforms.
Definition FTransformPlan.h:48
PlanAgent(const std::string &name, normalization norm)
Definition FTransformAgent.h:116
Abstract base class of one-dimensional Fast Fourier Transforms.
Definition FTransformPlan.h:17
Defines a single interface to a variety of Fourier transform libraries.
Definition FFTW3_Transform.h:14
void fcc2d(size_t nx, size_t ny, float *into, const float *from)
Forward complex-to-complex FFT.
Definition FTransform.C:78
type
The FFT type.
Definition FTransform.h:74
void bcc2d(size_t nx, size_t ny, float *into, const float *from)
Backward complex-to-complex FFT.
Definition FTransform.C:84
void fcc1d(size_t nfft, float *into, const float *from)
Forward complex-to-complex FFT.
Definition FTransform.C:51
void bcc1d(size_t nfft, float *into, const float *from)
Backward complex-to-complex FFT.
Definition FTransform.C:57
void bcr1d(size_t nfft, float *into, const float *from)
Backward complex-to-real FFT.
Definition FTransform.C:45
void frc1d(size_t nfft, float *into, const float *from)
Forward real-to-complex FFT.
Definition FTransform.C:39

Generated using doxygen 1.14.0