1 /* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
3 * This file is part of Gromacs Copyright (c) 1991-2004
4 * David van der Spoel, Erik Lindahl, University of Groningen.
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
11 * To help us fund GROMACS development, we humbly ask that you cite
12 * the research papers on the package. Check out http://www.gromacs.org
15 * Gnomes, ROck Monsters And Chili Sauce
17 #ifndef _NB_KERNEL332_SSE2_SINGLE_H_
18 #define _NB_KERNEL332_SSE2_SINGLE_H_
22 * \brief SSE-intrinsics ptimized versions of nonbonded kernel 332
34 /*! \brief Nonbonded kernel 332 with forces, optimized for sse.
38 * <b>Coulomb interaction:</b> Tabulated <br>
39 * <b>VdW interaction:</b> Tabulated <br>
40 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
41 * <b>Forces calculated:</b> Yes <br>
43 * \note All level1 and level2 nonbonded kernels use the same
44 * call sequence. Parameters are documented in nb_kernel.h
47 nb_kernel332_sse2_single (int * nri, int iinr[], int jindex[],
48 int jjnr[], int shift[], float shiftvec[],
49 float fshift[], int gid[], float pos[],
50 float faction[], float charge[], float * facel,
51 float * krf, float * crf, float Vc[],
52 int type[], int * ntype, float vdwparam[],
53 float Vvdw[], float * tabscale, float VFtab[],
54 float invsqrta[], float dvda[], float * gbtabscale,
55 float GBtab[], int * nthreads, int * count,
56 void * mtx, int * outeriter,int * inneriter,
61 /*! \brief Nonbonded kernel 332 without forces, optimized for sse.
65 * <b>Coulomb interaction:</b> Tabulated <br>
66 * <b>VdW interaction:</b> Tabulated <br>
67 * <b>Water optimization:</b> Pairs of SPC/TIP3P waters interaction <br>
68 * <b>Forces calculated:</b> No <br>
70 * \note All level1 and level2 nonbonded kernels use the same
71 * call sequence. Parameters are documented in nb_kernel.h
74 nb_kernel332nf_sse2_single(int * nri, int iinr[], int jindex[],
75 int jjnr[], int shift[], float shiftvec[],
76 float fshift[], int gid[], float pos[],
77 float faction[], float charge[], float * facel,
78 float * krf, float * crf, float Vc[],
79 int type[], int * ntype, float vdwparam[],
80 float Vvdw[], float * tabscale, float VFtab[],
81 float invsqrta[], float dvda[], float * gbtabscale,
82 float GBtab[], int * nthreads, int * count,
83 void * mtx, int * outeriter,int * inneriter,
92 #endif /* _NB_KERNEL332_SSE2_SINGLE_H_ */