Move FFT routines to src/gromacs/fft/.
[alexxy/gromacs.git] / src / gromacs / gmxana / correl.h
1
2 /*
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  * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
11  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
12  * Copyright (c) 2001-2008, The GROMACS development team,
13  * check out http://www.gromacs.org for more information.
14
15  * This program is free software; you can redistribute it and/or
16  * modify it under the terms of the GNU General Public License
17  * as published by the Free Software Foundation; either version 2
18  * of the License, or (at your option) any later version.
19  *
20  * If you want to redistribute modifications, please consider that
21  * scientific software is very special. Version control is crucial -
22  * bugs must be traceable. We will be happy to consider code for
23  * inclusion in the official distribution, but derived work must not
24  * be called official GROMACS. Details are found in the README & COPYING
25  * files - if they are missing, get the official version at www.gromacs.org.
26  *
27  * To help us fund GROMACS development, we humbly ask that you cite
28  * the papers on the package - you can find them in the top README file.
29  *
30  * For more info, check our website at http://www.gromacs.org
31  *
32  * And Hey:
33  * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
34  */
35
36
37 #ifndef _correl_h
38 #define _correl_h
39
40 #include "typedefs.h"
41 #include "gromacs/fft/fft.h"
42
43 typedef struct {
44     int        n;
45     gmx_fft_t  fft_setup;
46     real      *buf1, *buf2, *abuf;
47 } correl_t;
48
49 extern correl_t *init_correl(int n);
50 extern void done_correl(correl_t *c);
51
52 extern void correl(real data1[], real data2[], int n, real ans[]);
53 extern void four1(real data[], int nn, int isign);
54
55 #endif