Hard-code fewer things in table code
authorMark Abraham <mark.j.abraham@gmail.com>
Fri, 4 Sep 2015 13:47:30 +0000 (15:47 +0200)
committerGerrit Code Review <gerrit@gerrit.gromacs.org>
Tue, 29 Sep 2015 09:27:54 +0000 (11:27 +0200)
commitdc9cb52ca970747937509b396c00270ea8c2294c
tree03493b810e021b5f7bbdf74ca6ceaadb63a40796
parent86a807fe315cbd3db151d0613b2b3ebb8dc58ce4
Hard-code fewer things in table code

Attempts to extend the table support to extend to the Verlet scheme
have broken several parts of the code that magically depend on etiNR
having the value 3. It's not worth fixing e.g. all the group-scheme
kernels, but some parts of the code that might outlive the group
scheme are worth some clarifying maintenance.

In principle, this change might make short-range free-energy and 1-4
kernels run slightly slower, but these are not important enough to
worry about here, given the broader issues.

Added some TODOs and token assertions in code where we use tables that
hard-code such assumptions. A cppcheck suppression was required to
let us assert on the equality of two constants that are required to
be equal.

Change-Id: Id73a4306e1b9bbe0b419aceafa6d5de89782fb85
src/gromacs/gmxlib/nonbonded/nb_free_energy.c
src/gromacs/gmxlib/nonbonded/nonbonded.c
src/gromacs/legacyheaders/tables.h
src/gromacs/listed-forces/pairs.cpp
src/gromacs/mdlib/sim_util.cpp
src/gromacs/mdlib/tables.c