NFFT  3.4.1
kernel/nfsft/api.h
1 /*
2  * Copyright (c) 2002, 2017 Jens Keiner, Stefan Kunis, Daniel Potts
3  *
4  * This program is free software; you can redistribute it and/or modify it under
5  * the terms of the GNU General Public License as published by the Free Software
6  * Foundation; either version 2 of the License, or (at your option) any later
7  * version.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11  * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12  * details.
13  *
14  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc., 51
16  * Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17  */
18 
24 #ifndef API_H
25 #define API_H
26 
27 #include "config.h"
28 #include "nfft3.h"
29 
34 /* "Default exponent of maximum bandwidth" */
35 #define BWEXP_MAX 10
36 
37 /* "Default maximum bandwidth" */
38 #define BW_MAX 1024
39 
40 #define ROW(k) (k*(wisdom.N_MAX+2))
41 #define ROWK(k) (k*(wisdom.N_MAX+2)+k)
42 
43 #ifdef HAVE_STDBOOL_H
44  #include <stdbool.h>
45 #else
46  typedef enum {false = 0,true = 1} bool;
47 #endif
48 
49 //#define FIRST_L (int)floor(ntilde/(double)plength)
50 //#define LAST_L (int)ceil((Mtilde+1)/(double)plength)-1
51 
52 
57 {
60  unsigned int flags;
63  int N_MAX;
65  int T_MAX;
66 
67  /* Data for the direct algorithms */
68 
74  double *alpha;
80  double *beta;
86  double *gamma;
87 
88  /* Data for fast algorithms. */
89 
91  double threshold;
92 #ifdef _OPENMP
93  int nthreads;
94  fpt_set *set_threads;
95 #else
96 
98 #endif
99 };
100 /* \} */
101 #endif
102 
double * gamma
Precomputed recursion coefficients /f$^n/f$ for /f$k = 0,/ldots, N_{{max}}; n=-k,/ldots,k/f$ of associated Legendre-functions /f$P_k^n/f$.
Wisdom structure.
fpt_set set
Structure for discrete polynomial transform (DPT)
int N_MAX
Stores precomputation flags.
bool initialized
Indicates wether the structure has been initialized.
Holds data for a set of cascade summations.
Definition: fpt.c:94
double * alpha
Precomputed recursion coefficients /f$^n/f$ for /f$k = 0,/ldots, N_{{max}}; n=-k,/ldots,k/f$ of associated Legendre-functions /f$P_k^n/f$.
double threshold
The threshold /f$/f$.
double * beta
Precomputed recursion coefficients /f$^n/f$ for /f$k = 0,/ldots, N_{{max}}; n=-k,/ldots,k/f$ of associated Legendre-functions /f$P_k^n/f$.
Header file for the nfft3 library.
int T_MAX
The logarithm /f$t = N_{{max}}/f$ of the maximum bandwidth.