Migrated to the latest automake & libtool releases/prereleases, with all
[alexxy/gromacs.git] / include / x86_sse.h
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 3.0
11  * 
12  * Copyright (c) 1991-2001
13  * BIOSON Research Institute, Dept. of Biophysical Chemistry
14  * University of Groningen, The Netherlands
15  * 
16  * This program is free software; you can redistribute it and/or
17  * modify it under the terms of the GNU General Public License
18  * as published by the Free Software Foundation; either version 2
19  * of the License, or (at your option) any later version.
20  * 
21  * If you want to redistribute modifications, please consider that
22  * scientific software is very special. Version control is crucial -
23  * bugs must be traceable. We will be happy to consider code for
24  * inclusion in the official distribution, but derived work must not
25  * be called official GROMACS. Details are found in the README & COPYING
26  * files - if they are missing, get the official version at www.gromacs.org.
27  * 
28  * To help us fund GROMACS development, we humbly ask that you cite
29  * the papers on the package - you can find them in the top README file.
30  * 
31  * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
32  * 
33  * And Hey:
34  * GRoups of Organic Molecules in ACtion for Science
35  */
36
37 #ifndef _x86_sse_h
38 #define _x86_sse_h
39
40 static char *SRCID_x86_sse_h = "$Id$";
41 #ifdef HAVE_CONFIG_H
42 #include <config.h>
43 #endif
44
45 #if (defined USE_X86_ASM && !defined DOUBLE)
46
47 void checksse();
48 void vecinvsqrt_sse(float in[],float out[],int n);
49 void vecrecip_sse(float in[],float out[],int n);
50
51 void inl0100_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
52                  float shiftvec[],float fshift[],int gid[],float pos[],
53                  float faction[],int type[],int ntype,float nbfp[],
54                  float Vnb[]);
55 void inl0110_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
56                  float shiftvec[],float fshift[],int gid[],float pos[],
57                  float faction[],int type[],int ntype,float nbfp[],
58                  float Vnb[], int nsatoms[]);
59 void inl0300_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
60                  float shiftvec[],float fshift[],int gid[],float pos[],
61                  float faction[],int type[],int ntype,float nbfp[],
62                  float Vnb[],float tabscale,float VFtab[]);
63 void inl0310_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
64                  float shiftvec[],float fshift[],int gid[],float pos[],
65                  float faction[],int type[],int ntype,float nbfp[],
66                  float Vnb[],float tabscale,float VFtab[], int nsatoms[]);
67 void inl1000_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
68                  float shiftvec[],float fshift[],int gid[],float pos[],
69                  float faction[],float charge[],float facel,float Vc[]);
70 void inl1010_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
71                  float shiftvec[],float fshift[],int gid[],float pos[],
72                  float faction[],float charge[],float facel, float Vc[],
73                  int nsatoms[]);
74 void inl1020_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
75                  float shiftvec[],float fshift[],int gid[],float pos[],
76                  float faction[],float charge[],float facel,float Vc[]);
77 void inl1030_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
78                  float shiftvec[],float fshift[],int gid[],float pos[],
79                  float faction[],float charge[],float facel,float Vc[]);
80 void inl1100_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
81                  float shiftvec[],float fshift[],int gid[],float pos[],
82                  float faction[],float charge[],float facel,float Vc[],
83                  int type[],int ntype,float nbfp[],float Vnb[]);
84 void inl2000_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
85                  float shiftvec[],float fshift[],int gid[],float pos[],
86                  float faction[],float charge[],float facel,float Vc[],
87                  float krf, float crf);
88 void inl2100_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
89                  float shiftvec[],float fshift[],int gid[],float pos[],
90                  float faction[],float charge[],float facel,float Vc[],
91                  float krf, float crf, int type[],int ntype,
92                  float nbfp[],float Vnb[]);
93 void inl1110_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
94                  float shiftvec[],float fshift[],int gid[],float pos[],
95                  float faction[],float charge[],float facel,float Vc[],
96                  int type[],int ntype,float nbfp[],float Vnb[],
97                  int nsatoms[]);
98 void inl1120_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
99                  float shiftvec[],float fshift[],int gid[],float pos[],
100                  float faction[],float charge[],float facel,float Vc[],
101                  int type[],int ntype,float nbfp[],float Vnb[]);
102 void inl2020_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
103                  float shiftvec[],float fshift[],int gid[],float pos[],
104                  float faction[],float charge[],float facel,float Vc[],
105                  float krf, float crf);
106 void inl2120_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
107                  float shiftvec[],float fshift[],int gid[],float pos[],
108                  float faction[],float charge[],float facel,float Vc[],
109                  float krf, float crf, int type[],int ntype,
110                  float nbfp[],float Vnb[]);
111 void inl1130_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
112                  float shiftvec[],float fshift[],int gid[],float pos[],
113                  float faction[],float charge[],float facel,float Vc[],
114                  int type[],int ntype,float nbfp[],float Vnb[]);
115 void inl2030_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
116                  float shiftvec[],float fshift[],int gid[],float pos[],
117                  float faction[],float charge[],float facel,float Vc[],
118                  float krf, float crf);
119 void inl2130_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
120                  float shiftvec[],float fshift[],int gid[],float pos[],
121                  float faction[],float charge[],float facel,float Vc[],
122                  float krf, float crf, int type[],int ntype,
123                  float nbfp[],float Vnb[]);
124 void inl3000_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
125                  float shiftvec[],float fshift[],int gid[],float pos[],
126                  float faction[],float charge[],float facel,float Vc[],
127                  float tabscale,float VFtab[]); 
128 void inl3010_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
129                  float shiftvec[],float fshift[],int gid[],float pos[],
130                  float faction[],float charge[],float facel,float Vc[],
131                  float tabscale,float VFtab[], int nsatoms[]);
132 void inl3020_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
133                  float shiftvec[],float fshift[],int gid[],float pos[],
134                  float faction[],float charge[],float facel,float Vc[],
135                  float tabscale,float VFtab[]);
136 void inl3030_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
137                  float shiftvec[],float fshift[],int gid[],float pos[],
138                  float faction[],float charge[],float facel,float Vc[],
139                  float tabscale,float VFtab[]);
140 void inl3100_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
141                  float shiftvec[],float fshift[],int gid[],float pos[],
142                  float faction[],float charge[],float facel,float Vc[],
143                  int type[],int ntype,float nbfp[],float Vnb[],
144                  float tabscale, float VFtab[]);
145 void inl3110_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
146                  float shiftvec[],float fshift[],int gid[],float pos[],
147                  float faction[],float charge[],float facel,float Vc[],
148                  int type[],int ntype,float nbfp[],float Vnb[],
149                  float tabscale, float VFtab[], int nsatoms[]);
150 void inl3120_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
151                  float shiftvec[],float fshift[],int gid[],float pos[],
152                  float faction[],float charge[],float facel,float Vc[],
153                  int type[],int ntype,float nbfp[],float Vnb[],
154                  float tabscale, float VFtab[]);
155 void inl3130_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
156                  float shiftvec[],float fshift[],int gid[],float pos[],
157                  float faction[],float charge[],float facel,float Vc[],
158                  int type[],int ntype,float nbfp[],float Vnb[],
159                  float tabscale, float VFtab[]);
160 void inl3300_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
161                  float shiftvec[],float fshift[],int gid[],float pos[],
162                  float faction[],float charge[],float facel,float Vc[],
163                  int type[],int ntype,float nbfp[],float Vnb[],
164                  float tabscale,float VFtab[]);
165 void inl3310_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
166                  float shiftvec[],float fshift[],int gid[],float pos[],
167                  float faction[],float charge[],float facel,float Vc[],
168                  int type[],int ntype,float nbfp[],float Vnb[],
169                  float tabscale,float VFtab[], int nsatoms[]);
170 void inl3320_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
171                  float shiftvec[],float fshift[],int gid[],float pos[],
172                  float faction[],float charge[],float facel,float Vc[],
173                  int type[],int ntype,float nbfp[],float Vnb[],
174                  float tabscale,float VFtab[]);
175 void inl3330_sse(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
176                  float shiftvec[],float fshift[],int gid[],float pos[],
177                  float faction[],float charge[],float facel,float Vc[],
178                  int type[],int ntype,float nbfp[],float Vnb[],
179                  float tabscale,float VFtab[]);
180
181 #endif
182 #endif
183
184