TRIQS/triqs_tprf 4.0.0
A TRIQS application
Loading...
Searching...
No Matches
fourier_common.hpp
1/*******************************************************************************
2 *
3 * TRIQS: a Toolbox for Research in Interacting Quantum Systems
4 *
5 * Copyright (C) 2011-2017 by M. Ferrero, O. Parcollet
6 * Copyright (C) 2018- by Simons Foundation
7 * authors : O. Parcollet, N. Wentzell, H. U.R. Strand
8 *
9 * TRIQS is free software: you can redistribute it and/or modify it under the
10 * terms of the GNU General Public License as published by the Free Software
11 * Foundation, either version 3 of the License, or (at your option) any later
12 * version.
13 *
14 * TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
15 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
17 * details.
18 *
19 * You should have received a copy of the GNU General Public License along with
20 * TRIQS. If not, see <http://www.gnu.org/licenses/>.
21 *
22 ******************************************************************************/
23#pragma once
24
25#include "../types.hpp"
26
27namespace triqs_tprf::fourier {
28
29 using fourier_plan = std::unique_ptr<void, void (*)(void *)>;
30
31 fourier_plan _fourier_base_plan(nda::array_const_view<dcomplex, 2> in, nda::array_const_view<dcomplex, 2> out, int rank, int *dims, int fftw_count,
32 int fftw_backward_forward);
33
34 void _fourier_base(nda::array_const_view<dcomplex, 2> in, nda::array_view<dcomplex, 2> out, fourier_plan &p);
35
36} // namespace triqs_tprf::fourier