4 * This source code is part of
8 * GROningen MAchine for Chemical Simulations
12 * Copyright (c) 1991-2001
13 * BIOSON Research Institute, Dept. of Biophysical Chemistry
14 * University of Groningen, The Netherlands
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.
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.
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.
31 * Do check out http://www.gromacs.org , or mail us at gromacs@gromacs.org .
34 * GRoups of Organic Molecules in ACtion for Science
40 static char *SRCID_x86_sse_h = "$Id$";
45 #if (defined USE_SSE && !defined DOUBLE)
48 void vecinvsqrt_sse(float in[],float out[],int n);
49 void vecrecip_sse(float in[],float out[],int n);
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[],
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[],
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[],
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[]);