NFFT 3.5.3alpha
kernel/nfsft/api.h
Go to the documentation of this file.
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
98#endif
99};
100/* \} */
101#endif
102
double * gamma
Precomputed recursion coefficients /f$\gamma_k^n/f$ for /f$k = 0,/ldots, N_{\text{max}}; n=-k,...
fpt_set set
Structure for discrete polynomial transform (DPT)
double * beta
Precomputed recursion coefficients /f$\beta_k^n/f$ for /f$k = 0,/ldots, N_{\text{max}}; n=-k,...
double * alpha
Precomputed recursion coefficients /f$\alpha_k^n/f$ for /f$k = 0,/ldots, N_{\text{max}}; n=-k,...
bool initialized
Indicates wether the structure has been initialized.
int N_MAX
Stores precomputation flags.
double threshold
The threshold /f$\kappa/f$.
int T_MAX
The logarithm /f$t = \log_2 N_{\text{max}}/f$ of the maximum bandwidth.
Header file for the nfft3 library.
Holds data for a set of cascade summations.
Definition fpt.h:66
Wisdom structure.