changed reading hint
[gromacs/adressmacs.git] / include / rfftw.h
blob14d238b68b12c3952f78a5afed104780e2c29c62
1 /*
2 * $Id$
3 *
4 * This source code is part of
5 *
6 * G R O M A C S
7 *
8 * GROningen MAchine for Chemical Simulations
9 *
10 * VERSION 2.0
12 * Copyright (c) 1991-1999
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
16 * Please refer to:
17 * GROMACS: A message-passing parallel molecular dynamics implementation
18 * H.J.C. Berendsen, D. van der Spoel and R. van Drunen
19 * Comp. Phys. Comm. 91, 43-56 (1995)
21 * Also check out our WWW page:
22 * http://md.chem.rug.nl/~gmx
23 * or e-mail to:
24 * gromacs@chem.rug.nl
26 * And Hey:
27 * Green Red Orange Magenta Azure Cyan Skyblue
29 /* rfftw.h -- system-wide definitions for rfftw */
30 #ifndef RFFTW_H
31 #define RFFTW_H
33 static char *SRCID_rfftw_h = "$Id$";
35 #include "fftw.h"
37 #ifdef __cplusplus
38 extern "C" {
39 #endif /* __cplusplus */
41 /****************************************************************************/
43 #define RFFTW_V2
45 typedef fftw_plan rfftw_plan;
46 typedef fftwnd_plan rfftwnd_plan;
48 #define FFTW_REAL_TO_COMPLEX FFTW_FORWARD
49 #define FFTW_COMPLEX_TO_REAL FFTW_BACKWARD
51 extern void rfftw(rfftw_plan plan, int howmany, fftw_real *in, int istride,
52 int idist, fftw_real *out, int ostride, int odist);
53 extern void rfftw_one(rfftw_plan plan, fftw_real *in, fftw_real *out);
55 extern rfftw_plan rfftw_create_plan_specific(int n, fftw_direction dir,
56 int flags,
57 fftw_real *in, int istride,
58 fftw_real *out, int ostride);
60 extern rfftw_plan rfftw_create_plan(int n, fftw_direction dir, int flags);
61 extern void rfftw_destroy_plan(rfftw_plan plan);
63 extern void rfftw_fprint_plan(FILE *f, rfftw_plan p);
64 extern void rfftw_print_plan(rfftw_plan p);
66 extern void rfftw_executor_simple(int n, fftw_real *in,
67 fftw_real *out,
68 fftw_plan_node *p,
69 int istride,
70 int ostride);
72 extern rfftwnd_plan rfftwnd_create_plan_specific(int rank, const int *n,
73 fftw_direction dir, int flags,
74 fftw_real *in, int istride,
75 fftw_real *out, int ostride);
76 extern rfftwnd_plan rfftw2d_create_plan_specific(int nx, int ny,
77 fftw_direction dir, int flags,
78 fftw_real *in, int istride,
79 fftw_real *out, int ostride);
80 extern rfftwnd_plan rfftw3d_create_plan_specific(int nx, int ny, int nz,
81 fftw_direction dir, int flags,
82 fftw_real *in, int istride,
83 fftw_real *out, int ostride);
84 extern rfftwnd_plan rfftwnd_create_plan(int rank, const int *n,
85 fftw_direction dir, int flags);
86 extern rfftwnd_plan rfftw2d_create_plan(int nx, int ny,
87 fftw_direction dir, int flags);
88 extern rfftwnd_plan rfftw3d_create_plan(int nx, int ny, int nz,
89 fftw_direction dir, int flags);
90 extern void rfftwnd_destroy_plan(rfftwnd_plan plan);
91 extern void rfftwnd_fprint_plan(FILE *f, rfftwnd_plan plan);
92 extern void rfftwnd_print_plan(rfftwnd_plan plan);
93 extern void rfftwnd_real_to_complex(rfftwnd_plan p, int howmany,
94 fftw_real *in, int istride, int idist,
95 fftw_complex *out, int ostride, int odist);
96 extern void rfftwnd_complex_to_real(rfftwnd_plan p, int howmany,
97 fftw_complex *in, int istride, int idist,
98 fftw_real *out, int ostride, int odist);
99 extern void rfftwnd_one_real_to_complex(rfftwnd_plan p,
100 fftw_real *in, fftw_complex *out);
101 extern void rfftwnd_one_complex_to_real(rfftwnd_plan p,
102 fftw_complex *in, fftw_real *out);
104 /****************************************************************************/
106 #ifdef __cplusplus
107 } /* extern "C" */
108 #endif /* __cplusplus */
109 #endif /* RFFTW_H */