C++QEDCore  2.100.2 (v2 Milestone 10 Development branch)
a framework for simulating open quantum dynamics – core
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
FFT.h
Go to the documentation of this file.
1 // Copyright András Vukics 2006–2014. Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE.txt)
3 // -*- C++ -*-
4 #ifndef CPPQEDCORE_UTILS_FFT_H_INCLUDED
5 #define CPPQEDCORE_UTILS_FFT_H_INCLUDED
6 
7 #include "FFTFwd.h"
8 
9 #include "Exception.h"
10 
11 #include <cstddef>
12 
14 namespace fft {
15 
17 enum Direction {
20 };
21 
22 
24 
25 namespace details {
26 
27 void transform(double*, size_t, size_t, Direction);
28 
29 } // details
30 
31 
33 
45 template<typename A>
46 void transform(A&, Direction);
47 
48 
50 inline const Direction reverse(Direction dir) {return dir==DIR_KX ? DIR_XK : DIR_KX;}
51 
52 } // fft
53 
54 #endif // CPPQEDCORE_UTILS_FFT_H_INCLUDED
Fast Fourier transformation.
Definition: FFT.h:14
The class that is (meant to be, at least) the base of all exceptions in the framework.
Definition: Exception.h:18
void transform(A &, Direction)
Radix-2 FFT transformation for complex data.
“backward” from k- to x-space
Definition: FFT.h:19
“forward” from x- to k-space (by convention)
Definition: FFT.h:18
Direction
direction of FFT
Definition: FFT.h:17
const Direction reverse(Direction dir)
reverses the direction
Definition: FFT.h:50
Defines tentative base classes for the exception classes of the framework.