4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
11 * Copyright (c) 1991-2001, University of Groningen, The Netherlands
12 * This program is free software; you can redistribute it and/or
13 * modify it under the terms of the GNU General Public License
14 * as published by the Free Software Foundation; either version 2
15 * of the License, or (at your option) any later version.
17 * If you want to redistribute modifications, please consider that
18 * scientific software is very special. Version control is crucial -
19 * bugs must be traceable. We will be happy to consider code for
20 * inclusion in the official distribution, but derived work must not
21 * be called official GROMACS. Details are found in the README & COPYING
22 * files - if they are missing, get the official version at www.gromacs.org.
24 * To help us fund GROMACS development, we humbly ask that you cite
25 * the papers on the package - you can find them in the top README file.
27 * For more info, check our website at http://www.gromacs.org
30 * Getting the Right Output Means no Artefacts in Calculating Stuff
36 static char *SRCID_x86_3dnow_h
= "$Id$";
41 #if (defined USE_X86_SSE_AND_3DNOW && !defined DOUBLE)
44 void vecinvsqrt_3dnow(float in
[],float out
[],int n
);
45 void vecrecip_3dnow(float in
[],float out
[],int n
);
48 void inl0100_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
49 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
50 float faction
[],int type
[],int ntype
,float nbfp
[],
52 void inl0110_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
[], int nsatoms
[]);
56 void inl0300_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
[],float tabscale
,float VFtab
[]);
60 void inl0310_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
[], int nsatoms
[]);
64 void inl1000_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
65 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
66 float faction
[],float charge
[],float facel
,float Vc
[]);
67 void inl1010_3dnow(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
[],
71 void inl1020_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 void inl1030_3dnow(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 inl1100_3dnow(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 int type
[],int ntype
,float nbfp
[],float Vnb
[]);
81 void inl1110_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
[],
86 void inl1120_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
87 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
88 float faction
[],float charge
[],float facel
,float Vc
[],
89 int type
[],int ntype
,float nbfp
[],float Vnb
[]);
90 void inl1130_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 inl3000_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 float tabscale
,float VFtab
[]);
98 void inl3010_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
[], int nsatoms
[]);
102 void inl3020_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
[]);
106 void inl3030_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 inl3100_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 int type
[],int ntype
,float nbfp
[],float Vnb
[],
114 float tabscale
, float VFtab
[]);
115 void inl3110_3dnow(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 int type
[],int ntype
,float nbfp
[],float Vnb
[],
119 float tabscale
, float VFtab
[], int nsatoms
[]);
120 void inl3120_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
121 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
122 float faction
[],float charge
[],float facel
,float Vc
[],
123 int type
[],int ntype
,float nbfp
[],float Vnb
[],
124 float tabscale
, float VFtab
[]);
125 void inl3130_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
126 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
127 float faction
[],float charge
[],float facel
,float Vc
[],
128 int type
[],int ntype
,float nbfp
[],float Vnb
[],
129 float tabscale
, float VFtab
[]);
130 void inl3300_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
131 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
132 float faction
[],float charge
[],float facel
,float Vc
[],
133 int type
[],int ntype
,float nbfp
[],float Vnb
[],
134 float tabscale
,float VFtab
[]);
135 void inl3310_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
136 float shiftvec
[],float fshift
[],int gid
[],float pos
[],
137 float faction
[],float charge
[],float facel
,float Vc
[],
138 int type
[],int ntype
,float nbfp
[],float Vnb
[],
139 float tabscale
,float VFtab
[], int nsatoms
[]);
140 void inl3320_3dnow(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 inl3330_3dnow(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
[]);
152 void mcinl0100_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
153 float shiftvec
[],int gid
[],float pos
[],
154 int type
[],int ntype
,float nbfp
[],
156 void mcinl0110_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
157 float shiftvec
[],int gid
[],float pos
[],
158 int type
[],int ntype
,float nbfp
[],
159 float Vnb
[], int nsatoms
[]);
160 void mcinl0300_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
161 float shiftvec
[],int gid
[],float pos
[],
162 int type
[],int ntype
,float nbfp
[],
163 float Vnb
[],float tabscale
,float VFtab
[]);
164 void mcinl0310_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
165 float shiftvec
[],int gid
[],float pos
[],
166 int type
[],int ntype
,float nbfp
[],
167 float Vnb
[],float tabscale
,float VFtab
[], int nsatoms
[]);
168 void mcinl1000_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
169 float shiftvec
[],int gid
[],float pos
[],
170 float charge
[],float facel
,float Vc
[]);
171 void mcinl1010_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
172 float shiftvec
[],int gid
[],float pos
[],
173 float charge
[],float facel
, float Vc
[],
175 void mcinl1020_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
176 float shiftvec
[],int gid
[],float pos
[],
177 float charge
[],float facel
,float Vc
[]);
178 void mcinl1030_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
179 float shiftvec
[],int gid
[],float pos
[],
180 float charge
[],float facel
,float Vc
[]);
181 void mcinl1100_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
182 float shiftvec
[],int gid
[],float pos
[],
183 float charge
[],float facel
,float Vc
[],
184 int type
[],int ntype
,float nbfp
[],float Vnb
[]);
185 void mcinl1110_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
186 float shiftvec
[],int gid
[],float pos
[],
187 float charge
[],float facel
,float Vc
[],
188 int type
[],int ntype
,float nbfp
[],float Vnb
[],
190 void mcinl1120_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
191 float shiftvec
[],int gid
[],float pos
[],
192 float charge
[],float facel
,float Vc
[],
193 int type
[],int ntype
,float nbfp
[],float Vnb
[]);
194 void mcinl1130_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
195 float shiftvec
[],int gid
[],float pos
[],
196 float charge
[],float facel
,float Vc
[],
197 int type
[],int ntype
,float nbfp
[],float Vnb
[]);
198 void mcinl3000_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
199 float shiftvec
[],int gid
[],float pos
[],
200 float charge
[],float facel
,float Vc
[],
201 float tabscale
,float VFtab
[]);
202 void mcinl3010_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
203 float shiftvec
[],int gid
[],float pos
[],
204 float charge
[],float facel
,float Vc
[],
205 float tabscale
,float VFtab
[], int nsatoms
[]);
206 void mcinl3020_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
207 float shiftvec
[],int gid
[],float pos
[],
208 float charge
[],float facel
,float Vc
[],
209 float tabscale
,float VFtab
[]);
210 void mcinl3030_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
211 float shiftvec
[],int gid
[],float pos
[],
212 float charge
[],float facel
,float Vc
[],
213 float tabscale
,float VFtab
[]);
214 void mcinl3100_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
215 float shiftvec
[],int gid
[],float pos
[],
216 float charge
[],float facel
,float Vc
[],
217 int type
[],int ntype
,float nbfp
[],float Vnb
[],
218 float tabscale
, float VFtab
[]);
219 void mcinl3110_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
220 float shiftvec
[],int gid
[],float pos
[],
221 float charge
[],float facel
,float Vc
[],
222 int type
[],int ntype
,float nbfp
[],float Vnb
[],
223 float tabscale
, float VFtab
[], int nsatoms
[]);
224 void mcinl3120_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
225 float shiftvec
[],int gid
[],float pos
[],
226 float charge
[],float facel
,float Vc
[],
227 int type
[],int ntype
,float nbfp
[],float Vnb
[],
228 float tabscale
, float VFtab
[]);
229 void mcinl3130_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
230 float shiftvec
[],int gid
[],float pos
[],
231 float charge
[],float facel
,float Vc
[],
232 int type
[],int ntype
,float nbfp
[],float Vnb
[],
233 float tabscale
, float VFtab
[]);
234 void mcinl3300_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
235 float shiftvec
[],int gid
[],float pos
[],
236 float charge
[],float facel
,float Vc
[],
237 int type
[],int ntype
,float nbfp
[],float Vnb
[],
238 float tabscale
,float VFtab
[]);
239 void mcinl3310_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
240 float shiftvec
[],int gid
[],float pos
[],
241 float charge
[],float facel
,float Vc
[],
242 int type
[],int ntype
,float nbfp
[],float Vnb
[],
243 float tabscale
,float VFtab
[], int nsatoms
[]);
244 void mcinl3320_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
245 float shiftvec
[],int gid
[],float pos
[],
246 float charge
[],float facel
,float Vc
[],
247 int type
[],int ntype
,float nbfp
[],float Vnb
[],
248 float tabscale
,float VFtab
[]);
249 void mcinl3330_3dnow(int nri
,int iinr
[],int jindex
[],int jjnr
[],int shift
[],
250 float shiftvec
[],int gid
[],float pos
[],
251 float charge
[],float facel
,float Vc
[],
252 int type
[],int ntype
,float nbfp
[],float Vnb
[],
253 float tabscale
,float VFtab
[]);