added Verlet scheme and NxN non-bonded functionality
[alexxy/gromacs.git] / src / mdlib / nbnxn_kernels / nbnxn_kernel_x86_simd_includes.h
1 /* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
2  *
3  *
4  *                This source code is part of
5  *
6  *                 G   R   O   M   A   C   S
7  *
8  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
9  * Copyright (c) 2001-2009, The GROMACS Development Team
10  *
11  * Gromacs is a library for molecular simulation and trajectory analysis,
12  * written by Erik Lindahl, David van der Spoel, Berk Hess, and others - for
13  * a full list of developers and information, check out http://www.gromacs.org
14  *
15  * This program is free software; you can redistribute it and/or modify it under
16  * the terms of the GNU Lesser General Public License as published by the Free
17  * Software Foundation; either version 2 of the License, or (at your option) any
18  * later version.
19  * As a special exception, you may use this file as part of a free software
20  * library without restriction.  Specifically, if other files instantiate
21  * templates or use macros or inline functions from this file, or you compile
22  * this file and link it with other files to produce an executable, this
23  * file does not by itself cause the resulting executable to be covered by
24  * the GNU Lesser General Public License.
25  *
26  * In plain-speak: do not worry about classes/macros/templates either - only
27  * changes to the library have to be LGPL, not an application linking with it.
28  *
29  * To help fund GROMACS development, we humbly ask that you cite
30  * the papers people have written on it - you can find them on the website!
31  */
32
33 /* This files includes all x86 SIMD kernel flavors.
34  * Only the Electrostatics type and optionally the VdW cut-off check
35  * need to be set before including this file.
36  */
37
38 /* Include the force+energy kernels */
39 #define CALC_ENERGIES
40 #define LJ_COMB_GEOM
41 #include "nbnxn_kernel_x86_simd_outer.h"
42 #undef LJ_COMB_GEOM
43 #define LJ_COMB_LB
44 #include "nbnxn_kernel_x86_simd_outer.h"
45 #undef LJ_COMB_LB
46 #include "nbnxn_kernel_x86_simd_outer.h"
47 #undef CALC_ENERGIES
48
49 /* Include the force+energygroups kernels */
50 #define CALC_ENERGIES
51 #define ENERGY_GROUPS
52 #define LJ_COMB_GEOM
53 #include "nbnxn_kernel_x86_simd_outer.h"
54 #undef LJ_COMB_GEOM
55 #define LJ_COMB_LB
56 #include "nbnxn_kernel_x86_simd_outer.h"
57 #undef LJ_COMB_LB
58 #include "nbnxn_kernel_x86_simd_outer.h"
59 #undef ENERGY_GROUPS
60 #undef CALC_ENERGIES
61
62 /* Include the force only kernels */
63 #define LJ_COMB_GEOM
64 #include "nbnxn_kernel_x86_simd_outer.h"
65 #undef LJ_COMB_GEOM
66 #define LJ_COMB_LB
67 #include "nbnxn_kernel_x86_simd_outer.h"
68 #undef LJ_COMB_LB
69 #include "nbnxn_kernel_x86_simd_outer.h"