6cb5ecacd5498e57a588f8d15fe5bd1053152aa4
[alexxy/gromacs.git] / include / x86_3dnow.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  * Giving Russians Opium May Alter Current Situation
35  */
36
37 #ifndef _x86_3dnow_h
38 #define _x86_3dnow_h
39
40 static char *SRCID_x86_3dnow_h = "$Id$";
41 #ifdef HAVE_CONFIG_H
42 #include <config.h>
43 #endif
44
45 #if (defined USE_3DNOW && !defined DOUBLE)
46
47 void check3dnow();
48 void vecinvsqrt_3dnow(float in[],float out[],int n);
49 void vecrecip_3dnow(float in[],float out[],int n);
50
51
52 void inl0100_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
53                    float shiftvec[],float fshift[],int gid[],float pos[],
54                    float faction[],int type[],int ntype,float nbfp[],
55                    float Vnb[]);
56 void inl0110_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
57                    float shiftvec[],float fshift[],int gid[],float pos[],
58                    float faction[],int type[],int ntype,float nbfp[],
59                    float Vnb[], int nsatoms[]);
60 void inl0300_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
61                    float shiftvec[],float fshift[],int gid[],float pos[],
62                    float faction[],int type[],int ntype,float nbfp[],
63                    float Vnb[],float tabscale,float VFtab[]);
64 void inl0310_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
65                    float shiftvec[],float fshift[],int gid[],float pos[],
66                    float faction[],int type[],int ntype,float nbfp[],
67                    float Vnb[],float tabscale,float VFtab[], int nsatoms[]);
68 void inl1000_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
69                    float shiftvec[],float fshift[],int gid[],float pos[],
70                    float faction[],float charge[],float facel,float Vc[]);
71 void inl1010_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
72                    float shiftvec[],float fshift[],int gid[],float pos[],
73                    float faction[],float charge[],float facel, float Vc[],
74                    int nsatoms[]);
75 void inl1020_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
76                    float shiftvec[],float fshift[],int gid[],float pos[],
77                    float faction[],float charge[],float facel,float Vc[]);
78 void inl1030_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
79                    float shiftvec[],float fshift[],int gid[],float pos[],
80                    float faction[],float charge[],float facel,float Vc[]);
81 void inl1100_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
82                    float shiftvec[],float fshift[],int gid[],float pos[],
83                    float faction[],float charge[],float facel,float Vc[],
84                    int type[],int ntype,float nbfp[],float Vnb[]);
85 void inl1110_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
86                    float shiftvec[],float fshift[],int gid[],float pos[],
87                    float faction[],float charge[],float facel,float Vc[],
88                    int type[],int ntype,float nbfp[],float Vnb[],
89                    int nsatoms[]);
90 void inl1120_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
91                    float shiftvec[],float fshift[],int gid[],float pos[],
92                    float faction[],float charge[],float facel,float Vc[],
93                    int type[],int ntype,float nbfp[],float Vnb[]);
94 void inl1130_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
95                    float shiftvec[],float fshift[],int gid[],float pos[],
96                    float faction[],float charge[],float facel,float Vc[],
97                    int type[],int ntype,float nbfp[],float Vnb[]);
98 void inl3000_3dnow(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                    float tabscale,float VFtab[]);
102 void inl3010_3dnow(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 tabscale,float VFtab[], int nsatoms[]);
106 void inl3020_3dnow(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 tabscale,float VFtab[]);
110 void inl3030_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
111                    float shiftvec[],float fshift[],int gid[],float pos[],
112                    float faction[],float charge[],float facel,float Vc[],
113                    float tabscale,float VFtab[]);
114 void inl3100_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
115                    float shiftvec[],float fshift[],int gid[],float pos[],
116                    float faction[],float charge[],float facel,float Vc[],
117                    int type[],int ntype,float nbfp[],float Vnb[],
118                    float tabscale, float VFtab[]);
119 void inl3110_3dnow(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                    int type[],int ntype,float nbfp[],float Vnb[],
123                    float tabscale, float VFtab[], int nsatoms[]);
124 void inl3120_3dnow(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                    int type[],int ntype,float nbfp[],float Vnb[],
128                    float tabscale, float VFtab[]);
129 void inl3130_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
130                    float shiftvec[],float fshift[],int gid[],float pos[],
131                    float faction[],float charge[],float facel,float Vc[],
132                    int type[],int ntype,float nbfp[],float Vnb[],
133                    float tabscale, float VFtab[]);
134 void inl3300_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
135                    float shiftvec[],float fshift[],int gid[],float pos[],
136                    float faction[],float charge[],float facel,float Vc[],
137                    int type[],int ntype,float nbfp[],float Vnb[],
138                    float tabscale,float VFtab[]);
139 void inl3310_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
140                    float shiftvec[],float fshift[],int gid[],float pos[],
141                    float faction[],float charge[],float facel,float Vc[],
142                    int type[],int ntype,float nbfp[],float Vnb[],
143                    float tabscale,float VFtab[], int nsatoms[]);
144 void inl3320_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
145                    float shiftvec[],float fshift[],int gid[],float pos[],
146                    float faction[],float charge[],float facel,float Vc[],
147                    int type[],int ntype,float nbfp[],float Vnb[],
148                    float tabscale,float VFtab[]);
149 void inl3330_3dnow(int nri,int iinr[],int jindex[],int jjnr[],int shift[],
150                    float shiftvec[],float fshift[],int gid[],float pos[],
151                    float faction[],float charge[],float facel,float Vc[],
152                    int type[],int ntype,float nbfp[],float Vnb[],
153                    float tabscale,float VFtab[]);
154
155  
156 #endif
157 #endif
158