# NOTE: when releasing the "-dev" suffix needs to be stripped off!
# REGRESSIONTEST_VERSION and REGRESSIONTEST_BRANCH should always be
# defined.
-set(PROJECT_VERSION "5.0.1-dev")
+set(PROJECT_VERSION "5.1-dev")
# If this is a released tarball, "-dev" will not be present in
# PROJECT_VERSION, and REGRESSIONTEST_VERSION specifies the version
# number of the regressiontest tarball against which the code tarball
# PROJECT_VERSION, and REGRESSIONTEST_BRANCH specifies the name of the
# gerrit.gromacs.org branch whose HEAD can test this code, *if* this
# code contains all recent fixes from the corresponding code branch.
-set(REGRESSIONTEST_BRANCH "refs/heads/release-5-0")
+set(REGRESSIONTEST_BRANCH "refs/heads/master")
set(CUSTOM_VERSION_STRING ""
CACHE STRING "Custom version string (if empty, use hard-coded default)")
set(LIBRARY_VERSION ${LIBRARY_SOVERSION}.0.0)
# It is a bit irritating, but this has to be set separately for now!
SET(CPACK_PACKAGE_VERSION_MAJOR "5")
-SET(CPACK_PACKAGE_VERSION_MINOR "0")
+SET(CPACK_PACKAGE_VERSION_MINOR "1")
#SET(CPACK_PACKAGE_VERSION_PATCH "0")
# The numerical gromacs version. It is 40600 for 4.6.0.
endif()
include(gmxBuildTypeReference)
+include(gmxBuildTypeProfile)
include(gmxBuildTypeTSAN)
include(gmxBuildTypeASAN)
include(gmxBuildTypeReleaseWithAssert)
if(NOT CMAKE_BUILD_TYPE)
- set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel Reference RelWithAssert." FORCE)
+ set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the type of build, options are: Debug Release RelWithDebInfo MinSizeRel Reference RelWithAssert Profile." FORCE)
# There's no need to offer a user the choice of ThreadSanitizer
# Set the possible values of build type for cmake-gui
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release"
- "MinSizeRel" "RelWithDebInfo" "Reference" "RelWithAssert")
+ "MinSizeRel" "RelWithDebInfo" "Reference" "RelWithAssert" "Profile")
endif()
if(CMAKE_CONFIGURATION_TYPES)
# Add appropriate GROMACS-specific build types for the Visual
"List of configuration types"
FORCE)
endif()
-set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBUGINFO RELWITHASSERT MINSIZEREL)
+set(build_types_with_explicit_flags RELEASE DEBUG RELWITHDEBUGINFO RELWITHASSERT MINSIZEREL PROFILE)
enable_language(C)
enable_language(CXX)
--- /dev/null
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2014, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+# Custom build type "Profile", based on "RelWithAssert".
+set( CMAKE_C_FLAGS_PROFILE "${CMAKE_C_FLAGS_RELEASE_INIT} -pg" CACHE STRING "C flags for profile builds.")
+set( CMAKE_CXX_FLAGS_PROFILE "${CMAKE_CXX_FLAGS_RELEASE_INIT} -pg" CACHE STRING "C++ flags for profile builds.")
+set( CMAKE_LD_FLAGS_PROFILE "${CMAKE_LD_FLAGS_RELEASE_INIT} -pg" CACHE STRING "Linking flags for profile builds.")
+mark_as_advanced( CMAKE_CXX_FLAGS_PROFILE CMAKE_C_FLAGS_PROFILE CMAKE_LD_FLAGS_PROFILE)
+
# be set up elsewhere and passed to this function, but it is
# inconvenient in CMake to pass more than one list, and such a
# list is only used here.
- foreach(build_type RELWITHDEBUGINFO RELWITHASSERT MINSIZEREL)
+ foreach(build_type RELWITHDEBUGINFO RELWITHASSERT MINSIZEREL PROFILE)
set(GMXC_${language}FLAGS_${build_type} "${GMXC_${language}FLAGS_RELEASE}")
endforeach()
# Copy the flags that are only used by the real Release build
# Since 4.8 on by default. For previous version disabling is a no-op. Only disabling for Release because with assert
# the warnings are OK.
GMX_TEST_CFLAG(CFLAGS_WARN_REL "-Wno-array-bounds" GMXC_CFLAGS_RELEASE_ONLY)
- # Since gcc 4.8 strict - false postives with old gmx_fatal. TODO: Remove in master
- GMX_TEST_CFLAG(CFLAGS_WARN_UNINIT "-Wno-maybe-uninitialized" GMXC_CFLAGS)
# new in gcc 4.5
GMX_TEST_CFLAG(CFLAGS_EXCESS_PREC "-fexcess-precision=fast" GMXC_CFLAGS_RELEASE)
- GMX_TEST_CFLAG(CFLAGS_COPT "-fomit-frame-pointer -funroll-all-loops"
+ GMX_TEST_CFLAG(CFLAGS_COPT "-funroll-all-loops"
GMXC_CFLAGS_RELEASE)
GMX_TEST_CFLAG(CFLAGS_NOINLINE "-fno-inline" GMXC_CFLAGS_DEBUG)
endif()
GMX_TEST_CFLAG(CXXFLAGS_WARN_REL "-Wno-array-bounds" GMXC_CXXFLAGS_RELEASE_ONLY)
# new in gcc 4.5
GMX_TEST_CXXFLAG(CXXFLAGS_EXCESS_PREC "-fexcess-precision=fast" GMXC_CXXFLAGS_RELEASE)
- GMX_TEST_CXXFLAG(CXXFLAGS_COPT "-fomit-frame-pointer -funroll-all-loops"
+ GMX_TEST_CXXFLAG(CXXFLAGS_COPT "-funroll-all-loops"
GMXC_CXXFLAGS_RELEASE)
GMX_TEST_CXXFLAG(CXXFLAGS_NOINLINE "-fno-inline" GMXC_CXXFLAGS_DEBUG)
endif()
fun:gmx_fio_fopen
}
{
- new_symbuf
+ put_symtab
Memcheck:Leak
...
- fun:new_symbuf
+ fun:put_symtab
}
{
bTimeSet/tMPI_Thread_mutex_init_once
@CMAKE_SOURCE_DIR@/src/gromacs/selection/parser.h \
@CMAKE_SOURCE_DIR@/src/gromacs/selection/scanner.cpp @NB_KERNEL_DIRS_TO_IGNORE_IN_DOXYGEN@
EXCLUDE_SYMBOLS = YY* yy* _gmx_sel_yy*
+EXCLUDE_SYMBOLS += __STDC*
EXCLUDE_SYMBOLS += TEST TEST_F TEST_P TYPED_TEST_CASE TYPED_TEST INSTANTIATE_TEST_CASE_P
EXCLUDE_SYMBOLS += MOCK_METHOD* MOCK_CONST_METHOD*
FULL_PATH_NAMES = YES
# TODO: Add rule to exclude examples from this check
if fileobj.is_installed():
reporter.file_error(fileobj, "source file is installed")
- if fileobj.get_documentation_type() != DocType.internal:
+ if fileobj.get_doc_type() != DocType.internal:
reporter.file_error(fileobj,
"source file documentation appears outside full documentation")
elif fileobj.get_api_type() != DocType.internal:
elif fileobj.is_test_file() and fileobj.is_installed():
reporter.file_error(fileobj, "test file is installed")
elif fileobj.is_installed():
- if fileobj.get_documentation_type() != DocType.public:
+ if fileobj.get_doc_type() != DocType.public:
reporter.file_error(fileobj,
"public header has non-public documentation")
- elif fileobj.get_documentation_type() == DocType.public:
+ elif fileobj.get_doc_type() == DocType.public:
reporter.file_error(fileobj,
"non-installed header has public documentation")
elif fileobj.get_api_type() == DocType.public:
reporter.file_error(fileobj,
"non-installed header specified as part of public API")
- elif fileobj.get_documentation_type() < fileobj.get_api_type():
+ elif fileobj.get_doc_type() < fileobj.get_api_type():
reporter.file_error(fileobj,
"API type ({0}) conflicts with documentation visibility ({1})"
- .format(fileobj.get_api_type(), fileobj.get_documentation_type()))
+ .format(fileobj.get_api_type(), fileobj.get_doc_type()))
if not fileobj.has_brief_description():
reporter.file_error(fileobj,
filemodule = fileobj.get_module()
othermodule = otherfile.get_module()
if fileobj.is_documented() and otherfile.is_documented():
- filetype = fileobj.get_documentation_type()
- othertype = otherfile.get_documentation_type()
+ filetype = fileobj.get_doc_type()
+ othertype = otherfile.get_doc_type()
if filetype > othertype:
reporter.code_issue(includedfile,
"{0} file includes {1} file {2}"
.format(filetype, othertype, includedfile))
- check_api = (othermodule and othermodule.is_documented() and
- filemodule != othermodule)
+ check_api = (otherfile.api_type_is_reliable() and filemodule != othermodule)
if check_api and otherfile.get_api_type() < DocType.library:
reporter.code_issue(includedfile,
"included file {0} is not documented as exposed outside its module"
"""Check documentation for a class/struct/union."""
check_entity(classobj, reporter)
if classobj.is_documented():
- classtype = classobj.get_documentation_type()
- filetype = classobj.get_file_documentation_type()
+ classtype = classobj.get_doc_type()
+ filetype = classobj.get_file_doc_type()
if classtype == DocType.public and not classobj.is_in_installed_file():
reporter.doc_error(classobj,
"has public documentation, but is not in installed header")
"is in {0} file(s), but appears in {1} documentation"
.format(filetype, classtype))
-def check_member(member, reporter):
+def check_member(member, reporter, check_ignored):
"""Check documentation for a generic member."""
check_entity(member, reporter)
if member.is_documented():
- if not member.is_visible():
- # TODO: This is triggered by members in anonymous namespaces.
+ if check_ignored and not member.is_visible():
reporter.doc_note(member,
"is documented, but is ignored by Doxygen, because its scope is not documented")
if member.has_inbody_description():
parser.add_option('--ignore',
help='Set file with patterns for messages to ignore')
parser.add_option('--check-ignored', action='store_true',
- help='Check documentation ignored by Doxygen')
+ help='Issue notes for comments ignored by Doxygen')
parser.add_option('-q', '--quiet', action='store_true',
help='Do not write status messages')
options, args = parser.parse_args()
check_class(classobj, reporter)
for memberobj in tree.get_members():
- if memberobj.is_visible() or options.check_ignored:
- check_member(memberobj, reporter)
+ check_member(memberobj, reporter, options.check_ignored)
reporter.write_pending()
reporter.report_unused_filters()
def __init__(self, name, refid):
Entity.__init__(self, name, refid)
self._parents = set()
+ self._class = None
+ self._namespace = None
+ self._files = set()
+ self._group = None
self._location = None
self._alternates = set()
self._loaded = False
def add_parent_compound(self, compound):
"""Add a compound that contains this member."""
self._parents.add(compound)
+ if isinstance(compound, Class):
+ assert self._class is None
+ self._class = compound
+ elif isinstance(compound, Namespace):
+ assert self._namespace is None
+ self._namespace = compound
+ elif isinstance(compound, File):
+ self._files.add(compound)
+ elif isinstance(compound, Group):
+ assert self._group is None
+ self._group = compound
+ else:
+ assert False
- def _get_raw_location(self):
- """Returns the BodyLocation object associated with this member.
+ def merge_definition(self, definition):
+ """Merge another member into this.
- This is necessary so that EnumValue can override it report a non-empty
- location: Doxygen doesn't provide any location for <enumvalue>.
+ See DocumentationSet.merge_duplicates().
"""
- return self._location
-
- def get_parent_compounds(self):
- return self._parents
-
- def get_inherited_visibility(self):
- return max([parent.get_visibility() for parent in self._parents])
-
- def is_visible(self):
- return self.get_inherited_visibility() != DocType.none
-
- def has_same_body_location(self):
- return self._get_raw_location().has_same_body_location()
-
- def get_reporter_location(self):
- return self._get_raw_location().get_reporter_location()
-
- def get_location(self):
- return self._get_raw_location().get_location()
-
- def get_body_location(self):
- return self._get_raw_location().get_body_location()
-
- def merge_definition(self, definition):
+ assert self._class is None
+ assert definition._class is None
+ assert self._group == definition._group
+ assert self._namespace == definition._namespace
self._parents.update(definition._parents)
+ self._files.update(definition._files)
self._alternates.add(definition)
def load_details_from_element(self, rootelem, xmlpath):
"""
return False
+ def _get_raw_location(self):
+ """Returns the BodyLocation object associated with this member.
+
+ This is necessary so that EnumValue can override it report a non-empty
+ location: Doxygen doesn't provide any location for <enumvalue>.
+ """
+ return self._location
+
+ def get_reporter_location(self):
+ return self._get_raw_location().get_reporter_location()
+
+ def get_location(self):
+ """Return main location for the member.
+
+ This typically corresponds to the declaration.
+ """
+ return self._get_raw_location().get_location()
+
+ def get_body_location(self):
+ """Return location of the body for the member.
+
+ Some types of members do not have a body location, in which case this
+ returns None.
+ """
+ return self._get_raw_location().get_body_location()
+
+ def has_same_body_location(self):
+ """Check whether the main location is the same as body location."""
+ return self._get_raw_location().has_same_body_location()
+
+ def get_namespace(self):
+ return self._namespace
+
+ def get_parent_compounds(self):
+ return self._parents
+
+ def get_inherited_visibility(self):
+ return max([parent.get_visibility() for parent in self._parents])
+
def show(self):
self.show_base()
+ if self._alternates:
+ idlist = [x.get_id() for x in self._alternates]
+ print 'Alt. IDs: {0}'.format(', '.join(idlist))
print 'Parent vis: {0}'.format(self.get_inherited_visibility())
print 'Location: {0}'.format(self.get_location().get_full_string())
print 'Body loc: {0}'.format(self.get_body_location().get_full_string())
contains references to contained compounds, and details of all members
within the compound.
"""
+
def __init__(self, name, refid):
Entity.__init__(self, name, refid)
self._members = dict()
def get_reporter_location(self):
return self._doclocation.get_reporter_location()
+ def is_anonymous(self):
+ return 'anonymous_namespace{' in self.get_name()
+
def show(self):
self.show_base()
print 'Doc. loc.: {0}'.format(self._doclocation.get_full_string())
def merge_duplicates(self):
"""Merge duplicate member definitions based on body location.
- At least for functions that are declared in a header, but have their
- body in a source file, Doxygen seems to create two different IDs, but
- the contents of the members are the same, except for the location
+ At least for some functions that are declared in a header, but have
+ their body in a source file, Doxygen seems to create two different IDs,
+ but the contents of the members are the same, except for the location
attribute. This method merges members that have identical name and
body location into a single member that keeps the information from both
instances (they should only differ in the location attribute and in
def get_groups(self, name):
return self.get_compounds(Group, lambda x: x.get_name() in name)
- def get_namespaces(self, name):
- return self.get_compounds(Namespace, lambda x: x.get_name() in name)
+ def get_namespaces(self, name=None):
+ if name:
+ return self.get_compounds(Namespace, lambda x: x.get_name() in name)
+ else:
+ return self.get_compounds(Namespace)
def get_classes(self, name=None):
if name:
def get_name(self):
return os.path.basename(self._abspath)
- def get_documentation_type(self):
+ def get_doc_type(self):
if not self._rawdoc:
return DocType.none
return self._rawdoc.get_visibility()
def get_api_type(self):
return self._apitype
+ def api_type_is_reliable(self):
+ if self._apitype > DocType.internal:
+ return True
+ module = self.get_module()
+ return module and module.is_documented()
+
+ def is_public(self):
+ if self.api_type_is_reliable():
+ return self.get_api_type() == DocType.public
+ return self.get_api_type() == DocType.public or self.is_installed()
+
+ def is_module_internal(self):
+ if self.is_source_file():
+ return True
+ return not self.is_installed() and self.get_api_type() <= DocType.internal
+
def get_expected_module(self):
return self._dir.get_module()
def get_group(self):
return self._group
+class Namespace(object):
+
+ """Namespace in the GROMACS source code."""
+
+ def __init__(self, rawdoc):
+ self._rawdoc = rawdoc
+
+ def is_anonymous(self):
+ return self._rawdoc.is_anonymous()
class Class(object):
def has_brief_description(self):
return self._rawdoc.has_brief_description()
- def get_documentation_type(self):
+ def get_doc_type(self):
+ """Return documentation type (visibility) for the class.
+
+ In addition to the actual code, this encodes GROMACS-specific logic
+ of setting EXTRACT_LOCAL_CLASSES=YES only for the full documentation.
+ Local classes never appear outside the full documentation, no matter
+ what is their visibility.
+ """
if not self.is_documented():
return DocType.none
if self._rawdoc.is_local():
return DocType.internal
return self._rawdoc.get_visibility()
- def get_file_documentation_type(self):
- return max([fileobj.get_documentation_type() for fileobj in self._files])
+ def get_file_doc_type(self):
+ return max([fileobj.get_doc_type() for fileobj in self._files])
def is_in_installed_file(self):
return any([fileobj.is_installed() for fileobj in self._files])
+class Member(object):
+
+ """Member (in Doxygen terminology) in the GROMACS source tree.
+
+ Currently, modeling is limited to the minimal set of properties that the
+ checker uses.
+ """
+
+ def __init__(self, rawdoc, namespace):
+ self._rawdoc = rawdoc
+ self._namespace = namespace
+
+ def get_name(self):
+ return self._rawdoc.get_name()
+
+ def get_reporter_location(self):
+ return self._rawdoc.get_reporter_location()
+
+ def is_documented(self):
+ return self._rawdoc.is_documented()
+
+ def has_brief_description(self):
+ return self._rawdoc.has_brief_description()
+
+ def has_inbody_description(self):
+ return self._rawdoc.has_inbody_description()
+
+ def is_visible(self):
+ """Return whether the member is visible in Doxygen documentation.
+
+ Doxygen ignores members whose parent compounds are not documented.
+ However, when EXTRACT_ANON_NPACES=ON (which is set for our full
+ documentation), members of anonymous namespaces are extracted even if
+ the namespace is the only parent and is not documented.
+ """
+ if self._namespace and self._namespace.is_anonymous():
+ return True
+ return self._rawdoc.get_inherited_visibility() != DocType.none
+
+
class GromacsTree(object):
"""Root object for navigating the GROMACS source tree.
self._files = dict()
self._modules = dict()
self._classes = set()
+ self._namespaces = set()
+ self._members = set()
self._walk_dir(os.path.join(self._source_root, 'src'))
rootdir = self._get_dir(os.path.join('src', 'gromacs'))
for subdir in rootdir.get_subdirectories():
self._load_modules()
self._load_files()
if not only_files:
+ self._load_namespaces()
self._load_classes()
+ self._load_members()
def _load_dirs(self):
"""Load Doxygen XML directory information."""
fileobj.set_doc_xml(filedoc, self)
self._docmap[filedoc] = fileobj
+ def _load_namespaces(self):
+ """Load Doxygen XML namespace information."""
+ nsdocs = self._docset.get_namespaces()
+ for nsdoc in nsdocs:
+ nsobj = Namespace(nsdoc)
+ self._docmap[nsdoc] = nsobj
+ self._namespaces.add(nsobj)
+
def _load_classes(self):
"""Load Doxygen XML class information."""
classdocs = self._docset.get_classes()
self._docmap[classdoc] = classobj
self._classes.add(classobj)
+ def _load_members(self):
+ """Load Doxygen XML member information."""
+ memberdocs = self._docset.get_members()
+ for memberdoc in memberdocs:
+ nsdoc = memberdoc.get_namespace()
+ nsobj = self.get_object(nsdoc)
+ memberobj = Member(memberdoc, nsobj)
+ self._docmap[memberdoc] = memberobj
+ self._members.add(memberobj)
+
def _get_dir(self, relpath):
"""Get directory object for a path relative to source tree root."""
return self._dirs.get(relpath)
def get_object(self, docobj):
"""Get tree object for a Doxygen XML object."""
+ if docobj is None:
+ return None
return self._docmap.get(docobj)
def get_files(self):
def get_members(self):
"""Get iterable for all members (in Doxygen terms) in the source tree."""
- # TODO: Add wrappers to solve some issues.
- return self._docset.get_members()
+ return self._members
gmxtree.
"""
intramodule = (fromfile.get_module() == tofile.get_module())
- is_legacy = not tofile.get_module().is_documented()
+ is_legacy = not tofile.api_type_is_reliable()
if fromfile.get_module() == tofile.get_module():
edgetype = EdgeType.intramodule
- elif tofile.get_api_type() == DocType.internal:
+ elif tofile.get_api_type() == DocType.internal and not tofile.is_public():
if is_legacy:
edgetype = EdgeType.legacy
else:
edgetype = EdgeType.test
elif tofile.is_test_file():
edgetype = EdgeType.undocumented
- elif fromfile.is_source_file() or \
- (fromfile.get_api_type() <= DocType.internal and \
- not fromfile.is_installed()):
- if tofile.get_api_type() == DocType.public:
+ elif fromfile.is_module_internal():
+ if tofile.is_public():
edgetype = EdgeType.pubimpl
elif tofile.get_api_type() == DocType.library:
edgetype = EdgeType.libimpl
- elif is_legacy or not tofile.is_documented():
+ elif is_legacy:
edgetype = EdgeType.legacy
+ elif not tofile.is_documented():
+ edgetype = EdgeType.undocumented
else:
raise ValueError('Unknown edge type between {0} and {1}'
- .format(fromfile.path, tofile.path))
+ .format(fromfile.get_relpath(), tofile.get_relpath()))
elif fromfile.get_api_type() == DocType.library:
edgetype = EdgeType.library
- elif fromfile.get_api_type() == DocType.public or fromfile.is_installed():
- if tofile.get_api_type() == DocType.public or \
- tofile.get_documentation_type() == DocType.public or \
- (tofile.is_installed() and not tofile.is_documented()):
+ elif fromfile.is_public() or fromfile.is_installed():
+ if tofile.is_public() or tofile.is_installed():
edgetype = EdgeType.public
else:
edgetype = EdgeType.undocumented
+ elif is_legacy:
+ edgetype = EdgeType.legacy
else:
raise ValueError('Unknown edge type between {0} and {1}'
- .format(fromfile.path, tofile.path))
+ .format(fromfile.get_relpath(), tofile.get_relpath()))
return Edge(filenodes[fromfile], filenodes[tofile], edgetype)
def _create_file_edges(self, filenodes):
edges.append(edge)
return edges
+ def _get_module_color(self, modulegroup):
+ if modulegroup == 'legacy':
+ return 'fillcolor=grey75'
+ elif modulegroup == 'analysismodules':
+ return 'fillcolor="0 .2 1"'
+ elif modulegroup == 'utilitymodules':
+ return 'fillcolor=".08 .2 1"'
+ elif modulegroup == 'mdrun':
+ return 'fillcolor=".75 .2 1"'
+ return None
+
def _create_module_node(self, module, filenodes):
"""Create node for a module.
properties.append('shape=ellipse')
properties.append('URL="\\ref module_{0}"'.format(module.get_name()))
if not module.is_documented():
+ fillcolor = self._get_module_color('legacy')
+ else:
+ fillcolor = self._get_module_color(module.get_group())
+ if fillcolor:
style.append('filled')
- properties.append('fillcolor=grey75')
- elif module.get_group() == 'analysismodules':
- style.append('filled')
- properties.append('fillcolor="0 .2 1"')
- elif module.get_group() == 'utilitymodules':
- style.append('filled')
- properties.append('fillcolor=".08 .2 1"')
- elif module.get_group() == 'mdrun':
- style.append('filled')
- properties.append('fillcolor=".75 .2 1"')
+ properties.append(fillcolor)
rootdir = module.get_root_dir()
if rootdir.has_installed_files():
properties.append('color=".66 .5 1"')
node.add_child(self._create_file_node(childfile, filenodes))
return node
+ def _create_legend_node(self, label, modulegroup):
+ if modulegroup:
+ nodename = 'legend_' + modulegroup
+ fillcolor = self._get_module_color(modulegroup)
+ else:
+ nodename = 'legend_' + label
+ fillcolor = None
+ style = []
+ properties = []
+ if fillcolor:
+ style.append('filled')
+ properties.append(fillcolor)
+ return Node(nodename, label, style, properties)
+
def create_modules_graph(self):
"""Create module dependency graph."""
filenodes = dict()
nodes.append(node)
modulenodes.append(node)
edges = self._create_file_edges(filenodes)
+ # TODO: Consider adding invisible edges to order the nodes better.
+ # TODO: Consider adding legend for the edge types as well.
+ legendnode = Node('legend', 'legend')
+ legendnode.add_child(self._create_legend_node('legacy', 'legacy'))
+ legendnode.add_child(self._create_legend_node('analysis', 'analysismodules'))
+ legendnode.add_child(self._create_legend_node('utility', 'utilitymodules'))
+ legendnode.add_child(self._create_legend_node('mdrun', 'mdrun'))
+ legendnode.add_child(Node('legend_installed', 'installed', properties=['color=".66 .5 1"', 'penwidth=3']))
+ nodes.append(legendnode)
graph = Graph(nodes, edges)
for node in modulenodes:
graph.collapse_node(node)
So, you want to build the manual? This is now easy.
1. Configure the main GROMACS repo with GMX_BUILD_MANUAL=on
-2. cmake will run some detection about whetehr this is possible
+2. cmake will run some detection about whether this is possible
3. Later, use "make manual," which will build GROMACS in the
usual way, and use the generated binaries to build the manual.
@Article{PSmith93c,
author = {P. E. Smith and W. F. van Gunsteren},
title = {{The Viscosity of SPC and SPC/E Water}},
- journal = BTcpc,
+ journal = BTcpl,
year = 1993,
volume = 215,
pages = {315--318}
-413
+414
If You Want Something Done You Have to Do It Yourself_(Highlander II)
I Live the Life They Wish They Did_(Tricky)
Jesus Built My Hotrod_(Ministry)
It was something to at least have a choice of nightmares_(Joseph Conrad)
You fight, work, sweat, nearly kill yourself, sometimes you do kill yourself, trying to accomplish something - and you can't._(Joseph Conrad)
And after some more talk we agreed that the wisdom of rats had been grossly overrated, being in fact no greater than that of men_(Joseph Conrad)
+It's an easy game, just don't let the ball past!_(Szilard Pall)
The soul? There's nothing but chemistry here_(Breaking Bad)
You got one part of that wrong. This is not meth._(Breaking Bad)
It's easy to remember: a half a kT is equal to five fourths of a kJ/mol._(Anders Gabrielsson)
... and that dream of dreams, a computational model that predicts everything accurately._(Roald Hoffmann)
You see it through a charmed medium: you can not discern that the gilding is slime and the silk draperies cobwebs; that the marble is sordid slate, and the polished woods mere refuse chips and scale bark._(Mr. Rochester in Jane Eyre by Charlotte Bronte)
I know poetry is not dead, nor genius lost; nor has Mammon gained power over either, to bind or slay; they will both assert their existence, their presence, their liberty and strength again one day._(Jane Eyre in Jane Eyre by Charlotte Bronte)
-
K Ion
NA Ion
CA Ion
-MK Ion
+MG Ion
CL Ion
ZN Ion
CU1 Ion
#include <stdio.h>
#include <string.h>
#include <math.h>
-#include "main.h"
+
#include "macros.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
-#include "sysstuff.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/fileio/xtcio.h"
#include "gromacs/fileio/enxio.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trnio.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
static char *nm[5] = { "OW", "HW1", "HW2", "DW", "SW" };
#endif
#include "typedefs.h"
-#include "main.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "txtdump.h"
void calc_force(int natom,rvec f[],rvec fff[])
#include "ns.h"
#include "gromacs/utility/smalloc.h"
#include "wnblist.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
#include "gromacs/fileio/confio.h"
-#include "pbc.h"
-#include "vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/math/vec.h"
int main(int argc,char *argv[])
{
#include <config.h>
#endif
-#include "sysstuff.h"
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "mshift.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
#include "gromacs/fileio/pdbio.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
-#include "gromacs/fileio/matio.h"
-#include "index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/topology/index.h"
#include "gstat.h"
#include "gromacs/fileio/tpxio.h"
#include "viewit.h"
#include "gbutil.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/gmxfio.h"
#include <stdlib.h>
#include "errno.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/cstringutil.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "mshift.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
#include "gromacs/fileio/confio.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/fileio/xvgr.h"
#include "gstat.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/pdbio.h"
void cat(FILE *out,char *fn,real t)
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "random.h"
#include "gromacs/fileio/pdbio.h"
-#include "gromacs/fileio/futil.h"
-#include "physics.h"
-#include "xvgr.h"
-#include "vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/math/units.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
#include "names.h"
#include "ehdata.h"
#include "gromacs/fileio/pdbio.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "random.h"
#include "gromacs/fileio/strdb.h"
-#include "gromacs/fileio/futil.h"
-#include "physics.h"
+#include "gromacs/utility/futil.h"
#include "ehdata.h"
typedef struct {
#include "macros.h"
#include "copyrite.h"
#include "gromacs/commandline/pargs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "random.h"
#include "gromacs/fileio/pdbio.h"
-#include "gromacs/fileio/futil.h"
-#include "physics.h"
-#include "xvgr.h"
-#include "vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "names.h"
#include "ehdata.h"
#include <config.h>
#endif
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gromacs/commandline/pargs.h"
#include "random.h"
#include "names.h"
#include "gromacs/fileio/matio.h"
-#include "physics.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "copyrite.h"
-#include "xvgr.h"
-#include "index.h"
#include "gromacs/fileio/tpxio.h"
int main(int argc,char *argv[])
#include "copyrite.h"
#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/commandline/pargs.h"
#include "coulomb.h"
#include <math.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "copyrite.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/tpxio.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/smalloc.h"
#include "nrnb.h"
#include "gstat.h"
-#include "gromacs/fileio/matio.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define G_REF1 0
#include <stdio.h>
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gmx_random.h"
#include "gmx_statistics.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
-#include "symtab.h"
#include "gromacs/utility/smalloc.h"
-#include "symtab.h"
+#include "gromacs/topology/symtab.h"
#include "macros.h"
#include "copyrite.h"
#include "gromacs/commandline/pargs.h"
-#include "index.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "gbutil.h"
-#include "physics.h"
-#include "atomprop.h"
+#include "gromacs/math/units.h"
void copy_atom(t_symtab *tab,t_atoms *a1,int i1,t_atoms *a2,int i2,
rvec xin[],rvec xout[],rvec vin[],rvec vout[])
#include "macros.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/confio.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
#include "gromacs/fileio/pdbio.h"
#include "typedefs.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "pbc.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/math/units.h"
#include "names.h"
#include "txtdump.h"
#include "gromacs/fileio/trnio.h"
-#include "symtab.h"
+#include "gromacs/topology/symtab.h"
#include "gromacs/fileio/strdb.h"
-#include "atomprop.h"
#include "gromacs/fileio/confio.h"
#define TET 109.47
#include "typedefs.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "pbc.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
#include "names.h"
#include "txtdump.h"
#include "gromacs/fileio/trnio.h"
-#include "symtab.h"
#include "gromacs/fileio/confio.h"
real pot(real x,real qq,real c6,real c12)
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
void my_func(char *msg)
{
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "complex.h"
#include "fftgrid.h"
#include "mdrun.h"
#include <math.h>
#include <string.h>
#include "typedefs.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
#include "macros.h"
#include "names.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/writeps.h"
#include "copyrite.h"
-#include "xvgr.h"
-#include "minvert.h"
#include "pppm.h"
#include "readinp.h"
-#include "main.h"
#include "force.h"
#include "nrnb.h"
#include "coulomb.h"
-#include "mshift.h"
+#include "gromacs/pbcutil/mshift.h"
#include "poisson.h"
#include "mdatoms.h"
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "copyrite.h"
#include "mdrun.h"
#include "main.h"
************************************************************/
-#include "types/simple.h"
-
#ifndef _fftpack_h
#define _fftpack_h
+#include "gromacs/utility/real.h"
+
#ifdef __cplusplus
extern "C" {
#endif
#ifdef __cplusplus
}
#endif
+
#endif
#else
/* Define storage for little-endian or both types of CPUs. */
md5_word_t xbuf[16];
- /* cppcheck-suppress unassignedVariable */
const md5_word_t *X;
#endif
add_subdirectory(random)
add_subdirectory(onlinehelp)
add_subdirectory(options)
+add_subdirectory(pbcutil)
add_subdirectory(timing)
+add_subdirectory(topology)
add_subdirectory(utility)
add_subdirectory(fileio)
add_subdirectory(swap)
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <boost/shared_ptr.hpp>
-#include "../legacyheaders/types/simple.h"
-
#include "../utility/common.h"
namespace gmx
#ifndef GMX_ANALYSISDATA_ANALYSISDATA_H
#define GMX_ANALYSISDATA_ANALYSISDATA_H
+#include "../utility/real.h"
+
#include "abstractdata.h"
namespace gmx
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <vector>
-#include "../legacyheaders/types/simple.h"
-
#include "../utility/arrayref.h"
#include "../utility/flags.h"
#include "../utility/gmxassert.h"
+#include "../utility/real.h"
namespace gmx
{
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_ANALYSISDATA_DATAMODULE_H
#define GMX_ANALYSISDATA_DATAMODULE_H
-#include "../legacyheaders/types/simple.h"
-
namespace gmx
{
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <vector>
-#include "../legacyheaders/types/simple.h"
-
#include "../utility/common.h"
#include "../utility/gmxassert.h"
+#include "../utility/real.h"
#include "dataframe.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_ANALYSISDATA_MODULES_DISPLACEMENT_H
#define GMX_ANALYSISDATA_MODULES_DISPLACEMENT_H
+#include "../../utility/real.h"
+
#include "../abstractdata.h"
#include "../datamodule.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <vector>
-#include "../../legacyheaders/types/simple.h"
-
#include "../../utility/gmxassert.h"
+#include "../../utility/real.h"
namespace gmx
{
#include <boost/shared_ptr.hpp>
#include "gromacs/legacyheaders/oenv.h"
-#include "gromacs/legacyheaders/vec.h"
-#include "gromacs/legacyheaders/xvgr.h"
#include "gromacs/analysisdata/dataframe.h"
#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
#include "gromacs/options/timeunitmanager.h"
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/types/simple.h"
-
#include "gromacs/analysisdata/dataframe.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/real.h"
#include "testutils/refdata.h"
#include <utility>
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/network.h"
#include "gromacs/commandline/cmdlinehelpcontext.h"
#include "gromacs/commandline/cmdlinehelpmodule.h"
#include "gromacs/commandline/cmdlineprogramcontext.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
#include "thread_mpi/mutex.h"
-#include "gromacs/fileio/path.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/file.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/path.h"
#include "gromacs/utility/stringutil.h"
namespace gmx
#include <cstdlib>
#include <cstring>
+#include <algorithm>
+#include <list>
+
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include "thread_mpi/threads.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/network.h"
-
#include "gromacs/commandline/cmdlinehelpcontext.h"
#include "gromacs/commandline/cmdlinehelpwriter.h"
-#include "gromacs/commandline/shellcompletions.h"
+#include "gromacs/commandline/cmdlineparser.h"
#include "gromacs/fileio/timecontrol.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
+#include "gromacs/options/filenameoptionmanager.h"
#include "gromacs/options/options.h"
+#include "gromacs/options/timeunitmanager.h"
#include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/common.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/programcontext.h"
#include "gromacs/utility/smalloc.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
-static void usage(const char *type, const char *arg)
-{
- GMX_ASSERT(arg != NULL, "NULL command-line argument should not occur");
- gmx_fatal(FARGS, "Expected %s argument for option %s\n", type, arg);
-}
-
-/* Scan an int for argument argv[*i] from argument at argv[*i + 1].
- * eg: -p 32. argv[*i] is only used for error reporting.
- * If there is no value, or the conversion is not successful, the
- * routine exits with an error, otherwise it returns the value found.
- * *i is incremented once.
- */
-static int iscan(int argc, char *argv[], int *i)
-{
- const char *const arg = argv[*i];
- if (argc <= (*i)+1)
- {
- usage("an integer", arg);
- }
- const char *const value = argv[++(*i)];
- char *endptr;
- int var = std::strtol(value, &endptr, 10);
- if (*value == '\0' || *endptr != '\0')
- {
- usage("an integer", arg);
- }
- return var;
-}
-
-/* Same as above, but for large integer values */
-static gmx_int64_t istepscan(int argc, char *argv[], int *i)
-{
- const char *const arg = argv[*i];
- if (argc <= (*i)+1)
- {
- usage("an integer", arg);
- }
- const char *const value = argv[++(*i)];
- char *endptr;
- gmx_int64_t var = str_to_int64_t(value, &endptr);
- if (*value == '\0' || *endptr != '\0')
- {
- usage("an integer", arg);
- }
- return var;
-}
-
-/* Routine similar to the above, but working on doubles. */
-static double dscan(int argc, char *argv[], int *i)
-{
- const char *const arg = argv[*i];
- if (argc <= (*i)+1)
- {
- usage("a real", arg);
- }
- const char *const value = argv[++(*i)];
- char *endptr;
- double var = std::strtod(value, &endptr);
- if (*value == '\0' || *endptr != '\0')
- {
- usage("a real", arg);
- }
- return var;
-}
-
-/* Routine similar to the above, but working on strings. The pointer
- * returned is a pointer to the argv field.
- */
-static char *sscan(int argc, char *argv[], int *i)
-{
- if (argc > (*i)+1)
- {
- if ( (argv[(*i)+1][0] == '-') && (argc > (*i)+2) &&
- (argv[(*i)+2][0] != '-') )
- {
- fprintf(stderr, "Possible missing string argument for option %s\n\n",
- argv[*i]);
- }
- }
- else
- {
- usage("a string", argv[*i]);
- }
-
- return argv[++(*i)];
-}
-
-static gmx_bool is_hidden(t_pargs *pa)
-{
- return (strstr(pa->desc, "HIDDEN") != NULL);
-}
-
int nenum(const char *const enumc[])
{
int i;
return i;
}
-/* Read a number of arguments from the command line.
- * For etINT, etREAL and etCHAR an extra argument is read (when present)
- * for etBOOL the gmx_boolean option is changed to the negate value
- */
-static void get_pargs(int *argc, char *argv[], int nparg, t_pargs pa[])
-{
- int i, j, k, match;
- gmx_bool *bKeep;
- char buf[32];
- char *ptr;
-
- snew(bKeep, *argc+1);
- bKeep[0] = TRUE;
- bKeep[*argc] = TRUE;
-
- for (i = 1; (i < *argc); i++)
- {
- bKeep[i] = TRUE;
- for (j = 0; (j < nparg); j++)
- {
- if (pa[j].type == etBOOL)
- {
- sprintf(buf, "-no%s", pa[j].option+1);
- if (strcmp(pa[j].option, argv[i]) == 0)
- {
- *pa[j].u.b = TRUE;
- pa[j].bSet = TRUE;
- bKeep[i] = FALSE;
- }
- else if (strcmp(buf, argv[i]) == 0)
- {
- *pa[j].u.b = FALSE;
- pa[j].bSet = TRUE;
- bKeep[i] = FALSE;
- }
- }
- else if (strcmp(pa[j].option, argv[i]) == 0)
- {
- if (pa[j].bSet)
- {
- fprintf(stderr, "Setting option %s more than once!\n",
- pa[j].option);
- }
- pa[j].bSet = TRUE;
- bKeep[i] = FALSE;
- switch (pa[j].type)
- {
- case etINT:
- *pa[j].u.i = iscan(*argc, argv, &i);
- break;
- case etINT64:
- *pa[j].u.is = istepscan(*argc, argv, &i);
- break;
- case etTIME:
- case etREAL:
- *pa[j].u.r = dscan(*argc, argv, &i);
- break;
- case etSTR:
- *(pa[j].u.c) = sscan(*argc, argv, &i);
- break;
- case etENUM:
- match = -1;
- ptr = sscan(*argc, argv, &i);
- for (k = 1; (pa[j].u.c[k] != NULL); k++)
- {
- /* only check ptr against beginning of
- pa[j].u.c[k] */
- if (gmx_strncasecmp(ptr, pa[j].u.c[k], strlen(ptr)) == 0)
- {
- if ( ( match == -1 ) ||
- ( strlen(pa[j].u.c[k]) <
- strlen(pa[j].u.c[match]) ) )
- {
- match = k;
- }
- }
- }
- if (match != -1)
- {
- pa[j].u.c[0] = pa[j].u.c[match];
- }
- else
- {
- gmx_fatal(FARGS, "Invalid argument %s for option %s",
- ptr, pa[j].option);
- }
- break;
- case etRVEC:
- (*pa[j].u.rv)[0] = dscan(*argc, argv, &i);
- if ( (i+1 == *argc) ||
- ( (argv[i+1][0] == '-') &&
- !isdigit(argv[i+1][1]) ) )
- {
- (*pa[j].u.rv)[1] =
- (*pa[j].u.rv)[2] =
- (*pa[j].u.rv)[0];
- }
- else
- {
- bKeep[i] = FALSE;
- (*pa[j].u.rv)[1] = dscan(*argc, argv, &i);
- if ( (i+1 == *argc) ||
- ( (argv[i+1][0] == '-') &&
- !isdigit(argv[i+1][1]) ) )
- {
- gmx_fatal(FARGS,
- "%s: vector must have 1 or 3 real parameters",
- pa[j].option);
- }
- bKeep[i] = FALSE;
- (*pa[j].u.rv)[2] = dscan(*argc, argv, &i);
- }
- break;
- default:
- gmx_fatal(FARGS, "Invalid type %d in pargs", pa[j].type);
- }
- /* i may be incremented, so set it to not keep */
- bKeep[i] = FALSE;
- }
- }
- }
-
- /* Remove used entries */
- for (i = j = 0; (i <= *argc); i++)
- {
- if (bKeep[i])
- {
- argv[j++] = argv[i];
- }
- }
- (*argc) = j-1;
- sfree(bKeep);
-}
-
int opt2parg_int(const char *option, int nparg, t_pargs pa[])
{
int i;
* parse_common_args()
*/
-static void set_default_time_unit(const char *time_list[], gmx_bool bCanTime)
+namespace gmx
{
- int i = 0;
- const char *select = NULL;
-
- if (bCanTime)
- {
- select = getenv("GMXTIMEUNIT");
- if (select != NULL)
- {
- i = 1;
- while (time_list[i] && strcmp(time_list[i], select) != 0)
- {
- i++;
- }
- }
- }
- if (!bCanTime || select == NULL ||
- time_list[i] == NULL || strcmp(time_list[i], select) != 0)
- {
- /* Set it to the default: ps */
- i = 1;
- while (time_list[i] && strcmp(time_list[i], "ps") != 0)
- {
- i++;
- }
- }
- time_list[0] = time_list[i];
-}
-
-static void set_default_xvg_format(const char *xvg_list[])
+namespace
{
- int i;
- const char *select;
- select = getenv("GMX_VIEW_XVG");
- if (select == NULL)
- {
- /* The default is the first option */
- xvg_list[0] = xvg_list[1];
- }
- else
+/*! \brief
+ * Returns the index of the default xvg format.
+ *
+ * \ingroup module_commandline
+ */
+int getDefaultXvgFormat(gmx::ConstArrayRef<const char *> xvgFormats)
+{
+ const char *const select = getenv("GMX_VIEW_XVG");
+ if (select != NULL)
{
- i = 1;
- while (xvg_list[i] && strcmp(xvg_list[i], select) != 0)
+ ConstArrayRef<const char *>::const_iterator i =
+ std::find(xvgFormats.begin(), xvgFormats.end(), std::string(select));
+ if (i != xvgFormats.end())
{
- i++;
- }
- if (xvg_list[i] != NULL)
- {
- xvg_list[0] = xvg_list[i];
+ return i - xvgFormats.begin();
}
else
{
- xvg_list[0] = xvg_list[exvgNONE];
+ return exvgNONE - 1;
}
}
+ /* The default is the first option */
+ return 0;
}
-static int add_parg(int npargs, t_pargs *pa, t_pargs *pa_add)
-{
- memcpy(&(pa[npargs]), pa_add, sizeof(*pa_add));
-
- return npargs+1;
-}
-
-namespace gmx
-{
-
-namespace
-{
-
/*! \brief
- * Converts a t_filenm option into an Options option.
+ * Conversion helper between t_pargs/t_filenm and Options.
*
- * \param options Options object to add the new option to.
- * \param[in] fnm t_filenm option to convert.
+ * This class holds the necessary mapping between the old C structures and
+ * the new C++ options to allow copying values back after parsing for cases
+ * where the C++ options do not directly provide the type of value required for
+ * the C structures.
*
* \ingroup module_commandline
*/
-void filenmToOptions(Options *options, const t_filenm *fnm)
+class OptionsAdapter
{
+ public:
+ /*! \brief
+ * Initializes the adapter to convert from a specified command line.
+ *
+ * The command line is required, because t_pargs wants to return
+ * strings by reference to the original command line.
+ * OptionsAdapter creates a copy of the `argv` array (but not the
+ * strings) to make this possible, even if the parser removes
+ * options it has recognized.
+ */
+ OptionsAdapter(int argc, const char *const argv[])
+ : argv_(argv, argv + argc)
+ {
+ }
+
+ /*! \brief
+ * Converts a t_filenm option into an Options option.
+ *
+ * \param options Options object to add the new option to.
+ * \param fnm t_filenm option to convert.
+ */
+ void filenmToOptions(Options *options, t_filenm *fnm);
+ /*! \brief
+ * Converts a t_pargs option into an Options option.
+ *
+ * \param options Options object to add the new option to.
+ * \param pa t_pargs option to convert.
+ */
+ void pargsToOptions(Options *options, t_pargs *pa);
+
+ /*! \brief
+ * Copies values back from options to t_pargs/t_filenm.
+ */
+ void copyValues(bool bReadNode);
+
+ private:
+ struct FileNameData
+ {
+ //! Creates a conversion helper for a given `t_filenm` struct.
+ explicit FileNameData(t_filenm *fnm) : fnm(fnm), optionInfo(NULL)
+ {
+ }
+
+ //! t_filenm structure to receive the final values.
+ t_filenm *fnm;
+ //! Option info object for the created FileNameOption.
+ FileNameOptionInfo *optionInfo;
+ //! Value storage for the created FileNameOption.
+ std::vector<std::string> values;
+ };
+ struct ProgramArgData
+ {
+ //! Creates a conversion helper for a given `t_pargs` struct.
+ explicit ProgramArgData(t_pargs *pa)
+ : pa(pa), optionInfo(NULL), enumIndex(0), boolValue(false)
+ {
+ }
+
+ //! t_pargs structure to receive the final values.
+ t_pargs *pa;
+ //! Option info object for the created option.
+ OptionInfo *optionInfo;
+ //! Value storage for a non-enum StringOption (unused for other types).
+ std::string stringValue;
+ //! Value storage for an enum option (unused for other types).
+ int enumIndex;
+ //! Value storage for a BooleanOption (unused for other types).
+ bool boolValue;
+ };
+
+ std::vector<const char *> argv_;
+ // These are lists instead of vectors to avoid relocating existing
+ // objects in case the container is reallocated (the Options object
+ // contains pointes to members of the objects, which would get
+ // invalidated).
+ std::list<FileNameData> fileNameOptions_;
+ std::list<ProgramArgData> programArgs_;
+
+ GMX_DISALLOW_COPY_AND_ASSIGN(OptionsAdapter);
+};
+
+void OptionsAdapter::filenmToOptions(Options *options, t_filenm *fnm)
+{
+ if (fnm->opt == NULL)
+ {
+ // Existing code may use opt2fn() instead of ftp2fn() for
+ // options that use the default option name, so we need to
+ // keep the old behavior instead of fixing opt2fn().
+ // TODO: Check that this is not the case, remove this, and make
+ // opt2*() work even if fnm->opt is NULL for some options.
+ fnm->opt = ftp2defopt(fnm->ftp);
+ }
const bool bRead = ((fnm->flag & ffREAD) != 0);
const bool bWrite = ((fnm->flag & ffWRITE) != 0);
const bool bOptional = ((fnm->flag & ffOPT) != 0);
{
defName = ftp2defnm(fnm->ftp);
}
- // Since we are not (yet) using this for actual parsing, we don't need to
- // set any storage.
- options->addOption(
- FileNameOption(name).defaultBasename(defName).legacyType(fnm->ftp)
- .readWriteFlags(bRead, bWrite).required(!bOptional)
- .libraryFile(bLibrary).multiValue(bMultiple)
- .description(ftp2desc(fnm->ftp)));
+ fileNameOptions_.push_back(FileNameData(fnm));
+ FileNameData &data = fileNameOptions_.back();
+ data.optionInfo = options->addOption(
+ FileNameOption(name).storeVector(&data.values)
+ .defaultBasename(defName).legacyType(fnm->ftp)
+ .legacyOptionalBehavior()
+ .readWriteFlags(bRead, bWrite).required(!bOptional)
+ .libraryFile(bLibrary).multiValue(bMultiple)
+ .description(ftp2desc(fnm->ftp)));
}
-/*! \brief
- * Converts a t_pargs option into an Options option.
- *
- * \param options Options object to add the new option to.
- * \param[in] pa t_pargs option to convert.
- *
- * \ingroup module_commandline
- */
-void pargsToOptions(Options *options, t_pargs *pa)
+void OptionsAdapter::pargsToOptions(Options *options, t_pargs *pa)
{
- const bool bHidden = is_hidden(pa);
+ const bool bHidden = startsWith(pa->desc, "HIDDEN");
const char *const name = &pa->option[1];
const char *const desc = (bHidden ? &pa->desc[6] : pa->desc);
- // Since we are not (yet) using this for actual parsing, we can take some
- // shortcuts and not set any storage where there is no direct
- // correspondence in the types.
+ programArgs_.push_back(ProgramArgData(pa));
+ ProgramArgData &data = programArgs_.back();
switch (pa->type)
{
case etINT:
- options->addOption(
- IntegerOption(name).store(pa->u.i)
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ IntegerOption(name).store(pa->u.i)
+ .description(desc).hidden(bHidden));
return;
case etINT64:
- options->addOption(
- Int64Option(name).store(pa->u.is)
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ Int64Option(name).store(pa->u.is)
+ .description(desc).hidden(bHidden));
return;
case etREAL:
- options->addOption(
- RealOption(name).store(pa->u.r)
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ RealOption(name).store(pa->u.r)
+ .description(desc).hidden(bHidden));
return;
case etTIME:
- options->addOption(
- RealOption(name).store(pa->u.r).timeValue()
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ RealOption(name).store(pa->u.r).timeValue()
+ .description(desc).hidden(bHidden));
return;
case etSTR:
{
const char *const defValue = (*pa->u.c != NULL ? *pa->u.c : "");
- options->addOption(
- StringOption(name).defaultValue(defValue)
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ StringOption(name).store(&data.stringValue)
+ .defaultValue(defValue)
+ .description(desc).hidden(bHidden));
return;
}
case etBOOL:
- options->addOption(
- BooleanOption(name).defaultValue(*pa->u.b)
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ BooleanOption(name).store(&data.boolValue)
+ .defaultValue(*pa->u.b)
+ .description(desc).hidden(bHidden));
return;
case etRVEC:
- options->addOption(
- RealOption(name).store(*pa->u.rv).vector()
- .description(desc).hidden(bHidden));
+ data.optionInfo = options->addOption(
+ RealOption(name).store(*pa->u.rv).vector()
+ .description(desc).hidden(bHidden));
return;
case etENUM:
- options->addOption(
- StringOption(name).defaultEnumIndex(nenum(pa->u.c) - 1)
- .enumValueFromNullTerminatedArray(pa->u.c + 1)
- .description(desc).hidden(bHidden));
+ {
+ const int defaultIndex = (pa->u.c[0] != NULL ? nenum(pa->u.c) - 1 : 0);
+ data.optionInfo = options->addOption(
+ StringOption(name).storeEnumIndex(&data.enumIndex)
+ .defaultEnumIndex(defaultIndex)
+ .enumValueFromNullTerminatedArray(pa->u.c + 1)
+ .description(desc).hidden(bHidden));
return;
+ }
}
GMX_THROW(NotImplementedError("Argument type not implemented"));
}
+void OptionsAdapter::copyValues(bool bReadNode)
+{
+ std::list<FileNameData>::const_iterator file;
+ for (file = fileNameOptions_.begin(); file != fileNameOptions_.end(); ++file)
+ {
+ // FIXME: FF_NOT_READ_NODE should also skip all fexist() calls in
+ // FileNameOption. However, it is not currently used, and other
+ // commented out code for using it is also outdated, so left this for
+ // later.
+ if (!bReadNode && (file->fnm->flag & ffREAD))
+ {
+ continue;
+ }
+ if (file->optionInfo->isSet())
+ {
+ file->fnm->flag |= ffSET;
+ }
+ file->fnm->nfiles = file->values.size();
+ snew(file->fnm->fns, file->fnm->nfiles);
+ for (int i = 0; i < file->fnm->nfiles; ++i)
+ {
+ // TODO: Check for out-of-memory.
+ file->fnm->fns[i] = strdup(file->values[i].c_str());
+ }
+ }
+ std::list<ProgramArgData>::const_iterator arg;
+ for (arg = programArgs_.begin(); arg != programArgs_.end(); ++arg)
+ {
+ arg->pa->bSet = arg->optionInfo->isSet();
+ switch (arg->pa->type)
+ {
+ case etSTR:
+ {
+ if (arg->pa->bSet)
+ {
+ std::vector<const char *>::const_iterator pos =
+ std::find(argv_.begin(), argv_.end(), arg->stringValue);
+ GMX_RELEASE_ASSERT(pos != argv_.end(),
+ "String argument got a value not in argv");
+ *arg->pa->u.c = *pos;
+ }
+ break;
+ }
+ case etBOOL:
+ *arg->pa->u.b = arg->boolValue;
+ break;
+ case etENUM:
+ *arg->pa->u.c = arg->pa->u.c[arg->enumIndex + 1];
+ break;
+ default:
+ // For other types, there is nothing type-specific to do.
+ break;
+ }
+ }
+}
+
} // namespace
} // namespace gmx
output_env_t *oenv)
{
/* This array should match the order of the enum in oenv.h */
- const char *xvg_format[] = { NULL, "xmgrace", "xmgr", "none", NULL };
- /* This array should match the order of the enum in oenv.h */
- const char *time_units[] = {
- NULL, "fs", "ps", "ns", "us", "ms", "s",
- NULL
- };
- int nicelevel = 0, debug_level = 0;
- char *deffnm = NULL;
- real tbegin = 0, tend = 0, tdelta = 0;
- gmx_bool bView = FALSE;
-
- t_pargs *all_pa = NULL;
-
- t_pargs nice_pa = {
- "-nice", FALSE, etINT, {&nicelevel},
- "Set the nicelevel"
- };
- t_pargs deffnm_pa = {
- "-deffnm", FALSE, etSTR, {&deffnm},
- "Set the default filename for all file options"
- };
- t_pargs begin_pa = {
- "-b", FALSE, etTIME, {&tbegin},
- "First frame (%t) to read from trajectory"
- };
- t_pargs end_pa = {
- "-e", FALSE, etTIME, {&tend},
- "Last frame (%t) to read from trajectory"
- };
- t_pargs dt_pa = {
- "-dt", FALSE, etTIME, {&tdelta},
- "Only use frame when t MOD dt = first time (%t)"
- };
- t_pargs view_pa = {
- "-w", FALSE, etBOOL, {&bView},
- "View output [TT].xvg[tt], [TT].xpm[tt], [TT].eps[tt] and [TT].pdb[tt] files"
- };
- t_pargs xvg_pa = {
- "-xvg", FALSE, etENUM, {xvg_format},
- "xvg plot formatting"
- };
- t_pargs time_pa = {
- "-tu", FALSE, etENUM, {time_units},
- "Time unit"
- };
- /* Maximum number of extra arguments */
-#define EXTRA_PA 16
-
- t_pargs pca_pa[] = {
- { "-debug", FALSE, etINT, {&debug_level},
- "HIDDENWrite file with debug information, 1: short, 2: also x and f" },
- };
-#define NPCA_PA asize(pca_pa)
- gmx_bool bXvgr;
- int i, j, k, npall, max_pa;
+ const char *const xvg_formats[] = { "xmgrace", "xmgr", "none" };
// Handle the flags argument, which is a bit field
// The FF macro returns whether or not the bit is set
#define FF(arg) ((Flags & arg) == arg)
- /* Check for double arguments */
- for (i = 1; (i < *argc); i++)
+ try
{
- if (argv[i] && (strlen(argv[i]) > 1) && (!std::isdigit(argv[i][1])))
+ int nicelevel = 0, debug_level = 0;
+ double tbegin = 0.0, tend = 0.0, tdelta = 0.0;
+ bool bView = false;
+ int xvgFormat = 0;
+ gmx::TimeUnitManager timeUnitManager;
+ gmx::OptionsAdapter adapter(*argc, argv);
+ gmx::Options options(NULL, NULL);
+ gmx::FileNameOptionManager fileOptManager;
+
+ options.addManager(&fileOptManager);
+ options.setDescription(gmx::ConstArrayRef<const char *>(desc, ndesc));
+ options.addOption(
+ gmx::IntegerOption("debug").store(&debug_level).hidden()
+ .description("Write file with debug information, "
+ "1: short, 2: also x and f"));
+
+ options.addOption(
+ gmx::IntegerOption("nice").store(&nicelevel)
+ .defaultValue(FF(PCA_BE_NICE) ? 19 : 0)
+ .description("Set the nicelevel"));
+
+ if (FF(PCA_CAN_SET_DEFFNM))
{
- for (j = i+1; (j < *argc); j++)
- {
- if ( (argv[i][0] == '-') && (argv[j][0] == '-') &&
- (strcmp(argv[i], argv[j]) == 0) )
- {
- if (FF(PCA_NOEXIT_ON_ARGS))
- {
- fprintf(stderr, "Double command line argument %s\n",
- argv[i]);
- }
- else
- {
- gmx_fatal(FARGS, "Double command line argument %s\n",
- argv[i]);
- }
- }
- }
+ fileOptManager.addDefaultFileNameOption(&options, "deffnm");
}
- }
- debug_gmx();
-
- /* Check ALL the flags ... */
- max_pa = NPCA_PA + EXTRA_PA + npargs+1;
- snew(all_pa, max_pa);
-
- for (i = npall = 0; (i < static_cast<int>(NPCA_PA)); i++)
- {
- npall = add_parg(npall, all_pa, &(pca_pa[i]));
- }
-
- if (FF(PCA_BE_NICE))
- {
- nicelevel = 19;
- }
- npall = add_parg(npall, all_pa, &nice_pa);
-
- if (FF(PCA_CAN_SET_DEFFNM))
- {
- npall = add_parg(npall, all_pa, &deffnm_pa);
- }
- if (FF(PCA_CAN_BEGIN))
- {
- npall = add_parg(npall, all_pa, &begin_pa);
- }
- if (FF(PCA_CAN_END))
- {
- npall = add_parg(npall, all_pa, &end_pa);
- }
- if (FF(PCA_CAN_DT))
- {
- npall = add_parg(npall, all_pa, &dt_pa);
- }
- if (FF(PCA_TIME_UNIT))
- {
- npall = add_parg(npall, all_pa, &time_pa);
- }
- if (FF(PCA_CAN_VIEW))
- {
- npall = add_parg(npall, all_pa, &view_pa);
- }
-
- bXvgr = FALSE;
- for (i = 0; (i < nfile); i++)
- {
- bXvgr = bXvgr || (fnm[i].ftp == efXVG);
- }
- if (bXvgr)
- {
- npall = add_parg(npall, all_pa, &xvg_pa);
- }
-
- /* Now append the program specific arguments */
- for (i = 0; (i < npargs); i++)
- {
- npall = add_parg(npall, all_pa, &(pa[i]));
- }
-
- /* set etENUM options to default */
- for (i = 0; (i < npall); i++)
- {
- if (all_pa[i].type == etENUM)
+ if (FF(PCA_CAN_BEGIN))
{
- all_pa[i].u.c[0] = all_pa[i].u.c[1];
+ options.addOption(
+ gmx::DoubleOption("b").store(&tbegin).timeValue()
+ .description("First frame (%t) to read from trajectory"));
}
- }
- set_default_time_unit(time_units, FF(PCA_TIME_UNIT));
- set_default_xvg_format(xvg_format);
-
- /* Now parse all the command-line options */
- get_pargs(argc, argv, npall, all_pa);
-
- /* set program name, command line, and default values for output options */
- output_env_init(oenv, gmx::getProgramContext(), (time_unit_t)nenum(time_units), bView,
- (xvg_format_t)nenum(xvg_format), 0, debug_level);
-
- /* Parse the file args */
- parse_file_args(argc, argv, nfile, fnm, deffnm, !FF(PCA_NOT_READ_NODE));
-
- /* Open the debug file */
- if (debug_level > 0)
- {
- char buf[256];
-
- if (gmx_mpi_initialized())
+ if (FF(PCA_CAN_END))
{
- sprintf(buf, "%s%d.debug", output_env_get_short_program_name(*oenv),
- gmx_node_rank());
+ options.addOption(
+ gmx::DoubleOption("e").store(&tend).timeValue()
+ .description("Last frame (%t) to read from trajectory"));
}
- else
+ if (FF(PCA_CAN_DT))
{
- sprintf(buf, "%s.debug", output_env_get_short_program_name(*oenv));
+ options.addOption(
+ gmx::DoubleOption("dt").store(&tdelta).timeValue()
+ .description("Only use frame when t MOD dt = first time (%t)"));
+ }
+ if (FF(PCA_TIME_UNIT))
+ {
+ timeUnitManager.setTimeUnitFromEnvironment();
+ timeUnitManager.addTimeUnitOption(&options, "tu");
+ }
+ if (FF(PCA_CAN_VIEW))
+ {
+ options.addOption(
+ gmx::BooleanOption("w").store(&bView)
+ .description("View output [TT].xvg[tt], [TT].xpm[tt], "
+ "[TT].eps[tt] and [TT].pdb[tt] files"));
}
- init_debug(debug_level, buf);
- fprintf(stderr, "Opening debug file %s (src code file %s, line %d)\n",
- buf, __FILE__, __LINE__);
- }
+ bool bXvgr = false;
+ for (int i = 0; i < nfile; i++)
+ {
+ bXvgr = bXvgr || (fnm[i].ftp == efXVG);
+ }
+ xvgFormat = gmx::getDefaultXvgFormat(xvg_formats);
+ if (bXvgr)
+ {
+ options.addOption(
+ gmx::StringOption("xvg").enumValue(xvg_formats)
+ .storeEnumIndex(&xvgFormat)
+ .description("xvg plot formatting"));
+ }
- /* Now copy the results back... */
- for (i = 0, k = npall-npargs; (i < npargs); i++, k++)
- {
- memcpy(&(pa[i]), &(all_pa[k]), (size_t)sizeof(pa[i]));
- }
+ /* Now append the program specific arguments */
+ for (int i = 0; i < nfile; i++)
+ {
+ adapter.filenmToOptions(&options, &fnm[i]);
+ }
+ for (int i = 0; i < npargs; i++)
+ {
+ adapter.pargsToOptions(&options, &pa[i]);
+ }
- bool bExit = false;
- try
- {
const gmx::CommandLineHelpContext *context =
gmx::GlobalCommandLineHelpContext::get();
- bExit = (context != NULL);
- if (context != NULL && !(FF(PCA_QUIET)))
+ if (context != NULL)
{
- gmx::Options options(NULL, NULL);
- options.setDescription(gmx::ConstArrayRef<const char *>(desc, ndesc));
- for (i = 0; i < nfile; i++)
+ if (!(FF(PCA_QUIET)))
{
- gmx::filenmToOptions(&options, &fnm[i]);
+ gmx::CommandLineHelpWriter(options)
+ .setShowDescriptions(true)
+ .setTimeUnitString(timeUnitManager.timeUnitAsString())
+ .setKnownIssues(gmx::ConstArrayRef<const char *>(bugs, nbugs))
+ .writeHelp(*context);
}
- for (i = 0; i < npall; i++)
+ return FALSE;
+ }
+
+ /* Now parse all the command-line options */
+ gmx::CommandLineParser(&options).skipUnknown(FF(PCA_NOEXIT_ON_ARGS))
+ .parse(argc, argv);
+ options.finish();
+
+ /* set program name, command line, and default values for output options */
+ output_env_init(oenv, gmx::getProgramContext(),
+ (time_unit_t)(timeUnitManager.timeUnit() + 1), bView,
+ (xvg_format_t)(xvgFormat + 1), 0, debug_level);
+
+ /* Open the debug file */
+ if (debug_level > 0)
+ {
+ char buf[256];
+
+ if (gmx_mpi_initialized())
+ {
+ sprintf(buf, "%s%d.debug", output_env_get_short_program_name(*oenv),
+ gmx_node_rank());
+ }
+ else
{
- gmx::pargsToOptions(&options, &all_pa[i]);
+ sprintf(buf, "%s.debug", output_env_get_short_program_name(*oenv));
}
- gmx::CommandLineHelpWriter(options)
- .setShowDescriptions(true)
- .setTimeUnitString(output_env_get_time_unit(*oenv))
- .setKnownIssues(gmx::ConstArrayRef<const char *>(bugs, nbugs))
- .writeHelp(*context);
+
+ init_debug(debug_level, buf);
+ fprintf(stderr, "Opening debug file %s (src code file %s, line %d)\n",
+ buf, __FILE__, __LINE__);
}
- }
- GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
- /* Set the nice level */
+ /* Set the nice level */
#ifdef HAVE_UNISTD_H
#ifndef GMX_NO_NICE
- /* The some system, e.g. the catamount kernel on cray xt3 do not have nice(2). */
- if (nicelevel != 0 && !bExit)
- {
- static gmx_bool nice_set = FALSE; /* only set it once */
- static tMPI_Thread_mutex_t init_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
- tMPI_Thread_mutex_lock(&init_mutex);
- if (!nice_set)
+ /* The some system, e.g. the catamount kernel on cray xt3 do not have nice(2). */
+ if (nicelevel != 0)
{
- if (nice(nicelevel) == -1)
+ static gmx_bool nice_set = FALSE; /* only set it once */
+ static tMPI_Thread_mutex_t init_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
+ tMPI_Thread_mutex_lock(&init_mutex);
+ if (!nice_set)
{
- /* Do nothing, but use the return value to avoid warnings. */
+ if (nice(nicelevel) == -1)
+ {
+ /* Do nothing, but use the return value to avoid warnings. */
+ }
+ nice_set = TRUE;
}
- nice_set = TRUE;
+ tMPI_Thread_mutex_unlock(&init_mutex);
}
- tMPI_Thread_mutex_unlock(&init_mutex);
- }
#endif
#endif
- /* convert time options, must be done after printing! */
+ timeUnitManager.scaleTimeOptions(&options);
- for (i = 0; i < npall; i++)
- {
- if (all_pa[i].type == etTIME && all_pa[i].bSet)
+ /* Extract Time info from arguments */
+ // TODO: Use OptionInfo objects instead of string constants
+ if (FF(PCA_CAN_BEGIN) && options.isSet("b"))
{
- *all_pa[i].u.r *= output_env_get_time_invfactor(*oenv);
+ setTimeValue(TBEGIN, tbegin);
}
- }
-
- /* Extract Time info from arguments */
- if (FF(PCA_CAN_BEGIN) && opt2parg_bSet("-b", npall, all_pa))
- {
- setTimeValue(TBEGIN, opt2parg_real("-b", npall, all_pa));
- }
-
- if (FF(PCA_CAN_END) && opt2parg_bSet("-e", npall, all_pa))
- {
- setTimeValue(TEND, opt2parg_real("-e", npall, all_pa));
- }
-
- if (FF(PCA_CAN_DT) && opt2parg_bSet("-dt", npall, all_pa))
- {
- setTimeValue(TDELTA, opt2parg_real("-dt", npall, all_pa));
- }
-
- /* clear memory */
- sfree(all_pa);
-
- if (!FF(PCA_NOEXIT_ON_ARGS))
- {
- if (*argc > 1)
+ if (FF(PCA_CAN_END) && options.isSet("e"))
+ {
+ setTimeValue(TEND, tend);
+ }
+ if (FF(PCA_CAN_DT) && options.isSet("dt"))
{
- gmx_cmd(argv[1]);
+ setTimeValue(TDELTA, tdelta);
}
+
+ adapter.copyValues(!FF(PCA_NOT_READ_NODE));
+
+ return TRUE;
}
- return !bExit;
+ GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
#undef FF
}
#ifndef GMX_COMMANDLINE_PARGS_H
#define GMX_COMMANDLINE_PARGS_H
-#include "../legacyheaders/types/simple.h"
#include "../legacyheaders/oenv.h"
#include "../fileio/filenm.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C"
*/
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/types/simple.h"
-
#include "gromacs/commandline/cmdlinehelpcontext.h"
#include "gromacs/commandline/cmdlinehelpwriter.h"
+#include "gromacs/math/vectypes.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
using gmx::SelectionFileOption;
using gmx::SelectionOption;
- gmx::Options options(NULL, NULL);
+ gmx::Options options(NULL, NULL);
+ gmx::SelectionCollection selections;
+ gmx::SelectionOptionManager manager(&selections);
+ options.addManager(&manager);
options.addOption(SelectionFileOption("sf"));
options.addOption(SelectionOption("refsel").required()
.description("Reference selection option"));
options.addOption(SelectionOption("sel").required().valueCount(2)
.description("Selection option"));
- gmx::SelectionCollection selections;
- gmx::SelectionOptionManager manager(&selections);
- setManagerForSelectionOptions(&options, &manager);
options.finish();
manager.parseRequestedFromString(
"resname SOL;"
#include <gtest/gtest.h>
#include "gromacs/commandline/cmdlineprogramcontext.h"
-#include "gromacs/fileio/path.h"
#include "gromacs/utility/common.h"
+#include "gromacs/utility/path.h"
#include "gromacs/utility/uniqueptr.h"
#include "testutils/cmdlinetest.h"
* Currently, negative tests are not possible, because those trigger
* gmx_fatal() and terminate the whole test binary.
*
- * \todo
- * Add tests that exercise the machinery triggered by ffREAD to detect the
- * extension for certain types of files. Also some other paths in the file
- * name logic may not get tested by the current set.
- *
* \author Teemu Murtola <teemu.murtola@gmail.com>
* \ingroup module_commandline
*/
+#include "gromacs/commandline/pargs.h"
+
+#include <string>
+
#include <gtest/gtest.h>
-#include "gromacs/commandline/pargs.h"
#include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/file.h"
+#include "gromacs/utility/path.h"
+#include "gromacs/utility/stringutil.h"
#include "testutils/cmdlinetest.h"
#include "testutils/testasserts.h"
+#include "testutils/testfilemanager.h"
namespace
{
class ParseCommonArgsTest : public ::testing::Test
{
public:
+ enum FileArgumentType
+ {
+ efFull,
+ efNoExtension,
+ efEmptyValue
+ };
+
ParseCommonArgsTest()
: oenv_(NULL), fileCount_(0)
{
int nfile() const { return fileCount_; }
- void parse(gmx::ConstArrayRef<const char *> cmdline,
- unsigned long flags,
- gmx::ArrayRef<t_filenm> fnm,
- gmx::ArrayRef<t_pargs> pa)
+ void parseFromArgs(unsigned long flags,
+ gmx::ArrayRef<t_filenm> fnm,
+ gmx::ArrayRef<t_pargs> pa)
{
- args_.initFromArray(cmdline);
fileCount_ = fnm.size();
bool bOk = parse_common_args(&args_.argc(), args_.argv(), flags,
fnm.size(), fnm.data(),
0, NULL, 0, NULL, &oenv_);
EXPECT_TRUE(bOk);
}
+ void parseFromArray(gmx::ConstArrayRef<const char *> cmdline,
+ unsigned long flags,
+ gmx::ArrayRef<t_filenm> fnm,
+ gmx::ArrayRef<t_pargs> pa)
+ {
+ args_.initFromArray(cmdline);
+ parseFromArgs(flags, fnm, pa);
+ }
+ std::string addFileArg(const char *name, const char *extension,
+ FileArgumentType type)
+ {
+ std::string filename(tempFiles_.getTemporaryFilePath(extension));
+ gmx::File::writeFileFromString(filename, "Dummy file");
+ if (name != NULL)
+ {
+ args_.append(name);
+ switch (type)
+ {
+ case efFull:
+ args_.append(filename);
+ break;
+ case efNoExtension:
+ args_.append(gmx::Path::stripExtension(filename));
+ break;
+ case efEmptyValue:
+ break;
+ }
+ }
+ return filename;
+ }
- CommandLine args_;
- output_env_t oenv_;
+ // This must be a member that persists until the end of the test,
+ // because string arguments are not duplicated in the output.
+ CommandLine args_;
private:
- size_t fileCount_;
+ output_env_t oenv_;
+ size_t fileCount_;
+ gmx::test::TestFileManager tempFiles_;
};
/********************************************************************
const char *const cmdline[] = {
"test", "-i1", "2", "-i2", "-3"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_EQ( 2, value1);
EXPECT_EQ(-3, value2);
EXPECT_EQ( 3, value3);
const char *const cmdline[] = {
"test", "-i1", "2", "-i2", "-3"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_EQ( 2, value1);
EXPECT_EQ(-3, value2);
EXPECT_EQ( 3, value3);
const char *const cmdline[] = {
"test", "-r1", "2", "-r2", "-.5"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_EQ( 2.0, value1);
EXPECT_EQ(-0.5, value2);
EXPECT_EQ( 2.5, value3);
const char *const cmdline[] = {
"test", "-s1", "", "-s2", "test"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_STREQ("", value1);
EXPECT_STREQ("test", value2);
EXPECT_STREQ("default", value3);
const char *const cmdline[] = {
"test", "-nob1", "-b2"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_FALSE(value1);
EXPECT_TRUE(value2);
EXPECT_TRUE(value3);
const char *const cmdline[] = {
"test", "-v1", "2", "1", "3", "-v2", "1"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_EQ(2.0, value1[XX]);
EXPECT_EQ(1.0, value1[YY]);
EXPECT_EQ(3.0, value1[ZZ]);
const char *const cmdline[] = {
"test", "-t1", "2", "-t2", "-.5"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_EQ( 2.0, value1);
EXPECT_EQ(-0.5, value2);
EXPECT_EQ( 2.5, value3);
const char *const cmdline[] = {
"test", "-t1", "2", "-t2", "-.5", "-tu", "ns"
};
- parse(cmdline, PCA_TIME_UNIT, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, PCA_TIME_UNIT, gmx::EmptyArrayRef(), pa);
EXPECT_EQ( 2000.0, value1);
EXPECT_EQ(-500.0, value2);
EXPECT_EQ( 2.5, value3);
const char *const cmdline[] = {
"test", "-s1", "off", "-s2", "val"
};
- parse(cmdline, 0, gmx::EmptyArrayRef(), pa);
+ parseFromArray(cmdline, 0, gmx::EmptyArrayRef(), pa);
EXPECT_STREQ("off", value1[0]);
EXPECT_STREQ("value", value2[0]);
EXPECT_STREQ("default", value3[0]);
}
/********************************************************************
- * Tests for file name options
+ * Tests for file name options (output files, not dependent on file system)
*/
TEST_F(ParseCommonArgsTest, ParsesFileArgs)
{ efXVG, "-o1", "out1", ffOPTWR },
{ efXVG, "-o2", "out2", ffOPTWR },
{ efXVG, "-om", "outm", ffWRMULT },
- { efXVG, "-om2", "outm2", ffWRMULT },
+ { efXVG, "-om2", "outm2", ffWRMULT }
};
const char *const cmdline[] = {
"test", "-o1", "-o2", "test", "-om", "test1", "test2.xvg", "-om2"
};
- parse(cmdline, 0, fnm, gmx::EmptyArrayRef());
+ parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef());
EXPECT_STREQ("out1.xvg", opt2fn_null("-o1", nfile(), fnm));
EXPECT_STREQ("test.xvg", opt2fn_null("-o2", nfile(), fnm));
char **files;
EXPECT_EQ(2, opt2fns(&files, "-om", nfile(), fnm));
- EXPECT_STREQ("test1.xvg", files[0]);
- EXPECT_STREQ("test2.xvg", files[1]);
+ EXPECT_TRUE(files != NULL);
+ if (files != NULL)
+ {
+ EXPECT_STREQ("test1.xvg", files[0]);
+ EXPECT_STREQ("test2.xvg", files[1]);
+ }
EXPECT_STREQ("outm2.xvg", opt2fn("-om2", nfile(), fnm));
done_filenms(nfile(), fnm);
}
{ efTRX, "-f2", NULL, ffOPTWR },
{ efTRX, "-f3", "trj3", ffWRITE },
{ efXVG, "-o", "out", ffWRITE },
- { efXVG, "-om", "outm", ffWRMULT },
+ { efXVG, "-om", "outm", ffWRMULT }
};
const char *const cmdline[] = {
"test"
};
- parse(cmdline, 0, fnm, gmx::EmptyArrayRef());
+ parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef());
EXPECT_STREQ("topol.tpr", ftp2fn(efTPS, nfile(), fnm));
EXPECT_STREQ("traj.xtc", opt2fn("-f2", nfile(), fnm));
EXPECT_NULL(opt2fn_null("-f2", nfile(), fnm));
{ efTRX, "-f2", NULL, ffWRITE },
{ efTRX, "-f3", "trj3", ffWRITE },
{ efXVG, "-o", "out", ffWRITE },
- { efXVG, "-om", "outm", ffWRMULT },
+ { efXVG, "-om", "outm", ffWRMULT }
};
const char *const cmdline[] = {
"test", "-deffnm", "def", "-f2", "other", "-o"
};
- parse(cmdline, PCA_CAN_SET_DEFFNM, fnm, gmx::EmptyArrayRef());
+ parseFromArray(cmdline, PCA_CAN_SET_DEFFNM, fnm, gmx::EmptyArrayRef());
EXPECT_STREQ("def.tpr", ftp2fn(efTPS, nfile(), fnm));
EXPECT_STREQ("other.xtc", opt2fn("-f2", nfile(), fnm));
EXPECT_STREQ("def.xtc", opt2fn("-f3", nfile(), fnm));
done_filenms(nfile(), fnm);
}
+/********************************************************************
+ * Tests for file name options (input files, dependent on file system contents)
+ */
+
+TEST_F(ParseCommonArgsTest, HandlesNonExistentInputFiles)
+{
+ t_filenm fnm[] = {
+ { efTPS, "-s", NULL, ffREAD },
+ { efTRX, "-f", "trj", ffREAD },
+ { efTRX, "-f2", "trj2", ffREAD },
+ { efTRX, "-f3", "trj3", ffREAD },
+ { efTRX, "-f4", "trj4", ffREAD },
+ { efGRO, "-g", "cnf", ffREAD },
+ { efGRO, "-g2", "cnf2", ffREAD }
+ };
+ const char *const cmdline[] = {
+ "test", "-f2", "-f3", "other", "-f4", "trj.gro", "-g2", "foo"
+ };
+ parseFromArray(cmdline, 0, fnm, gmx::EmptyArrayRef());
+ EXPECT_STREQ("topol.tpr", ftp2fn(efTPS, nfile(), fnm));
+ EXPECT_STREQ("trj.xtc", opt2fn("-f", nfile(), fnm));
+ EXPECT_STREQ("trj2.xtc", opt2fn("-f2", nfile(), fnm));
+ EXPECT_STREQ("other.xtc", opt2fn("-f3", nfile(), fnm));
+ EXPECT_STREQ("trj.gro", opt2fn("-f4", nfile(), fnm));
+ EXPECT_STREQ("cnf.gro", opt2fn("-g", nfile(), fnm));
+ EXPECT_STREQ("foo.gro", opt2fn("-g2", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
+TEST_F(ParseCommonArgsTest, HandlesCompressedFiles)
+{
+ t_filenm fnm[] = {
+ { efTRX, "-f", NULL, ffREAD },
+ { efGRO, "-g", NULL, ffREAD }
+ };
+ args_.append("test");
+ std::string expectedF = addFileArg("-f", ".pdb.gz", efFull);
+ std::string expectedG = addFileArg("-g", ".gro.Z", efFull);
+ expectedF = gmx::Path::stripExtension(expectedF);
+ expectedG = gmx::Path::stripExtension(expectedG);
+ parseFromArgs(0, fnm, gmx::EmptyArrayRef());
+ EXPECT_EQ(expectedF, opt2fn("-f", nfile(), fnm));
+ EXPECT_EQ(expectedG, opt2fn("-g", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
+TEST_F(ParseCommonArgsTest, AcceptsUnknownTrajectoryExtension)
+{
+ t_filenm fnm[] = {
+ { efTRX, "-f", NULL, ffREAD }
+ };
+ args_.append("test");
+ std::string expected = addFileArg("-f", ".foo", efFull);
+ parseFromArgs(0, fnm, gmx::EmptyArrayRef());
+ EXPECT_EQ(expected, opt2fn("-f", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
+TEST_F(ParseCommonArgsTest, CompletesExtensionFromExistingFile)
+{
+ t_filenm fnm[] = {
+ { efTRX, "-f1", NULL, ffREAD },
+ { efTRX, "-f2", NULL, ffREAD },
+ { efTRX, "-f3", NULL, ffREAD },
+ { efTRX, "-f4", NULL, ffREAD }
+ };
+ args_.append("test");
+ std::string expected1 = addFileArg("-f1", "1.xtc", efNoExtension);
+ std::string expected2 = addFileArg("-f2", "2.gro", efNoExtension);
+ std::string expected3 = addFileArg("-f3", "3.tng", efNoExtension);
+ std::string expected4 = addFileArg("-f4", ".gro", efEmptyValue);
+ std::string def4 = gmx::Path::stripExtension(expected4);
+ fnm[3].fn = def4.c_str();
+ parseFromArgs(0, fnm, gmx::EmptyArrayRef());
+ EXPECT_EQ(expected1, opt2fn("-f1", nfile(), fnm));
+ EXPECT_EQ(expected2, opt2fn("-f2", nfile(), fnm));
+ EXPECT_EQ(expected3, opt2fn("-f3", nfile(), fnm));
+ EXPECT_EQ(expected4, opt2fn("-f4", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
+TEST_F(ParseCommonArgsTest, CompletesExtensionFromExistingFileWithDefaultFileName)
+{
+ t_filenm fnm[] = {
+ { efTRX, "-f1", NULL, ffREAD },
+ { efTPX, "-f2", "foo", ffREAD },
+ { efTRX, "-f3", NULL, ffREAD },
+ { efSTX, "-f4", NULL, ffREAD }
+ };
+ args_.append("test");
+ std::string expected1 = addFileArg("-f1", "1.trr", efNoExtension);
+ std::string expected2 = addFileArg("-f2", ".tpa", efEmptyValue);
+ std::string expected3 = addFileArg("-f3", ".trr", efEmptyValue);
+ std::string expected4 = addFileArg(NULL, ".pdb", efEmptyValue);
+ std::string deffnm = gmx::Path::stripExtension(expected3);
+ args_.append("-deffnm");
+ args_.append(deffnm);
+ parseFromArgs(PCA_CAN_SET_DEFFNM, fnm, gmx::EmptyArrayRef());
+ EXPECT_EQ(expected1, opt2fn("-f1", nfile(), fnm));
+ EXPECT_EQ(expected2, opt2fn("-f2", nfile(), fnm));
+ EXPECT_EQ(expected3, opt2fn("-f3", nfile(), fnm));
+ EXPECT_EQ(expected4, opt2fn("-f4", nfile(), fnm));
+ done_filenms(nfile(), fnm);
+}
+
/********************************************************************
* Tests for general behavior
*/
+TEST_F(ParseCommonArgsTest, HandlesNonReadNode)
+{
+ t_filenm fnm[] = {
+ { efTPS, "-s", NULL, ffREAD },
+ { efTRX, "-f", NULL, ffREAD },
+ { efTRX, "-f2", NULL, ffREAD }
+ };
+ const char *const cmdline[] = {
+ "test", "-f", "-f2", "other"
+ };
+ parseFromArray(cmdline, PCA_NOT_READ_NODE, fnm, gmx::EmptyArrayRef());
+ EXPECT_NULL(fnm[0].fns);
+ EXPECT_NULL(fnm[1].fns);
+ EXPECT_NULL(fnm[2].fns);
+ done_filenms(nfile(), fnm);
+}
+
+TEST_F(ParseCommonArgsTest, HandlesNonReadNodeWithDefaultFileName)
+{
+ t_filenm fnm[] = {
+ { efTPS, "-s", NULL, ffREAD },
+ { efTRX, "-f", NULL, ffREAD },
+ { efTRX, "-f2", NULL, ffREAD }
+ };
+ const char *const cmdline[] = {
+ "test", "-deffnm", "def", "-f", "-f2", "other"
+ };
+ parseFromArray(cmdline, PCA_CAN_SET_DEFFNM | PCA_NOT_READ_NODE, fnm, gmx::EmptyArrayRef());
+ EXPECT_NULL(fnm[0].fns);
+ EXPECT_NULL(fnm[1].fns);
+ EXPECT_NULL(fnm[2].fns);
+ done_filenms(nfile(), fnm);
+}
+
TEST_F(ParseCommonArgsTest, CanKeepUnknownArgs)
{
int ivalue = 0;
"test", "foo", "-unk", "-o1", "-unk2", "-o2", "test",
"-i", "2", "-unk3", "-b", "-unk4"
};
- parse(cmdline, PCA_NOEXIT_ON_ARGS, fnm, pa);
+ parseFromArray(cmdline, PCA_NOEXIT_ON_ARGS, fnm, pa);
EXPECT_EQ(2, ivalue);
EXPECT_TRUE(bvalue);
EXPECT_STREQ("out1.xvg", opt2fn_null("-o1", nfile(), fnm));
#include "names.h"
#include "gromacs/fileio/confio.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
-#include "mshift.h"
#include "mdrun.h"
#include "update.h"
-#include "physics.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/fileio/gmxfio.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/mdlib/groupcoord.h"
#include "gromacs/linearalgebra/nrjac.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
/* We use the same defines as in mvdata.c here */
#define block_bc(cr, d) gmx_bcast( sizeof(d), &(d), (cr))
/* Keep the curr_edi pointer for the case that the next group is empty: */
last_edi = curr_edi;
/* Let's prepare to read in the next edi data set: */
+ /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */
curr_edi = edi_read;
}
if (edi_nr == 0)
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#define GMX_ESSENTIALDYNAMICS_EDSAM_H
#include "typedefs.h"
+#include "gromacs/fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/fft/fft.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <errno.h>
-#include "types/simple.h"
-#include "gmx_fatal.h"
-#include "gromacs/fft/fft.h"
#include "gromacs/math/gmxcomplex.h"
-
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/real.h"
/* This file contains common fft utility functions, but not
* the actual transform implementations. Check the
#include <stdio.h>
-#include "../legacyheaders/types/simple.h"
#include "../math/gmxcomplex.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
FILE* debug = 0;
#endif
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#ifdef GMX_FFT_FFTW3
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2003 David van der Spoel, Erik Lindahl, University of Groningen.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/fft/fft.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <errno.h>
#include <math.h>
#include <stdlib.h>
#include <string.h>
-#include <errno.h>
-#include "gromacs/fft/fft.h"
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/real.h"
#include "external/fftpack/fftpack.h"
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2003 David van der Spoel, Erik Lindahl, University of Groningen.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <fftw3.h>
#include "gromacs/fft/fft.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#ifdef GMX_DOUBLE
#define FFTWPREFIX(name) fftw_ ## name
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2003 David van der Spoel, Erik Lindahl, University of Groningen.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <mkl_service.h>
#include "gromacs/fft/fft.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* For MKL version (<10.0), we should define MKL_LONG. */
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "fft5d.h"
#ifndef GMX_FFT_PARALLEL_3DFFT_H
#define GMX_FFT_PARALLEL_3DFFT_H
-#include "../legacyheaders/types/nrnb.h"
-#include "../legacyheaders/types/simple.h"
#include "../math/gmxcomplex.h"
+#include "../timing/wallcycle.h"
+#include "../utility/basedefinitions.h"
#include "../utility/gmxmpi.h"
+#include "../utility/real.h"
+
#include "fft.h"
#ifdef __cplusplus
confio.h
enxio.h
filenm.h
- futil.h
gmxfio.h
matio.h
mdoutf.h
+ mtxio.h
pdbio.h
tpxio.h
trajectory_writing.h
trxio.h
xdr_datatype.h
xtcio.h
+ xvgr.h
)
gmx_install_headers(fileio ${FILEIO_PUBLIC_HEADERS})
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "confio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <errno.h>
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include <errno.h>
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
-#include "confio.h"
-#include "vec.h"
-#include "symtab.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "xdrf.h"
#include "filenm.h"
#include "pdbio.h"
#include "tpxio.h"
#include "trxio.h"
-#include "gmx_fatal.h"
#include "copyrite.h"
-#include "pbc.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmxfio.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#define CHAR_SHIFT 24
static int read_g96_pos(char line[], t_symtab *symtab,
gmx_fio_fclose(in);
}
+static gmx_bool gmx_one_before_eof(FILE *fp)
+{
+ char data[4];
+ gmx_bool beof;
+
+ if ((beof = fread(data, 1, 1, fp)) == 1)
+ {
+ gmx_fseek(fp, -1, SEEK_CUR);
+ }
+ return !beof;
+}
+
gmx_bool gro_next_x_or_v(FILE *status, t_trxframe *fr)
{
t_atoms atoms;
double tt;
int ndec = 0, i;
- if (gmx_eof(status))
+ if (gmx_one_before_eof(status))
{
return FALSE;
}
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_FILEIO_CONFIO_H
#define GMX_FILEIO_CONFIO_H
+#include <stdio.h>
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/simple.h"
+
+#include "trx.h"
/* For reading coordinate files it is assumed that enough memory
* has been allocated beforehand.
extern "C" {
#endif
+struct gmx_mtop_t;
+struct t_atoms;
+
int read_g96_conf(FILE *fp, const char *infile, t_trxframe *fr, char *line);
/* read a Gromos96 coordinate or trajectory file, *
* returns the number of atoms *
int gro_first_x_or_v(FILE *status, t_trxframe *fr);
/* read first/next x and/or v frame from gro file */
-void write_hconf_indexed_p(FILE *out, const char *title, t_atoms *atoms,
+void write_hconf_indexed_p(FILE *out, const char *title, struct t_atoms *atoms,
int nx, const atom_id index[], int ndec,
rvec *x, rvec *v, matrix box);
-void write_hconf_p(FILE *out, const char *title, t_atoms *atoms, int ndec,
+void write_hconf_p(FILE *out, const char *title, struct t_atoms *atoms, int ndec,
rvec *x, rvec *v, matrix box);
/* Write a Gromos file with precision ndec: number of decimal places in x,
* v has one place more. */
void write_sto_conf_indexed(const char *outfile, const char *title,
- t_atoms *atoms,
+ struct t_atoms *atoms,
rvec x[], rvec *v, int ePBC, matrix box,
atom_id nindex, atom_id index[]);
/* like write_sto_conf, but indexed */
void write_sto_conf(const char *outfile, const char *title,
- t_atoms *atoms,
+ struct t_atoms *atoms,
rvec x[], rvec *v, int ePBC, matrix box);
/* write atoms, x, v (if .gro and not NULL) and box (if not NULL)
* to an STO (.gro or .pdb) file */
void write_sto_conf_mtop(const char *outfile, const char *title,
- gmx_mtop_t *mtop,
+ struct gmx_mtop_t *mtop,
rvec x[], rvec *v, int ePBC, matrix box);
/* As write_sto_conf, but uses a gmx_mtop_t struct */
/* read the number of atoms from an STX file */
void read_stx_conf(const char *infile, char *title,
- t_atoms *atoms,
+ struct t_atoms *atoms,
rvec x[], rvec *v, int *ePBC, matrix box);
/* Read atoms, x, v and box from an STX file.
* If ePBC!=NULL return the type of pbc in *ePBC or -1 if unknown.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "enxio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
-#include "futil.h"
-#include "gmx_fatal.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmxfio.h"
-#include "enxio.h"
-#include "vec.h"
-#include "xdrf.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/xdrf.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
/* The source code in this file should be thread-safe.
Please keep it that way. */
{
if (sb->fval_alloc)
{
- free(sb->fval);
+ sfree(sb->fval);
sb->fval_alloc = 0;
sb->fval = NULL;
}
if (sb->dval_alloc)
{
- free(sb->dval);
+ sfree(sb->dval);
sb->dval_alloc = 0;
sb->dval = NULL;
}
if (sb->ival_alloc)
{
- free(sb->ival);
+ sfree(sb->ival);
sb->ival_alloc = 0;
sb->ival = NULL;
}
if (sb->lval_alloc)
{
- free(sb->lval);
+ sfree(sb->lval);
sb->lval_alloc = 0;
sb->lval = NULL;
}
if (sb->cval_alloc)
{
- free(sb->cval);
+ sfree(sb->cval);
sb->cval_alloc = 0;
sb->cval = NULL;
}
{
if (sb->sval[i])
{
- free(sb->sval[i]);
+ sfree(sb->sval[i]);
}
}
- free(sb->sval);
+ sfree(sb->sval);
sb->sval_alloc = 0;
sb->sval = NULL;
}
{
enxsubblock_free(&(eb->sub[i]));
}
- free(eb->sub);
+ sfree(eb->sub);
eb->nsub_alloc = 0;
eb->sub = NULL;
}
{
enxblock_free(&(fr->block[b]));
}
- free(fr->block);
+ sfree(fr->block);
}
void add_blocks_enxframe(t_enxframe *fr, int n)
int i, b;
gmx_bool bRead, bOK, bOK1, bSane;
real tmp1, tmp2, rdum;
- char buf[22];
/*int d_size;*/
bOK = TRUE;
{
fprintf(stderr, "\nWARNING: there may be something wrong with energy file %s\n",
gmx_fio_getname(ef->fio));
- fprintf(stderr, "Found: step=%s, nre=%d, nblock=%d, time=%g.\n"
+ fprintf(stderr, "Found: step=%"GMX_PRId64 ", nre=%d, nblock=%d, time=%g.\n"
"Trying to skip frame expect a crash though\n",
- gmx_step_str(fr->step, buf), fr->nre, fr->nblock, fr->t);
+ fr->step, fr->nre, fr->nblock, fr->t);
}
if (bRead && fr->nre > fr->e_alloc)
{
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_FILEIO_ENXIO_H
#define GMX_FILEIO_ENXIO_H
-#include "../legacyheaders/typedefs.h"
-#include "../legacyheaders/pbc.h"
+#include "../legacyheaders/types/energy.h"
+#include "../legacyheaders/types/inputrec.h"
+#include "../legacyheaders/types/state.h"
#include "gmxfio.h"
#include "xdr_datatype.h"
extern "C" {
#endif
+struct gmx_groups_t;
+
/**************************************************************
* These are the base datatypes + functions for reading and
* writing energy files (.edr). They are either called directly
/* Reads enx_frames, memory in fr is (re)allocated if necessary */
void get_enx_state(const char *fn, real t,
- gmx_groups_t *groups, t_inputrec *ir,
+ struct gmx_groups_t *groups, t_inputrec *ir,
t_state *state);
/*
* Reads state variables from enx file fn at time t.
#endif
#include <stdio.h>
-#include <stdlib.h>
#include <string.h>
-#include "futil.h"
-#include "gmx_fatal.h"
-#include "macros.h"
-#include "gromacs/utility/smalloc.h"
+#include "gromacs/legacyheaders/macros.h"
+#include "gromacs/legacyheaders/types/commrec.h"
+
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/cstringutil.h"
-#include "types/simple.h"
-#include "types/commrec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* XDR should be available on all platforms now,
* but we keep the possibility of turning it off...
/* Use bitflag ... */
#define IS_SET(fn) ((fn.flag & ffSET) != 0)
#define IS_OPT(fn) ((fn.flag & ffOPT) != 0)
-#define IS_MULT(fn) ((fn.flag & ffMULT) != 0)
-#define UN_SET(fn) (fn.flag = (fn.flag & ~ffSET))
-#define DO_SET(fn) (fn.flag = (fn.flag | ffSET))
enum
{
}
}
-static void check_opts(int nf, t_filenm fnm[])
+const char *ftp2defopt(int ftp)
{
- int i;
- const t_deffile *df;
-
- for (i = 0; (i < nf); i++)
+ if ((0 <= ftp) && (ftp < efNR))
{
- df = &(deffile[fnm[i].ftp]);
- if (fnm[i].opt == NULL)
- {
- if (df->defopt == NULL)
- {
- gmx_fatal(FARGS, "No default cmd-line option for %s (type %d)\n",
- deffile[fnm[i].ftp].ext, fnm[i].ftp);
- }
- else
- {
- fnm[i].opt = df->defopt;
- }
- }
+ return deffile[ftp].defopt;
+ }
+ else
+ {
+ return NULL;
}
}
return i;
}
-static void set_extension(char *buf, int ftp)
-{
- int len, extlen;
- const t_deffile *df;
-
- /* check if extension is already at end of filename */
- df = &(deffile[ftp]);
- len = strlen(buf);
- extlen = strlen(df->ext);
- if ((len <= extlen) || (gmx_strcasecmp(&(buf[len - extlen]), df->ext) != 0))
- {
- strcat(buf, df->ext);
- }
-}
-
-static void add_filenm(t_filenm *fnm, const char *filenm)
-{
- srenew(fnm->fns, fnm->nfiles+1);
- fnm->fns[fnm->nfiles] = strdup(filenm);
- fnm->nfiles++;
-}
-
-static void set_grpfnm(t_filenm *fnm, const char *name, const char *deffnm)
-{
- char buf[256], buf2[256];
- int i, type;
- gmx_bool bValidExt;
- int nopts;
- const int *ftps;
-
- nopts = deffile[fnm->ftp].ntps;
- ftps = deffile[fnm->ftp].tps;
- if ((nopts == 0) || (ftps == NULL))
- {
- gmx_fatal(FARGS, "nopts == 0 || ftps == NULL");
- }
-
- bValidExt = FALSE;
- if (name && deffnm == NULL)
- {
- strcpy(buf, name);
- /* First check whether we have a valid filename already */
- type = fn2ftp(name);
- if ((fnm->flag & ffREAD) && (fnm->ftp == efTRX))
- {
- /*if file exist don't add an extension for trajectory reading*/
- bValidExt = gmx_fexist(name);
- }
- for (i = 0; (i < nopts) && !bValidExt; i++)
- {
- if (type == ftps[i])
- {
- bValidExt = TRUE;
- }
- }
- }
- else if (deffnm != NULL)
- {
- strcpy(buf, deffnm);
- }
- else
- {
- /* No name given, set the default name */
- strcpy(buf, ftp2defnm(fnm->ftp));
- }
-
- if (!bValidExt && (fnm->flag & ffREAD))
- {
- /* for input-files only: search for filenames in the directory */
- for (i = 0; (i < nopts) && !bValidExt; i++)
- {
- type = ftps[i];
- strcpy(buf2, buf);
- set_extension(buf2, type);
- if (gmx_fexist(buf2))
- {
- bValidExt = TRUE;
- strcpy(buf, buf2);
- }
- }
- }
-
- if (!bValidExt)
- {
- /* Use the first extension type */
- set_extension(buf, ftps[0]);
- }
-
- add_filenm(fnm, buf);
-}
-
-static void set_filenm(t_filenm *fnm, const char *name, const char *deffnm,
- gmx_bool bReadNode)
-{
- /* Set the default filename, extension and option for those fields that
- * are not already set. An extension is added if not present, if fn = NULL
- * or empty, the default filename is given.
- */
- char buf[256];
- int i, len, extlen;
-
- if ((fnm->flag & ffREAD) && !bReadNode)
- {
- return;
- }
-
- if ((fnm->ftp < 0) || (fnm->ftp >= efNR))
- {
- gmx_fatal(FARGS, "file type out of range (%d)", fnm->ftp);
- }
-
- if (name)
- {
- strcpy(buf, name);
- }
- if ((fnm->flag & ffREAD) && name && gmx_fexist(name))
- {
- /* check if filename ends in .gz or .Z, if so remove that: */
- len = strlen(name);
- for (i = 0; i < NZEXT; i++)
- {
- extlen = strlen(z_ext[i]);
- if (len > extlen)
- {
- if (gmx_strcasecmp(name+len-extlen, z_ext[i]) == 0)
- {
- buf[len-extlen] = '\0';
- break;
- }
- }
- }
- }
-
- if (deffile[fnm->ftp].ntps)
- {
- set_grpfnm(fnm, name ? buf : NULL, deffnm);
- }
- else
- {
- if (name == NULL || deffnm != NULL)
- {
- if (deffnm != NULL)
- {
- strcpy(buf, deffnm);
- }
- else
- {
- strcpy(buf, ftp2defnm(fnm->ftp));
- }
- }
- set_extension(buf, fnm->ftp);
-
- add_filenm(fnm, buf);
- }
-}
-
-static void set_filenms(int nf, t_filenm fnm[], const char *deffnm, gmx_bool bReadNode)
-{
- int i;
-
- for (i = 0; (i < nf); i++)
- {
- if (!IS_SET(fnm[i]))
- {
- set_filenm(&(fnm[i]), fnm[i].fn, deffnm, bReadNode);
- }
- }
-}
-
-void parse_file_args(int *argc, char *argv[], int nf, t_filenm fnm[],
- const char *deffnm, gmx_bool bReadNode)
-{
- int i, j;
- gmx_bool *bRemove;
-
- check_opts(nf, fnm);
-
- for (i = 0; (i < nf); i++)
- {
- UN_SET(fnm[i]);
- }
-
- if (*argc > 1)
- {
- snew(bRemove, (*argc)+1);
- i = 1;
- do
- {
- for (j = 0; (j < nf); j++)
- {
- if (strcmp(argv[i], fnm[j].opt) == 0)
- {
- DO_SET(fnm[j]);
- bRemove[i] = TRUE;
- i++;
- /* check if we are out of arguments for this option */
- if ((i >= *argc) || (argv[i][0] == '-'))
- {
- set_filenm(&fnm[j], fnm[j].fn, deffnm, bReadNode);
- }
- /* sweep up all file arguments for this option */
- while ((i < *argc) && (argv[i][0] != '-'))
- {
- set_filenm(&fnm[j], argv[i], NULL, bReadNode);
- bRemove[i] = TRUE;
- i++;
- /* only repeat for 'multiple' file options: */
- if (!IS_MULT(fnm[j]))
- {
- break;
- }
- }
-
- break; /* jump out of 'j' loop */
- }
- }
- /* No file found corresponding to option argv[i] */
- if (j == nf)
- {
- i++;
- }
- }
- while (i < *argc);
-
- /* Remove used entries */
- for (i = j = 0; (i <= *argc); i++)
- {
- if (!bRemove[i])
- {
- argv[j++] = argv[i];
- }
- }
- (*argc) = j - 1;
- sfree(bRemove);
- }
-
- set_filenms(nf, fnm, deffnm, bReadNode);
-
-}
-
const char *opt2fn(const char *opt, int nfile, const t_filenm fnm[])
{
int i;
extpos = strrchr(buf, '.');
*extpos = '\0';
sprintf(newname, "%s%s.%s", buf, suffix, extpos + 1);
- free(fnm[i].fns[j]);
+ sfree(fnm[i].fns[j]);
fnm[i].fns[j] = strdup(newname);
}
}
#ifndef GMX_FILEIO_FILENM_H
#define GMX_FILEIO_FILENM_H
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/commrec_fwd.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
const char *ftp2defnm(int ftp);
/* Return default file name for file type */
+const char *ftp2defopt(int ftp);
+/* Return default option name for file type */
+
const char *ftp2ftype(int ftp);
/* Return Binary or ASCII depending on file type */
-void parse_file_args(int *argc, char *argv[], int nf, t_filenm fnm[],
- const char *deffnm, gmx_bool bReadNode);
-/* Parse command line for file names. When bKeep is set args are
- * not removed from argv. */
-
const char *opt2fn(const char *opt, int nfile, const t_filenm fnm[]);
/* Return the filename belonging to cmd-line option opt, or NULL when
* no such option. */
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013,2014, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-
-#ifndef GMX_FILEIO_FUTIL_H
-#define GMX_FILEIO_FUTIL_H
-
-#include <stdio.h>
-#include "../legacyheaders/typedefs.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if 0
-}
-#endif
-
-/* Native windows uses backslash path separators.
- * Cygwin and everybody else in the world use slash.
- */
-#include "../utility/gmx_header_config.h"
-#ifdef GMX_NATIVE_WINDOWS
-#define DIR_SEPARATOR '\\'
-#else
-#define DIR_SEPARATOR '/'
-#endif
-
-/* Now get the maximum path size. */
-#ifdef PATH_MAX
-# define GMX_PATH_MAX PATH_MAX
-#elif defined MAX_PATH
-# define GMX_PATH_MAX MAX_PATH
-#else
-# define GMX_PATH_MAX 4096
-#endif
-
-typedef gmx_int64_t gmx_off_t;
-
-void no_buffers(void);
-/* Turn off buffering of files (which is default) for debugging purposes */
-
-gmx_bool gmx_fexist(const char *fname);
-/* Return TRUE when fname exists, FALSE otherwise */
-
-gmx_bool gmx_fexist_master(const char *fname, t_commrec *cr);
-/* Return TRUE when fname exists, FALSE otherwise, bcast from master to others */
-
-gmx_bool gmx_eof(FILE *fp);
-/* Return TRUE on end-of-file, FALSE otherwise */
-
-gmx_bool is_pipe(FILE *fp);
-/* Check whether the file (opened by gmx_ffopen) is a pipe */
-
-/* Make a backup of file if necessary.
- Return false if there was a problem.
- */
-gmx_bool make_backup(const char * file);
-
-FILE *gmx_ffopen(const char *file, const char *mode);
-/* Return a valid file pointer when successful, exits otherwise
- * If the file is in compressed format, open a pipe which uncompresses
- * the file! Therefore, files must be closed with gmx_ffclose (see below)
- */
-
-int gmx_ffclose(FILE *fp);
-/* Close files or pipes */
-
-
-void frewind(FILE *fp);
-/* Does not rewind pipes, but does so for normal files */
-
-#define rewind frewind
-
-
-int gmx_fseek(FILE *stream, gmx_off_t offset, int whence);
-/* OS-independent fseek. 64-bit when available */
-
-gmx_off_t gmx_ftell(FILE *stream);
-/* OS-independent fseek. 64-bit when available. */
-
-
-gmx_bool is_pipe(FILE *fp);
-
-char *gmxlibfn(const char *file);
-/* allocates and returns a string with the full file name for a library file */
-
-FILE *libopen(const char *file);
-/* Open a library file for reading. This looks in the current directory
- * first, and then in the library directory. If the file is not found,
- * it terminates with a fatal_error
- */
-
-/* Opaque data type to list directories */
-typedef struct gmx_directory *
- gmx_directory_t;
-
-/* Open a directory for reading. The first argument should be a pointer
- * to a declared gmx_directory_t variable. Returns 0 on success.
- */
-int
-gmx_directory_open(gmx_directory_t *p_gmxdir, const char *dirname);
-
-
-/* Given an initialized gmx_directory_t, if there are more files in
- * the directory this routine returns 0 and write the next name
- * into the USER-PROVIDED buffer name. The last argument is the max
- * number of characters that will be written. Just as strncpy, the
- * string will NOT be terminated it it is longer than maxlength_name.
- */
-int
-gmx_directory_nextfile(gmx_directory_t gmxdir, char *name, int maxlength_name);
-
-/* Release all data for a directory structure */
-int
-gmx_directory_close(gmx_directory_t gmxdir);
-
-
-char *low_gmxlibfn(const char *file, gmx_bool bAddCWD, gmx_bool bFatal);
-
-FILE *low_libopen(const char *file, gmx_bool bFatal);
-/* The same as the above, but does not terminate if (!bFatal) */
-
-/* Create unique name for temp file (wrapper around mkstemp).
- * Buf should be at least 7 bytes long
- */
-void gmx_tmpnam(char *buf);
-
-/* truncte the file to the specified length */
-int gmx_truncatefile(char *path, gmx_off_t length);
-
-/* rename/move the file (atomically, if the OS makes that available) oldname
- to newname */
-int gmx_file_rename(const char *oldname, const char *newname);
-
-/* copy the file (data only) oldname to newname. if copy_if_empty==FALSE,
- the file won't be copied if it's empty.*/
-int gmx_file_copy(const char *oldname, const char *newname, gmx_bool copy_if_empty);
-
-/* do an fsync() on an open file pointer.
- Only use this during checkpointing! */
-int gmx_fsync(FILE *fp);
-
-void gmx_chdir(const char *directory);
-void gmx_getcwd(char *buffer, size_t size);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* GMX_FILEIO_FUTIL_H */
#include "thread_mpi/threads.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gromacs/utility/cstringutil.h"
#include "gmxfio.h"
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#define GMX_FILEIO_GMXFIO_H
#include <stdio.h>
-#include "../legacyheaders/typedefs.h"
-#include "futil.h"
+
+#include "../utility/cstringutil.h"
+#include "../utility/futil.h"
+#include "../utility/real.h"
+#include "../math/vectypes.h"
#ifdef __cplusplus
extern "C" {
#include <io.h>
#endif
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gromacs/utility/cstringutil.h"
#include "gmxfio.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gmxfio.h"
#include "md5.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gmxfio.h"
#include "md5.h"
#include <io.h>
#endif
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gmxfio.h"
#include "md5.h"
#include "xdrf.h"
#include "xdr_datatype.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
/* This is just for clarity - it can never be anything but 4! */
#define XDR_INT_SIZE 4
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "matio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <stdio.h>
#include <ctype.h>
+#include <stdio.h>
#include <algorithm>
-#include "sysstuff.h"
-#include "futil.h"
-#include "gromacs/utility/cstringutil.h"
-#include "macros.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "matio.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/math/utilities.h"
-#include "copyrite.h"
-
+#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
#define round(a) (int)(a+0.5)
*m = NULL;
}
-void clear_matrix(int nx, int ny, real **m)
-{
- int x, y;
-
- for (x = 0; x < nx; x++)
- {
- for (y = 0; y < ny; y++)
- {
- m[x][y] = 0;
- }
- }
-}
-
gmx_bool matelmt_cmp(t_xpmelmt e1, t_xpmelmt e2)
{
return (e1.c1 == e2.c1) && (e1.c2 == e2.c2);
in = libopen(fn);
n = getcmap(in, fn, map);
- gmx_fio_fclose(in);
+ gmx_ffclose(in);
return n;
}
return fg;
}
-void skipstr(char *line)
+static void skipstr(char *line)
{
int i, c;
line[c-i] = '\0';
}
-char *line2string(char **line)
+static char *line2string(char **line)
{
int i;
return *line;
}
-void parsestring(char *line, const char *label, char *string)
+static void parsestring(char *line, const char *label, char *string)
{
if (strstr(line, label))
{
}
}
-void read_xpm_entry(FILE *in, t_matrix *mm)
+static void read_xpm_entry(FILE *in, t_matrix *mm)
{
t_mapping *map;
char *line_buf = NULL, *line = NULL, *str, buf[256] = {0};
sfree(line_buf);
}
-int read_xpm_matrix(const char *fnm, t_matrix **matrix)
+int read_xpm_matrix(const char *fnm, t_matrix **mat)
{
FILE *in;
char *line = NULL;
{
if (strstr(line, "/* XPM */"))
{
- srenew(*matrix, nmat+1);
- read_xpm_entry(in, &(*matrix)[nmat]);
+ srenew(*mat, nmat+1);
+ read_xpm_entry(in, &(*mat)[nmat]);
nmat++;
}
}
return nmat;
}
-real **matrix2real(t_matrix *matrix, real **mat)
+real **matrix2real(t_matrix *in, real **out)
{
t_mapping *map;
double tmp;
real *rmap;
int i, j, nmap;
- nmap = matrix->nmap;
- map = matrix->map;
+ nmap = in->nmap;
+ map = in->map;
snew(rmap, nmap);
for (i = 0; i < nmap; i++)
rmap[i] = tmp;
}
- if (mat == NULL)
+ if (out == NULL)
{
- snew(mat, matrix->nx);
- for (i = 0; i < matrix->nx; i++)
+ snew(out, in->nx);
+ for (i = 0; i < in->nx; i++)
{
- snew(mat[i], matrix->ny);
+ snew(out[i], in->ny);
}
}
- for (i = 0; i < matrix->nx; i++)
+ for (i = 0; i < in->nx; i++)
{
- for (j = 0; j < matrix->ny; j++)
+ for (j = 0; j < in->ny; j++)
{
- mat[i][j] = rmap[matrix->matrix[i][j]];
+ out[i][j] = rmap[in->matrix[i][j]];
}
}
sfree(rmap);
fprintf(stderr, "Converted a %dx%d matrix with %d levels to reals\n",
- matrix->nx, matrix->ny, nmap);
+ in->nx, in->ny, nmap);
- return mat;
+ return out;
}
-void write_xpm_header(FILE *out,
- const char *title, const char *legend,
- const char *label_x, const char *label_y,
- gmx_bool bDiscrete)
+static void write_xpm_header(FILE *out,
+ const char *title, const char *legend,
+ const char *label_x, const char *label_y,
+ gmx_bool bDiscrete)
{
fprintf(out, "/* XPM */\n");
try
nlevels-1);
}
-void write_xpm_map3(FILE *out, int n_x, int n_y, int *nlevels,
- real lo, real mid, real hi,
- t_rgb rlo, t_rgb rmid, t_rgb rhi)
+static void write_xpm_map3(FILE *out, int n_x, int n_y, int *nlevels,
+ real lo, real mid, real hi,
+ t_rgb rlo, t_rgb rmid, t_rgb rhi)
{
int i, nmid;
real r, g, b, clev_lo, clev_hi;
-void write_xpm_map_split(FILE *out, int n_x, int n_y,
- int *nlevel_top, real lo_top, real hi_top,
- t_rgb rlo_top, t_rgb rhi_top,
- gmx_bool bDiscreteColor,
- int *nlevel_bot, real lo_bot, real hi_bot,
- t_rgb rlo_bot, t_rgb rhi_bot)
+static void write_xpm_map_split(FILE *out, int n_x, int n_y,
+ int *nlevel_top, real lo_top, real hi_top,
+ t_rgb rlo_top, t_rgb rhi_top,
+ gmx_bool bDiscreteColor,
+ int *nlevel_bot, real lo_bot, real hi_bot,
+ t_rgb rlo_bot, t_rgb rhi_bot)
{
int ntot;
}
-void write_xpm_map(FILE *out, int n_x, int n_y, int *nlevels, real lo, real hi,
- t_rgb rlo, t_rgb rhi)
+static void write_xpm_map(FILE *out, int n_x, int n_y, int *nlevels,
+ real lo, real hi, t_rgb rlo, t_rgb rhi)
{
int i, nlo;
real invlevel, r, g, b;
}
}
-void write_xpm_axis(FILE *out, const char *axis, gmx_bool bSpatial, int n,
- real *label)
+static void write_xpm_axis(FILE *out, const char *axis, gmx_bool bSpatial,
+ int n, real *label)
{
int i;
}
}
-void write_xpm_data(FILE *out, int n_x, int n_y, real **matrix,
- real lo, real hi, int nlevels)
+static void write_xpm_data(FILE *out, int n_x, int n_y, real **mat,
+ real lo, real hi, int nlevels)
{
int i, j, c;
real invlevel;
fprintf(out, "\"");
for (i = 0; (i < n_x); i++)
{
- c = gmx_nint((matrix[i][j]-lo)*invlevel);
+ c = gmx_nint((mat[i][j]-lo)*invlevel);
if (c < 0)
{
c = 0;
}
}
-void write_xpm_data3(FILE *out, int n_x, int n_y, real **matrix,
- real lo, real mid, real hi, int nlevels)
+static void write_xpm_data3(FILE *out, int n_x, int n_y, real **mat,
+ real lo, real mid, real hi, int nlevels)
{
int i, j, c = 0, nmid;
real invlev_lo, invlev_hi;
fprintf(out, "\"");
for (i = 0; (i < n_x); i++)
{
- if (matrix[i][j] >= mid)
+ if (mat[i][j] >= mid)
{
- c = nmid+gmx_nint((matrix[i][j]-mid)*invlev_hi);
+ c = nmid+gmx_nint((mat[i][j]-mid)*invlev_hi);
}
- else if (matrix[i][j] >= lo)
+ else if (mat[i][j] >= lo)
{
- c = gmx_nint((matrix[i][j]-lo)*invlev_lo);
+ c = gmx_nint((mat[i][j]-lo)*invlev_lo);
}
else
{
}
}
-void write_xpm_data_split(FILE *out, int n_x, int n_y, real **matrix,
- real lo_top, real hi_top, int nlevel_top,
- real lo_bot, real hi_bot, int nlevel_bot)
+static void write_xpm_data_split(FILE *out, int n_x, int n_y, real **mat,
+ real lo_top, real hi_top, int nlevel_top,
+ real lo_bot, real hi_bot, int nlevel_bot)
{
int i, j, c;
real invlev_top, invlev_bot;
{
if (i < j)
{
- c = nlevel_bot+round((matrix[i][j]-lo_top)*invlev_top);
+ c = nlevel_bot+round((mat[i][j]-lo_top)*invlev_top);
if ((c < nlevel_bot) || (c >= nlevel_bot+nlevel_top))
{
- gmx_fatal(FARGS, "Range checking i = %d, j = %d, c = %d, bot = %d, top = %d matrix[i,j] = %f", i, j, c, nlevel_bot, nlevel_top, matrix[i][j]);
+ gmx_fatal(FARGS, "Range checking i = %d, j = %d, c = %d, bot = %d, top = %d matrix[i,j] = %f", i, j, c, nlevel_bot, nlevel_top, mat[i][j]);
}
}
else if (i > j)
{
- c = round((matrix[i][j]-lo_bot)*invlev_bot);
+ c = round((mat[i][j]-lo_bot)*invlev_bot);
if ((c < 0) || (c >= nlevel_bot+nlevel_bot))
{
- gmx_fatal(FARGS, "Range checking i = %d, j = %d, c = %d, bot = %d, top = %d matrix[i,j] = %f", i, j, c, nlevel_bot, nlevel_top, matrix[i][j]);
+ gmx_fatal(FARGS, "Range checking i = %d, j = %d, c = %d, bot = %d, top = %d matrix[i,j] = %f", i, j, c, nlevel_bot, nlevel_top, mat[i][j]);
}
}
else
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real axis_x[], real axis_y[],
- real *matrix[], real lo, real mid, real hi,
+ real *mat[], real lo, real mid, real hi,
t_rgb rlo, t_rgb rmid, t_rgb rhi, int *nlevels)
{
/* See write_xpm.
write_xpm_map3(out, n_x, n_y, nlevels, lo, mid, hi, rlo, rmid, rhi);
write_xpm_axis(out, "x", flags & MAT_SPATIAL_X, n_x, axis_x);
write_xpm_axis(out, "y", flags & MAT_SPATIAL_Y, n_y, axis_y);
- write_xpm_data3(out, n_x, n_y, matrix, lo, mid, hi, *nlevels);
+ write_xpm_data3(out, n_x, n_y, mat, lo, mid, hi, *nlevels);
}
void write_xpm_split(FILE *out, unsigned int flags,
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real axis_x[], real axis_y[],
- real *matrix[],
+ real *mat[],
real lo_top, real hi_top, int *nlevel_top,
t_rgb rlo_top, t_rgb rhi_top,
real lo_bot, real hi_bot, int *nlevel_bot,
bDiscreteColor, nlevel_bot, lo_bot, hi_bot, rlo_bot, rhi_bot);
write_xpm_axis(out, "x", flags & MAT_SPATIAL_X, n_x, axis_x);
write_xpm_axis(out, "y", flags & MAT_SPATIAL_Y, n_y, axis_y);
- write_xpm_data_split(out, n_x, n_y, matrix, lo_top, hi_top, *nlevel_top,
+ write_xpm_data_split(out, n_x, n_y, mat, lo_top, hi_top, *nlevel_top,
lo_bot, hi_bot, *nlevel_bot);
}
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real axis_x[], real axis_y[],
- real *matrix[], real lo, real hi,
+ real *mat[], real lo, real hi,
t_rgb rlo, t_rgb rhi, int *nlevels)
{
/* out xpm file
write_xpm_map(out, n_x, n_y, nlevels, lo, hi, rlo, rhi);
write_xpm_axis(out, "x", flags & MAT_SPATIAL_X, n_x, axis_x);
write_xpm_axis(out, "y", flags & MAT_SPATIAL_Y, n_y, axis_y);
- write_xpm_data(out, n_x, n_y, matrix, lo, hi, *nlevels);
+ write_xpm_data(out, n_x, n_y, mat, lo, hi, *nlevels);
}
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_FILEIO_MATIO_H
#define GMX_FILEIO_MATIO_H
-#include "../legacyheaders/typedefs.h"
+#include <stdio.h>
+
+#include "../legacyheaders/types/rgb.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+typedef struct {
+ char c1; /* should all be non-zero (and printable and not '"') */
+ char c2; /*
+ * should all be zero (single char color names: smaller xpm's)
+ * or should all be non-zero (double char color names: more colors)
+ */
+} t_xpmelmt;
+
+typedef short t_matelmt;
+
+typedef struct {
+ t_xpmelmt code; /* see comment for t_xpmelmt */
+ const char *desc;
+ t_rgb rgb;
+} t_mapping;
+
+#define MAT_SPATIAL_X (1<<0)
+#define MAT_SPATIAL_Y (1<<1)
+/* Defines if x and y are spatial dimensions,
+ * when not, there are n axis ticks at the middle of the elements,
+ * when set, there are n+1 axis ticks at the edges of the elements.
+ */
+
+typedef struct {
+ unsigned int flags; /* The possible flags are defined above */
+ int nx, ny;
+ int y0;
+ char title[256];
+ char legend[256];
+ char label_x[256];
+ char label_y[256];
+ gmx_bool bDiscrete;
+ real *axis_x;
+ real *axis_y;
+ t_matelmt **matrix;
+ int nmap;
+ t_mapping *map;
+} t_matrix;
+/* title matrix title
+ * legend label for the continuous legend
+ * label_x label for the x-axis
+ * label_y label for the y-axis
+ * nx, ny size of the matrix
+ * axis_x[] the x-ticklabels
+ * axis_y[] the y-ticklables
+ * *matrix[] element x,y is matrix[x][y]
+ * nmap number of color levels for the output(?)
+ */
+
gmx_bool matelmt_cmp(t_xpmelmt e1, t_xpmelmt e2);
t_matelmt searchcmap(int n, t_mapping map[], t_xpmelmt c);
void writecmap(const char *fn, int n, t_mapping map[]);
/* print mapping table to fn */
-int read_xpm_matrix(const char *fnm, t_matrix **matrix);
+int read_xpm_matrix(const char *fnm, t_matrix **mat);
/* Reads a number of matrices from .xpm file fnm and returns this number */
-real **matrix2real(t_matrix *matrix, real **mat);
+real **matrix2real(t_matrix *in, real **out);
/* Converts an matrix in a t_matrix struct to a matrix of reals
* When mat==NULL memory will be allocated
* Returns NULL when something went wrong
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real axis_x[], real axis_y[],
- real *matrix[], real lo, real mid, real hi,
+ real *mat[], real lo, real mid, real hi,
t_rgb rlo, t_rgb rmid, t_rgb rhi, int *nlevels);
/* See write_xpm.
* Writes a colormap varying as rlo -> rmid -> rhi.
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real axis_x[], real axis_y[],
- real *matrix[],
+ real *mat[],
real lo_top, real hi_top, int *nlevel_top,
t_rgb rlo_top, t_rgb rhi_top,
real lo_bot, real hi_bot, int *nlevel_bot,
const char *title, const char *legend,
const char *label_x, const char *label_y,
int n_x, int n_y, real t_x[], real t_y[],
- real *matrix[], real lo, real hi,
+ real *mat[], real lo, real hi,
t_rgb rlo, t_rgb rhi, int *nlevels);
/* out xpm file
* flags flags, defined types/matrix.h
* n_x, n_y size of the matrix
* axis_x[] the x-ticklabels (n_x or n_x+1)
* axis_y[] the y-ticklables (n_y or n_y+1)
- * *matrix[] element x,y is matrix[x][y]
+ * *mat[] element x,y is mat[x][y]
* lo output lower than lo is set to lo
* hi output higher than hi is set to hi
* rlo rgb value for level lo
void done_matrix(int nx, real ***m);
-void clear_matrix(int nx, int ny, real **m);
-
#ifdef __cplusplus
}
#endif
#else
/* Define storage for little-endian or both types of CPUs. */
md5_word_t xbuf[16];
- /* cppcheck-suppress unassignedVariable */
const md5_word_t *X;
#endif
*/
#include "mdoutf.h"
-#include "gromacs/legacyheaders/xvgr.h"
#include "gromacs/legacyheaders/mdrun.h"
#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/legacyheaders/mvdata.h"
#include "checkpoint.h"
#include "copyrite.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
struct gmx_mdoutf {
#define GMX_FILEIO_MDOUTF_H
#include <stdio.h>
-#include "../legacyheaders/types/simple.h"
-#include "../legacyheaders/types/topology.h"
+
#include "../legacyheaders/types/inputrec.h"
#include "../legacyheaders/types/oenv.h"
#include "../legacyheaders/network.h"
+
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
#include "filenm.h"
#include "enxio.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct gmx_mtop_t;
+
typedef struct gmx_mdoutf *gmx_mdoutf_t;
/*! \brief Allocate and initialize object to manager trajectory writing output
int mdrun_flags,
const t_commrec *cr,
const t_inputrec *ir,
- gmx_mtop_t *mtop,
+ struct gmx_mtop_t *mtop,
const output_env_t oenv);
/*! \brief Getter for file pointer */
void mdoutf_write_to_trajectory_files(FILE *fplog, t_commrec *cr,
gmx_mdoutf_t of,
int mdof_flags,
- gmx_mtop_t *top_global,
+ struct gmx_mtop_t *top_global,
gmx_int64_t step, double t,
t_state *state_local, t_state *state_global,
rvec *f_local, rvec *f_global);
#define MDOF_CPT (1<<4)
#define MDOF_IMD (1<<5)
+#ifdef __cplusplus
+}
+#endif
#endif /* GMX_FILEIO_MDOUTF_H */
* in normal mode analysis.
*/
-#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/xdrf.h"
#include "gromacs/linearalgebra/sparsematrix.h"
-
+#include "gromacs/utility/baseversion.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
/* Just a number to identify our file type */
gmx_fio_do_int(fio, i);
/* Write generating Gromacs version */
- gmx_fio_write_string(fio, GromacsVersion());
+ gmx_fio_write_string(fio, gmx_version());
/* Write 1 for double, 0 for single precision */
if (sizeof(real) == sizeof(double))
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* in normal mode analysis.
*/
-#ifndef GMX_LINEARALGEBRA_MTXIO_H
-#define GMX_LINEARALGEBRA_MTXIO_H
+#ifndef GMX_FILEIO_MTXIO_H
+#define GMX_FILEIO_MTXIO_H
-#include "../legacyheaders/types/simple.h"
-
-#include "sparsematrix.h"
+#include "../linearalgebra/sparsematrix.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "pdbio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
+#include "gromacs/legacyheaders/copyrite.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
+#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/utility/futil.h"
+
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/cstringutil.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "typedefs.h"
-#include "symtab.h"
-#include "pdbio.h"
-#include "vec.h"
-#include "copyrite.h"
-#include "futil.h"
-#include "atomprop.h"
-#include "physics.h"
-#include "pbc.h"
-#include "gmxfio.h"
-
-#include "gromacs/legacyheaders/gmx_fatal.h"
typedef struct {
int ai, aj;
int nlongname = 0;
int chainnum, lastchainnum;
int lastresind, lastchainresind;
- gmx_residuetype_t rt;
+ gmx_residuetype_t*rt;
const char *p_restype;
const char *p_lastrestype;
#ifndef GMX_FILEIO_PDBIO_H
#define GMX_FILEIO_PDBIO_H
-#include "../legacyheaders/sysstuff.h"
-#include "../legacyheaders/typedefs.h"
-#include "../legacyheaders/symtab.h"
-#include "../legacyheaders/atomprop.h"
+#include <stdio.h>
+
+#include "../legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_atomprop;
+struct t_atoms;
+struct t_topology;
+
typedef struct gmx_conect_t *gmx_conect;
/* Enumerated type for pdb records. The other entries are ignored
* This function is fundamentally broken as far as thread-safety is concerned.
*/
-void write_pdbfile_indexed(FILE *out, const char *title, t_atoms *atoms,
+void write_pdbfile_indexed(FILE *out, const char *title, struct t_atoms *atoms,
rvec x[], int ePBC, matrix box, char chain,
int model_nr, atom_id nindex, const atom_id index[],
gmx_conect conect, gmx_bool bTerSepChains);
/* REALLY low level */
-void write_pdbfile(FILE *out, const char *title, t_atoms *atoms,
+void write_pdbfile(FILE *out, const char *title, struct t_atoms *atoms,
rvec x[], int ePBC, matrix box, char chain,
int model_nr, gmx_conect conect, gmx_bool bTerSepChains);
/* Low level pdb file writing routine.
* which may be useful for visualization purposes.
*/
-void get_pdb_atomnumber(t_atoms *atoms, gmx_atomprop_t aps);
+void get_pdb_atomnumber(struct t_atoms *atoms, struct gmx_atomprop *aps);
/* Routine to extract atomic numbers from the atom names */
int read_pdbfile(FILE *in, char *title, int *model_nr,
- t_atoms *atoms, rvec x[], int *ePBC, matrix box,
+ struct t_atoms *atoms, rvec x[], int *ePBC, matrix box,
gmx_bool bChange, gmx_conect conect);
/* Function returns number of atoms found.
* ePBC and gmx_conect structure may be NULL.
*/
void read_pdb_conf(const char *infile, char *title,
- t_atoms *atoms, rvec x[], int *ePBC, matrix box,
+ struct t_atoms *atoms, rvec x[], int *ePBC, matrix box,
gmx_bool bChange, gmx_conect conect);
/* Read a pdb file and extract ATOM and HETATM fields.
* Read a box from the CRYST1 line, return 0 box when no CRYST1 is found.
void gmx_conect_add(gmx_conect conect, int ai, int aj);
/* Add a connection between ai and aj (numbered from 0 to natom-1) */
-gmx_conect gmx_conect_generate(t_topology *top);
+gmx_conect gmx_conect_generate(struct t_topology *top);
/* Generate a conect structure from a topology */
gmx_conect gmx_conect_init(void);
#include <stdlib.h>
#include <string.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
gmx_bool get_a_line(FILE *fp, char line[], int n)
{
#include <stdio.h>
-#include "../legacyheaders/types/simple.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#include <gtest/gtest.h>
#include <string>
-#include "gromacs/fileio/path.h"
#include "gromacs/fileio/tngio.h"
#include "gromacs/fileio/tngio_for_tools.h"
+#include "gromacs/utility/path.h"
#include "testutils/testfilemanager.h"
#include "thread_mpi/threads.h"
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/real.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_FILEIO_TIMECONTROL_H
#define GMX_FILEIO_TIMECONTROL_H
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C"
#endif
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/main.h"
-#include "gromacs/legacyheaders/physics.h"
+#include "gromacs/legacyheaders/types/ifunc.h"
+
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/common.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/programcontext.h"
-#include "gmxfio.h"
static const char *modeToVerb(char mode)
{
#ifndef GMX_FILEIO_TNGIO_H
#define GMX_FILEIO_TNGIO_H
-#include "gromacs/legacyheaders/typedefs.h"
#include "tng/tng_io_fwd.h"
+#include "gromacs/legacyheaders/types/inputrec.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/real.h"
+
#ifdef __cplusplus
extern "C" {
#endif
}
#endif
+struct gmx_mtop_t;
+
/*! \brief Open a TNG trajectory file
*
* \param filename Name of file to open
* \param tng Valid handle to a TNG trajectory
* \param mtop Pointer to a topology (can be NULL)
*/
-void gmx_tng_add_mtop(tng_trajectory_t tng,
- const gmx_mtop_t *mtop);
+void gmx_tng_add_mtop(tng_trajectory_t tng,
+ const struct gmx_mtop_t *mtop);
/*! \brief Do all TNG preparation for full-precision whole-system
* trajectory writing during MD simulations.
* \param mtop Global topology
* \param ir Input settings (for writing frequencies)
*/
-void gmx_tng_prepare_md_writing(tng_trajectory_t tng,
- const gmx_mtop_t *mtop,
- const t_inputrec *ir);
+void gmx_tng_prepare_md_writing(tng_trajectory_t tng,
+ const struct gmx_mtop_t *mtop,
+ const t_inputrec *ir);
/*! \brief Set the default compression precision for TNG writing
*
* \param mtop Global topology
* \param ir Input settings (for writing frequencies)
*/
-void gmx_tng_prepare_low_prec_writing(tng_trajectory_t tng,
- const gmx_mtop_t *mtop,
- const t_inputrec *ir);
+void gmx_tng_prepare_low_prec_writing(tng_trajectory_t tng,
+ const struct gmx_mtop_t *mtop,
+ const t_inputrec *ir);
/*! \brief Write a frame to a TNG file
*
#include "tng/tng_io.h"
#endif
-#include "gromacs/legacyheaders/types/atoms.h"
-#include "gromacs/legacyheaders/physics.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-
+#include "gromacs/math/units.h"
#include "gromacs/utility/common.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
void gmx_prepare_tng_writing(const char *filename,
size = sizeof(double);
break;
default:
- size = 0; /* Just to make the compiler happy. */
gmx_incons("Illegal datatype of box shape values!");
}
for (int i = 0; i < DIM; i++)
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
#ifndef GMX_FILEIO_TNGIO_FOR_TOOLS_H
#define GMX_FILEIO_TNGIO_FOR_TOOLS_H
-#include "gromacs/legacyheaders/typedefs.h"
+#include <stdio.h>
+
#include "tng/tng_io_fwd.h"
+#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
+
#ifdef __cplusplus
extern "C" {
#endif
}
#endif
+struct gmx_mtop_t;
+struct t_trxframe;
+
/*! \brief Prepare to write TNG output from trajectory conversion tools */
void gmx_prepare_tng_writing(const char *filename,
char mode,
tng_trajectory_t *in,
tng_trajectory_t *out,
int nAtoms,
- const gmx_mtop_t *mtop,
+ const struct gmx_mtop_t *mtop,
const atom_id *index,
const char *indexGroupName);
* atoms.
*/
void gmx_write_tng_from_trxframe(tng_trajectory_t output,
- t_trxframe *frame,
+ struct t_trxframe *frame,
int natoms);
/*! \brief Creates a molecule containing only the indexed atoms and sets
/*! \brief Read the first/next TNG frame. */
gmx_bool gmx_read_next_tng_frame(tng_trajectory_t input,
- t_trxframe *fr,
+ struct t_trxframe *fr,
gmx_int64_t *requestedIds,
int numRequestedIds);
/* This file is completely threadsafe - keep it that way! */
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
#include "macros.h"
#include "names.h"
-#include "symtab.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "filenm.h"
#include "gmxfio.h"
#include "tpxio.h"
#include "txtdump.h"
#include "confio.h"
-#include "atomprop.h"
#include "copyrite.h"
-#include "vec.h"
-#include "mtop_util.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#define TPX_TAG_RELEASE "release"
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* can also be used with the routines in gmxfio.h
*
**************************************************************/
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/inputrec.h"
+#include "../legacyheaders/types/state.h"
#include "gmxfio.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_mtop_t;
+struct t_atoms;
+struct t_block;
+struct t_topology;
+
typedef struct
{
int bIr; /* Non zero if input_rec is present */
*/
void write_tpx_state(const char *fn,
- t_inputrec *ir, t_state *state, gmx_mtop_t *mtop);
+ t_inputrec *ir, t_state *state, struct gmx_mtop_t *mtop);
/* Write a file, and close it again.
* If fn == NULL, an efTPA file will be written to stdout (which
* will not be closed afterwards)
void read_tpx_state(const char *fn,
t_inputrec *ir, t_state *state, rvec *f,
- gmx_mtop_t *mtop);
+ struct gmx_mtop_t *mtop);
int read_tpx(const char *fn,
t_inputrec *ir, matrix box, int *natoms,
- rvec *x, rvec *v, rvec *f, gmx_mtop_t *mtop);
+ rvec *x, rvec *v, rvec *f, struct gmx_mtop_t *mtop);
/* Read a file, and close it again.
* If fn == NULL, an efTPA file will be read from stdin (which
* will not be closed afterwards)
int read_tpx_top(const char *fn,
t_inputrec *ir, matrix box, int *natoms,
- rvec *x, rvec *v, rvec *f, t_topology *top);
+ rvec *x, rvec *v, rvec *f, struct t_topology *top);
/* As read_tpx, but for the old t_topology struct */
gmx_bool fn2bTPX(const char *file);
/* return if *file is one of the TPX file types */
-gmx_bool read_tps_conf(const char *infile, char *title, t_topology *top,
+gmx_bool read_tps_conf(const char *infile, char *title, struct t_topology *top,
int *ePBC, rvec **x, rvec **v, matrix box, gmx_bool bMass);
/* Read title, top.atoms, x, v (if not NULL) and box from an STX file,
* memory for atoms, x and v will be allocated.
* else if bMass=TRUE, read the masses into top.atoms from the mass database.
*/
-void tpx_make_chain_identifiers(t_atoms *atoms, t_block *mols);
+void tpx_make_chain_identifiers(struct t_atoms *atoms, struct t_block *mols);
#ifdef __cplusplus
}
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "sim_util.h"
#include "mdrun.h"
#include "confio.h"
#include "trajectory_writing.h"
#include "mdoutf.h"
+#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/timing/wallcycle.h"
void
if (bCPT)
{
(*nchkpt)++;
- bCPT = FALSE;
}
debug_gmx();
if (bLastStep && step_rel == ir->nsteps &&
#define GMX_FILEIO_TRAJECTORY_WRITING_H
#include <stdio.h>
+
+#include "../legacyheaders/types/commrec_fwd.h"
+#include "../legacyheaders/mdebin.h"
+#include "../timing/wallcycle.h"
+
#include "filenm.h"
#include "mdoutf.h"
-#include "../legacyheaders/typedefs.h"
-#include "../legacyheaders/mdebin.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
/*! \brief Wrapper routine for writing trajectories during mdrun
*
);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* GMX_FILEIO_TRAJECTORY_WRITING_H */
#endif
#include <string.h>
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "txtdump.h"
#include "names.h"
-#include "futil.h"
+#include "gromacs/utility/futil.h"
#include "trnio.h"
#include "gmxfio.h"
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*
**************************************************************/
-#include "../legacyheaders/typedefs.h"
#include "gmxfio.h"
#ifdef __cplusplus
#ifndef GMX_FILEIO_TRX_H
#define GMX_FILEIO_TRX_H
-#include "../legacyheaders/types/atoms.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_atoms;
+
typedef struct gmxvmdplugin t_gmxvmdplugin;
-typedef struct trxframe
+typedef struct t_trxframe
{
int flags; /* flags for read_first/next_frame */
int not_ok; /* integrity flags */
real lambda; /* free energy perturbation lambda */
int fep_state; /* which fep state are we in? */
gmx_bool bAtoms;
- t_atoms *atoms; /* atoms struct (natoms) */
+ struct t_atoms *atoms; /* atoms struct (natoms) */
gmx_bool bPrec;
real prec; /* precision of x, fraction of 1 nm */
gmx_bool bX;
#include <assert.h>
#include <math.h>
-#include "sysstuff.h"
-#include "typedefs.h"
#ifdef GMX_USE_PLUGINS
#include "vmdio.h"
#endif
-#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
#include "gmxfio.h"
#include "trxio.h"
#include "tpxio.h"
#include "tngio.h"
#include "tngio_for_tools.h"
#include "names.h"
-#include "vec.h"
-#include "futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "xtcio.h"
#include "pdbio.h"
#include "confio.h"
#include "xdrf.h"
#include "gromacs/fileio/timecontrol.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* defines for frame counter output */
#define SKIP1 10
#ifndef GMX_FILEIO_TRXIO_H
#define GMX_FILEIO_TRXIO_H
-#include "../legacyheaders/typedefs.h"
-#include "filenm.h"
#include "../legacyheaders/readinp.h"
-#include "pdbio.h"
#include "../legacyheaders/oenv.h"
+
+#include "filenm.h"
#include "gmxfio.h"
+#include "pdbio.h"
#ifdef __cplusplus
extern "C" {
}
#endif
+struct gmx_mtop_t;
+struct t_atoms;
+struct t_topology;
+struct t_trxframe;
+
/* a dedicated status type contains fp, etc. */
typedef struct t_trxstatus t_trxstatus;
* 1/(nm) */
real ndec2prec(int ndec);
-void clear_trxframe(t_trxframe *fr, gmx_bool bFirst);
+void clear_trxframe(struct t_trxframe *fr, gmx_bool bFirst);
/* Set all content gmx_booleans to FALSE.
* When bFirst = TRUE, set natoms=-1, all pointers to NULL
* and all data to zero.
*/
-void set_trxframe_ePBC(t_trxframe *fr, int ePBC);
+void set_trxframe_ePBC(struct t_trxframe *fr, int ePBC);
/* Set the type of periodic boundary conditions, ePBC=-1 is not set */
int nframes_read(t_trxstatus *status);
/* Returns the number of frames read from the trajectory */
-int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind,
+int write_trxframe_indexed(t_trxstatus *status, struct t_trxframe *fr, int nind,
const atom_id *ind, gmx_conect gc);
/* Write an indexed frame to a TRX file, see write_trxframe. gc may be NULL */
-int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc);
+int write_trxframe(t_trxstatus *status, struct t_trxframe *fr, gmx_conect gc);
/* Write a frame to a TRX file.
* Only entries for which the gmx_boolean is TRUE will be written,
* except for step, time, lambda and/or box, which may not be
* gc is important for pdb file writing only and may be NULL.
*/
-int write_trx(t_trxstatus *status, int nind, const atom_id *ind, t_atoms *atoms,
+int write_trx(t_trxstatus *status, int nind, const atom_id *ind, struct t_atoms *atoms,
int step, real time, matrix box, rvec x[], rvec *v,
gmx_conect gc);
/* Write an indexed frame to a TRX file.
* atoms can be NULL for file types which don't need atom names.
*/
-void trjtools_gmx_prepare_tng_writing(const char *filename,
- char filemode,
- t_trxstatus *in,
- t_trxstatus **out,
- const char *infile,
- const int natoms,
- const gmx_mtop_t *mtop,
- const atom_id *index,
- const char *index_group_name);
+void trjtools_gmx_prepare_tng_writing(const char *filename,
+ char filemode,
+ t_trxstatus *in,
+ t_trxstatus **out,
+ const char *infile,
+ const int natoms,
+ const struct gmx_mtop_t *mtop,
+ const atom_id *index,
+ const char *index_group_name);
/* Sets up *out for writing TNG. If *in != NULL and contains a TNG trajectory
* some data, e.g. molecule system, will be copied over from *in to *out.
* If *in == NULL a file name (infile) of a TNG file can be provided instead
* tng_trajectory_t are encapsulated, so client trajectory-writing
* code with a t_trxstatus can't just call the TNG writing
* function. */
-void write_tng_frame(t_trxstatus *status,
- t_trxframe *fr);
+void write_tng_frame(t_trxstatus *status,
+ struct t_trxframe *fr);
void close_trx(t_trxstatus *status);
/* Close trj file as opened with read_first_x, read_frist_frame
#define FRAME_NOT_OK (HEADER_NOT_OK | DATA_NOT_OK)
int read_first_frame(const output_env_t oenv, t_trxstatus **status,
- const char *fn, t_trxframe *fr, int flags);
+ const char *fn, struct t_trxframe *fr, int flags);
/* Read the first frame which is in accordance with flags, which are
* defined further up in this file.
* Returns natoms when succeeded, 0 otherwise.
*/
gmx_bool read_next_frame(const output_env_t oenv, t_trxstatus *status,
- t_trxframe *fr);
+ struct t_trxframe *fr);
/* Reads the next frame which is in accordance with fr->flags.
* Returns TRUE when succeeded, FALSE otherwise.
*/
void rewind_trj(t_trxstatus *status);
/* Rewind trj file as opened with read_first_x */
-t_topology *read_top(const char *fn, int *ePBC);
+struct t_topology *read_top(const char *fn, int *ePBC);
/* Extract a topology data structure from a topology file.
* If ePBC!=NULL *ePBC gives the pbc type.
*/
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "vmdio.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#include <windows.h>
#include <shlobj.h>
#endif
-#include "gromacs/utility/smalloc.h"
-#include "futil.h"
-#include "vmdio.h"
-
-#include "types/simple.h"
-#include "vec.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
typedef int (*initfunc)(void);
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-#ifndef GMX_FILEIO_VMDIO_H_
-#define GMX_FILEIO_VMDIO_H_
+#ifndef GMX_FILEIO_VMDIO_H
+#define GMX_FILEIO_VMDIO_H
#include "external/vmd_molfile/molfile_plugin.h"
-#include "trx.h"
+
+#include "gromacs/utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_trxframe;
+
struct gmxvmdplugin
{
molfile_plugin_t *api;
gmx_bool bV;
};
-int read_first_vmd_frame(const char *fn, struct trxframe *fr);
-gmx_bool read_next_vmd_frame(struct trxframe *fr);
+int read_first_vmd_frame(const char *fn, struct t_trxframe *fr);
+gmx_bool read_next_vmd_frame(struct t_trxframe *fr);
#ifdef __cplusplus
}
#endif
-#endif /* GMX_FILEIO_VMDIO_H_ */
+#endif
#include <stdio.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/gmxfio.h"
const char *fontnm[efontNR] = {
#define GMX_FILEIO_WRITEPS_H
#include <stdio.h>
-#include "../legacyheaders/types/matrix.h"
-#include "../legacyheaders/types/simple.h"
+
+#include "../legacyheaders/types/rgb.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "xdrf.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include "typedefs.h"
-#include "xdrf.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
int xdr_real(XDR *xdrs, real *r)
imaj = (int)imaj64;
imin = (int)imin64;
ret = xdr_int(xdrs, &imaj);
- ret = xdr_int(xdrs, &imin);
+ ret |= xdr_int(xdrs, &imin);
*i = (((gmx_int64_t)imaj << 32) | ((gmx_int64_t)imin & two_p32_m1));
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#define GMX_FILEIO_XDRF_H
#include <stdio.h>
-#include "../legacyheaders/typedefs.h"
+
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
#ifdef __PGI /*Portland group compiler*/
#define int64_t long long
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "xtcio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <string.h>
-#include "typedefs.h"
-#include "xdrf.h"
-#include "gmxfio.h"
-#include "xtcio.h"
+
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/xdrf.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "futil.h"
-#include "gmx_fatal.h"
#define XTC_MAGIC 1995
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_FILEIO_XTCIO_H
#define GMX_FILEIO_XTCIO_H
-#include "../legacyheaders/typedefs.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#include "gmxfio.h"
#ifdef __cplusplus
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/fileio/xvgr.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <sys/time.h>
#endif
-#include "sysstuff.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/futil.h"
-#include "copyrite.h"
-#include "oenv.h"
-#include "gromacs/utility/smalloc.h"
-#include "xvgr.h"
-#include "viewit.h"
-#include "vec.h"
-#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/legacyheaders/copyrite.h"
+#include "gromacs/legacyheaders/oenv.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
gmx_bool output_env_get_print_xvgr_codes(const output_env_t oenv)
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_FILEIO_XVGR_H
+#define GMX_FILEIO_XVGR_H
-#ifndef _xvgr_h
-#define _xvgr_h
+#include <stdio.h>
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "viewit.h"
+#include "../legacyheaders/types/oenv.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _xvgr_h */
+#endif
#include <math.h>
#include <stdio.h>
#include <string.h>
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "txtdump.h"
#include "bondf.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "typedefs.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gstat.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/trxio.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
void print_one(const output_env_t oenv, const char *base, const char *name,
const char *title, const char *ylabel, int nf, real time[],
#include "macros.h"
#include "typedefs.h"
-#include "physics.h"
#include "gromacs/utility/smalloc.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "names.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "correl.h"
#define MODE(x) ((mode & (x)) == (x))
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <stdio.h>
-#include "types/simple.h"
-#include "gmx_fatal.h"
+
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/real.h"
/*Make range-array (Permutation identity) for sorting */
void rangeArray(int *ar, int size)
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _binsearch_h
#define _binsearch_h
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C"
#include "cmat.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/fileio/matio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
t_mat *init_mat(int n1, gmx_bool b1D)
{
#include "typedefs.h"
#include "dens_filter.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#ifdef GMX_DOUBLE
#define EXP(x) (exp(x))
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2011,2013, by the GROMACS development team, led by
+ * Copyright (c) 2011,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _dens_filter_h
#define _dens_filter_h
-#include "types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C"
#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
#include "gstat.h"
-#include "gmx_fatal.h"
-#include "index.h"
+
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
t_dlist *mk_dlist(FILE *log,
t_atoms *atoms, int *nlist,
gmx_bool bPhi, gmx_bool bPsi, gmx_bool bChi, gmx_bool bHChi,
- int maxchi, int r0, gmx_residuetype_t rt)
+ int maxchi, int r0, gmx_residuetype_t *rt)
{
int ires, i, j, k, ii;
t_dihatms atm, prev;
#include <config.h>
#endif
+#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/topology/symtab.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "symtab.h"
+#include "gromacs/utility/fatalerror.h"
void replace_atom(t_topology *top, int inr, char *anm, char *resnm,
real q, real m, int type)
idef->il[i].iatoms[j] = niatoms[j];
}
idef->il[i].nr = nnr;
+ /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */
sfree(niatoms);
}
}
#endif
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "eigio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/tpxio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
void read_eigenvectors(const char *file, int *natoms, gmx_bool *bFit,
rvec **xref, gmx_bool *bDMR,
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
const int nfp_ffn[effnNR] = { 0, 1, 2, 3, 2, 5, 7, 9, 4, 3};
#endif
#include "fitahx.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/math/do_fit.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
static void my_calc_xcm(int nbb, atom_id bbind[], rvec x[], rvec xcm)
#endif
#include <math.h>
+#include <stdlib.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "geminate.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxomp.h"
static void missing_code_message()
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
#include "gromacs/fileio/confio.h"
#include "copyrite.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/cstringutil.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/statistics/statistics.h"
#include "gromacs/commandline/pargs.h"
#include "typedefs.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "macros.h"
static const char *etitles[] = { "E-docked", "Free Energy" };
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/matio.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "txtdump.h"
#include "eigio.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
#include "gromacs/math/do_fit.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "copyrite.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "readinp.h"
#include "txtdump.h"
#include "gstat.h"
#include "gromacs/statistics/statistics.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gmx_ana.h"
#include "geminate.h"
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gstat.h"
#include "gromacs/fileio/trnio.h"
#include "gmx_ana.h"
#include <config.h>
#endif
-#include <math.h>
-#include <string.h>
#include <ctype.h>
-#include <math.h>
#include <float.h>
+#include <math.h>
+#include <stdlib.h>
+#include <string.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
#include "macros.h"
#include "gromacs/fileio/enxio.h"
-#include "physics.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
+#include "gromacs/math/units.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gmx_ana.h"
#include "gromacs/math/utilities.h"
#include "gromacs/utility/cstringutil.h"
str += sprintf(str, "dH/dl");
if (strlen(lv->lc->names[lv->dhdl]) > 0)
{
- str += sprintf(str, " (%s)", lv->lc->names[lv->dhdl]);
+ sprintf(str, " (%s)", lv->lc->names[lv->dhdl]);
}
}
}
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define MAX_ENDS 3
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <stdio.h>
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/pdbio.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
+#include "gromacs/topology/residuetypes.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/tpxio.h"
-#include <string.h>
-#include "sysstuff.h"
#include "txtdump.h"
#include "typedefs.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
return j;
}
-static void histogramming(FILE *log, int nbin, gmx_residuetype_t rt,
+static void histogramming(FILE *log, int nbin, gmx_residuetype_t *rt,
int nf, int maxchi, real **dih,
int nlist, t_dlist dlist[],
atom_id index[],
gmx_bool bDo_rt, bDo_oh, bDo_ot, bDo_jc;
real dt = 0, traj_t_ns;
output_env_t oenv;
- gmx_residuetype_t rt;
+ gmx_residuetype_t *rt;
atom_id isize, *index;
int ndih, nactdih, nf;
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
#include "macros.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/utility/cstringutil.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/random/random.h"
-#include "pbc.h"
-#include "rmpbc.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/matio.h"
#include "cmat.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/linearalgebra/eigensolver.h"
#include "gromacs/math/do_fit.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* print to two file pointers at once (i.e. stderr and log) */
static gmx_inline
#include <math.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/commandline/pargs.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/smalloc.h"
-#include "calcgrid.h"
#include "nrnb.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "coulomb.h"
#include "pme.h"
#include "gstat.h"
#include "gromacs/fileio/matio.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void clust_size(const char *ndx, const char *trx, const char *xpm,
const char *xpmw, const char *ncl, const char *acl,
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "typedefs.h"
-#include "xvgr.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/tpxio.h"
-#include "vec.h"
-#include "index.h"
-#include "pbc.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/pdbio.h"
#include "txtdump.h"
#include "viewit.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gmx_ana.h"
#include "gromacs/math/do_fit.h"
{
if (debug)
{
- fprintf(debug, "{%d %d}", *i1+bFW ? dx : dy, *i2+bFW ? dy : dx );
+ fprintf(debug, "{%d %d}", *i1 + (bFW ? dx : dy), *i2 + (bFW ? dy : dx) );
}
if (bFW)
{
#endif
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/trnio.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "txtdump.h"
#include "gromacs/fileio/matio.h"
#include "eigio.h"
-#include "physics.h"
#include "gmx_ana.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/linearalgebra/eigensolver.h"
#include "gromacs/math/do_fit.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
int gmx_covar(int argc, char *argv[])
{
#include <config.h>
#endif
+#include <assert.h>
+#include <stdlib.h>
+
#include "gromacs/commandline/pargs.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "xvgr.h"
-#include "rmpbc.h"
-#include "pbc.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/math/units.h"
+#include "gromacs/topology/index.h"
#include "gromacs/statistics/statistics.h"
#include "gmx_ana.h"
#include "macros.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define SQR(x) (pow(x, 2.0))
#define EPSI0 (EPSILON0*E_CHARGE*E_CHARGE*AVOGADRO/(KILO*NANO)) /* EPSILON0 in SI units */
xshfr[i] = 0.0;
}
}
-
+ assert(time != NULL);
if (nfr == 0)
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <math.h>
-#include <ctype.h>
-#include "sysstuff.h"
+#include <ctype.h>
+#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/utility/cstringutil.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
#include "macros.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
char *atomname;
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "txtdump.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gstat.h"
#include "gromacs/fileio/matio.h"
-#include "pbc.h"
+#include "viewit.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
int gmx_densmap(int argc, char *argv[])
{
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
#include "gromacs/utility/cstringutil.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
-#include "gromacs/fileio/matio.h"
+#include "gromacs/math/units.h"
#include "dens_filter.h"
#include "binsearch.h"
#include "powerspect.h"
#include "gmx_ana.h"
#include "copyrite.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/utility/exceptions.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
#ifdef GMX_DOUBLE
#define FLOOR(x) ((int) floor(x))
#include "gstat.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "correl.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/math/gmxcomplex.h"
#include "gromacs/math/utilities.h"
#include <algorithm>
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "bondf.h"
-#include "gromacs/fileio/futil.h"
-#include "xvgr.h"
+#include "gromacs/utility/futil.h"
+#include "viewit.h"
#include "txtdump.h"
#include "gromacs/statistics/statistics.h"
#include "gstat.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/random/random.h"
#include "names.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "calcmu.h"
#include "gromacs/fileio/enxio.h"
-#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "copyrite.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/linearalgebra/nrjac.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/utility/exceptions.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
#define e2d(x) ENM2DEBYE*(x)
#define EANG2CM E_CHARGE*1.0e-10 /* e Angstrom to Coulomb meter */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <math.h>
+#include <stdlib.h>
#include <string.h>
#include "typedefs.h"
#include "macros.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "vec.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "viewit.h"
#include "gromacs/fileio/confio.h"
-#include "gromacs/utility/smalloc.h"
#include "nrnb.h"
#include "disre.h"
-#include "gromacs/commandline/pargs.h"
#include "force.h"
#include "gstat.h"
#include "main.h"
#include "gromacs/fileio/pdbio.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "mdatoms.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "mdrun.h"
#include "names.h"
-#include "gromacs/fileio/matio.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_ana.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/math/do_fit.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
int n;
#include <config.h>
#endif
-#include "sysstuff.h"
+#include <stdlib.h>
+
#include "typedefs.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/strdb.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
-#include "mshift.h"
-#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/pdbio.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
-#include "gromacs/fileio/matio.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gstat.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "viewit.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/strdb.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static int strip_dssp(char *dsspfile, int nres,
gmx_bool bPhobres[], real t,
gmx_bool *bPhbres, bDoAccSurf;
real t;
int i, j, natoms, nframe = 0;
- matrix box;
+ matrix box = {{0}};
int gnx;
char *grpnm, *ss_str;
atom_id *index;
}
mat.map = NULL;
- mat.nmap = getcmap(libopen(opt2fn("-map", NFILE, fnm)),
- opt2fn("-map", NFILE, fnm), &(mat.map));
+ mat.nmap = readcmap(opt2fn("-map", NFILE, fnm), &(mat.map));
natoms = read_first_x(oenv, &status, ftp2fn(efTRX, NFILE, fnm), &t, &x, box);
if (natoms > atoms->nr)
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <stdio.h>
+
#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
#include "gromacs/fileio/confio.h"
#include "copyrite.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
-#include <string.h>
-#include "sysstuff.h"
#include "txtdump.h"
#include "typedefs.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "correl.h"
#include "gmx_ana.h"
#include "gromacs/fft/fft.h"
#include "copyrite.h"
#include "gromacs/fileio/filenm.h"
#include "macros.h"
-#include "pbc.h"
-#include "gromacs/utility/smalloc.h"
+#include "gromacs/math/vec.h"
+
#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/fileio/trx.h"
#include "gromacs/fileio/trxio.h"
-
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
int gmx_dyecoupl(int argc, char *argv[])
{
int ndon, nacc;
atom_id *donindex, *accindex;
char *grpnm;
- t_atoms *atoms = NULL;
t_trxstatus *status;
t_trxframe fr;
}
printf("Select group with donor atom pairs defining the transition moment\n");
- get_index(atoms, ftp2fn_null(efNDX, NFILE, fnm), 1, &ndon, &donindex, &grpnm);
+ get_index(NULL, ftp2fn_null(efNDX, NFILE, fnm), 1, &ndon, &donindex, &grpnm);
printf("Select group with acceptor atom pairs defining the transition moment\n");
- get_index(atoms, ftp2fn_null(efNDX, NFILE, fnm), 1, &nacc, &accindex, &grpnm);
+ get_index(NULL, ftp2fn_null(efNDX, NFILE, fnm), 1, &nacc, &accindex, &grpnm);
/*check if groups are identical*/
grident = TRUE;
#include <config.h>
#endif
-#include "gromacs/math/3dview.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/utility/smalloc.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/confio.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
#include "macros.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/3dtransforms.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void rot_conf(t_atoms *atoms, rvec x[], rvec v[], real trans, real angle,
rvec head, rvec tail, int isize, atom_id index[],
/* Now the total rotation matrix: */
/* Rotate a couple of times */
- rotate(ZZ, -phi, Rz);
- rotate(YY, M_PI/2-theta, Ry);
- rotate(XX, angle*DEG2RAD, Rx);
+ gmx_mat4_init_rotation(ZZ, -phi, Rz);
+ gmx_mat4_init_rotation(YY, M_PI/2-theta, Ry);
+ gmx_mat4_init_rotation(XX, angle*DEG2RAD, Rx);
Rx[WW][XX] = trans;
- rotate(YY, theta-M_PI/2, Rinvy);
- rotate(ZZ, phi, Rinvz);
+ gmx_mat4_init_rotation(YY, theta-M_PI/2, Rinvy);
+ gmx_mat4_init_rotation(ZZ, phi, Rinvz);
- mult_matrix(temp1, Ry, Rz);
- mult_matrix(temp2, Rinvy, Rx);
- mult_matrix(temp3, temp2, temp1);
- mult_matrix(Mtot, Rinvz, temp3);
+ gmx_mat4_mmul(temp1, Ry, Rz);
+ gmx_mat4_mmul(temp2, Rinvy, Rx);
+ gmx_mat4_mmul(temp3, temp2, temp1);
+ gmx_mat4_mmul(Mtot, Rinvz, temp3);
- print_m4(debug, "Rz", Rz);
- print_m4(debug, "Ry", Ry);
- print_m4(debug, "Rx", Rx);
- print_m4(debug, "Rinvy", Rinvy);
- print_m4(debug, "Rinvz", Rinvz);
- print_m4(debug, "Mtot", Mtot);
+ if (debug)
+ {
+ gmx_mat4_print(debug, "Rz", Rz);
+ gmx_mat4_print(debug, "Ry", Ry);
+ gmx_mat4_print(debug, "Rx", Rx);
+ gmx_mat4_print(debug, "Rinvy", Rinvy);
+ gmx_mat4_print(debug, "Rinvz", Rinvz);
+ gmx_mat4_print(debug, "Mtot", Mtot);
+ }
for (i = 0; (i < isize); i++)
{
ai = index[i];
- m4_op(Mtot, xout[ai], xv);
+ gmx_mat4_transform_point(Mtot, xout[ai], xv);
rvec_add(xv, xcm, xout[ai]);
- m4_op(Mtot, v[ai], xv);
+ gmx_mat4_transform_point(Mtot, v[ai], xv);
copy_rvec(xv, vout[ai]);
}
}
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
-#include "symtab.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/strdb.h"
-#include "index.h"
-#include "vec.h"
+#include "gromacs/topology/index.h"
#include "typedefs.h"
#include "gromacs/gmxlib/conformation-utilities.h"
-#include "physics.h"
-#include "atomprop.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "pbc.h"
#include "princ.h"
#include "txtdump.h"
#include "viewit.h"
-#include "rmpbc.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct
{
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <string.h>
+
#include <math.h>
+#include <stdlib.h>
+#include <string.h>
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "disre.h"
#include "names.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/fileio/enxio.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gmx_ana.h"
#include "gromacs/fileio/trxio.h"
nset = 0;
timestep = 0.0;
snew(fnms, argc);
- nfile = 0;
lastfilestep = 0;
laststep = startstep = 0;
#include "gromacs/utility/cstringutil.h"
#include "typedefs.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/enxio.h"
#include "gromacs/commandline/pargs.h"
#include "names.h"
#include "macros.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "gstat.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/matio.h"
#include "gromacs/fileio/strdb.h"
#include "gmx_ana.h"
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
#include "typedefs.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/enxio.h"
#include "names.h"
#include "copyrite.h"
#include "macros.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "gstat.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "viewit.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_ana.h"
#include "mdebin.h"
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gmx_ana.h"
#include "gromacs/math/do_fit.h"
#endif
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/commandline/pargs.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "force.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/math/utilities.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/tpxio.h"
#include "mdrun.h"
-#include "main.h"
#include "gromacs/random/random.h"
-#include "index.h"
-#include "mtop_util.h"
+#include "gromacs/topology/index.h"
#include "gmx_ana.h"
static void insert_ion(int nsa, int *nwater,
#endif
#include <math.h>
-#include "sysstuff.h"
-#include "gromacs/commandline/pargs.h"
#include <string.h>
+
+#include "gromacs/commandline/pargs.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "gromacs/fileio/confio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
-#include "vec.h"
-#include "index.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gmx_ana.h"
int gmx_genpr(int argc, char *argv[])
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "txtdump.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gstat.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
real calc_gyro(rvec x[], int gnx, atom_id index[], t_atom atom[], real tm,
rvec gvec, rvec d, gmx_bool bQ, gmx_bool bRot, gmx_bool bMOI, matrix trans)
#endif
#include <math.h>
-
-#include "sysstuff.h"
#include <string.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "princ.h"
-#include "rmpbc.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gmx_ana.h"
#include "gromacs/fileio/trxio.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/****************************************************************************/
/* This program calculates the ordering of water molecules across a box, as */
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
-#include "sysstuff.h"
#include "txtdump.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gstat.h"
#include "gromacs/utility/cstringutil.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "correl.h"
#include "gmx_ana.h"
#include "geminate.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/matio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
{
int i;
- if (ISDON(datable[id]) || !datable)
+ if (!datable || ISDON(datable[id]))
{
if (ddd->dptr[id] == NOTSET) /* New donor */
{
static void normalizeACF(real *ct, real *gt, int nhb, int len)
{
- real ct_fac, gt_fac;
+ real ct_fac, gt_fac = 0;
int i;
/* Xu and Berne use the same normalization constant */
ct_fac = 1.0/ct[0];
- gt_fac = (nhb == 0) ? 0 : 1.0/(real)nhb;
+ if (nhb != 0)
+ {
+ gt_fac = 1.0/(real)nhb;
+ }
printf("Normalization for c(t) = %g for gh(t) = %g\n", ct_fac, gt_fac);
for (i = 0; i < len; i++)
{
t_matrix mat;
int id, ia, hh, x, y;
+ mat.flags = mat.y0 = 0;
if ((nframes > 0) && (hb->nrhb > 0))
{
#endif
#include <math.h>
+#include <string.h>
#include "gromacs/fileio/confio.h"
-#include "gmx_fatal.h"
#include "fitahx.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "hxprops.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "pbc.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
-#include "index.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/commandline/pargs.h"
-#include <string.h>
-#include "sysstuff.h"
#include "txtdump.h"
#include "typedefs.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "viewit.h"
#include "gmx_ana.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+
int gmx_helix(int argc, char *argv[])
{
const char *desc[] = {
#include <math.h>
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "xvgr.h"
-#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "index.h"
-#include "pbc.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "gstat.h"
-#include "pbc.h"
#include "gmx_ana.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/math/do_fit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
int gmx_helixorient(int argc, char *argv[])
{
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "gromacs/fileio/matio.h"
#include "binsearch.h"
#include "powerspect.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* Print name of first atom in all groups in index file */
static void print_types(atom_id index[], atom_id a[], int ngrps,
fprintf(stderr, "Using following groups: \n");
for (i = 0; i < ngrps; i++)
{
- fprintf(stderr, "Groupname: %s First atomname: %s First atomnr %u\n",
+ fprintf(stderr, "Groupname: %s First atomname: %s First atomnr %d\n",
groups[i], *(top->atoms.atomname[a[index[i]]]), a[index[i]]);
}
fprintf(stderr, "\n");
#include <config.h>
#endif
+#include <math.h>
#include <stdio.h>
#include <stdlib.h>
-#include <math.h>
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "txtdump.h"
#include "gromacs/fileio/enxio.h"
#include "gstat.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gmx_ana.h"
#include "gromacs/fileio/trxio.h"
#include <string.h>
#include "readinp.h"
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/tpxio.h"
-#include "gromacs/fileio/matio.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/fileio/xvgr.h"
#include "txtdump.h"
#include "eigio.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/cstringutil.h"
typedef struct
printf("\n");
}
- EigvecFile = NULL;
EigvecFile = opt2fn("-f", NFILE, fnm);
/*read eigenvectors from eigvec.trr*/
#include <ctype.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/confio.h"
#include "typedefs.h"
-#include "index.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/math/vec.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* It's not nice to have size limits, but we should not spend more time
* on this ancient tool, but instead use the new selection library.
{
rvec_sub(x[ca_end], x[i], vec);
}
+ else
+ {
+ break;
+ }
}
- while ((i < natoms) && (norm(vec) < 0.45));
+ while (norm(vec) < 0.45);
end[nchain] = ca_end;
while ((end[nchain]+1 < natoms) &&
#include <string.h>
#include "macros.h"
-#include "vec.h"
-#include "sysstuff.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "gromacs/fileio/filenm.h"
#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/matio.h"
-#include "xvgr.h"
-#include "index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "rmpbc.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gmx_ana.h"
int **nmat, **totnmat;
real *mean_n;
int *tot_n;
- matrix box;
+ matrix box = {{0}};
output_env_t oenv;
gmx_rmpbc_t gpbc = NULL;
#include <math.h>
#include <stdlib.h>
-
-#include "sysstuff.h"
#include <string.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gmx_ana.h"
#include "names.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/fileio/trxio.h"
static int calc_ntype(int nft, int *ft, t_idef *idef)
#include <config.h>
#endif
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gromacs/fileio/confio.h"
-#include "xvgr.h"
-#include "index.h"
+#include "viewit.h"
+#include "gromacs/topology/index.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/math/do_fit.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static real dointerp(int n, rvec x1[], rvec x2[], rvec xx[],
int I, int N, real first, real last)
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
#include "gromacs/math/utilities.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "typedefs.h"
-#include "xvgr.h"
+#include "viewit.h"
#include "gstat.h"
#include "gromacs/statistics/statistics.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "pbc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#define FACTOR 1000.0 /* Convert nm^2/ps to 10e-5 cm^2/s */
/* NORMAL = total diffusion coefficient (default). X,Y,Z is diffusion
#include <math.h>
#include <string.h>
-#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
#include "copyrite.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "txtdump.h"
#include "eigio.h"
-#include "mtop_util.h"
-#include "physics.h"
-#include "main.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/mtxio.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/linearalgebra/eigensolver.h"
-#include "gromacs/linearalgebra/mtxio.h"
#include "gromacs/linearalgebra/sparsematrix.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/smalloc.h"
static double cv_corr(double nu, double T)
{
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "txtdump.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/random/random.h"
#include "eigio.h"
#include "gmx_ana.h"
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "txtdump.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "eigio.h"
#include "gmx_ana.h"
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/confio.h"
#include "cmat.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/****************************************************************************/
/* This program calculates the order parameter per atom for an interface or */
fprintf(stderr, "Using following groups: \n");
for (i = 0; i < ngrps; i++)
{
- fprintf(stderr, "Groupname: %s First atomname: %s First atomnr %u\n",
+ fprintf(stderr, "Groupname: %s First atomname: %s First atomnr %d\n",
groups[i], *(top->atoms.atomname[a[index[i]]]), a[index[i]]);
}
fprintf(stderr, "\n");
#include "typedefs.h"
#include "types/commrec.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "copyrite.h"
#include "gromacs/fileio/tpxio.h"
#include "readinp.h"
#include "checkpoint.h"
#include "gmx_ana.h"
#include "gromacs/random/random.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "mdatoms.h"
#include "coulomb.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "network.h"
#include "main.h"
#include "macros.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* We use the same defines as in mvdata.c here */
#define block_bc(cr, d) gmx_bcast( sizeof(d), &(d), (cr))
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
-#include "physics.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "macros.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
#include <config.h>
#endif
-#include <math.h>
#include <ctype.h>
-
-#include "sysstuff.h"
+#include <math.h>
#include <string.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "princ.h"
-#include "rmpbc.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gmx_ana.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/trxio.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define EPS0 8.85419E-12
#define ELC 1.60219E-19
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "txtdump.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/xvgr.h"
#include "gstat.h"
#include "gmx_ana.h"
#endif
#include <math.h>
-#include "sysstuff.h"
#include <string.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "physics.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/math/units.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/commandline/pargs.h"
-#include "index.h"
#include "nrama.h"
#include "gmx_ana.h"
#include <math.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "viewit.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
-#include "index.h"
-#include "gromacs/utility/smalloc.h"
-#include "calcgrid.h"
+#include "gromacs/topology/index.h"
#include "nrnb.h"
#include "coulomb.h"
#include "gstat.h"
-#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "names.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void check_box_c(matrix box)
{
#include <config.h>
#endif
-#include "gromacs/utility/smalloc.h"
#include <math.h>
+#include <stdlib.h>
+
+#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "typedefs.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "copyrite.h"
#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "index.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/fileio/matio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
int ePBC;
t_iatom *iatom = NULL;
- matrix box;
+ matrix box = {{0}};
rvec *x, *xp, *xm = NULL, **mat_x = NULL, **mat_x2, *mat_x2_j = NULL, vec1,
vec2;
t_trxstatus *status;
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/strdb.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "index.h"
-#include "pbc.h"
-#include "xvgr.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include <config.h>
#endif
-#include "gromacs/utility/smalloc.h"
#include <math.h>
+
+#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "typedefs.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
-#include "physics.h"
+
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "xvgr.h"
#include "gstat.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
+#include "viewit.h"
#include "gmx_ana.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
int gmx_rotacf(int argc, char *argv[])
{
#include <string.h>
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
#include <string.h>
#include "macros.h"
-#include "vec.h"
-#include "sysstuff.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "gromacs/fileio/filenm.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
-#include "xvgr.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/fileio/xvgr.h"
#include "gmx_ana.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
typedef struct {
char *label;
#include <config.h>
#endif
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
#include "copyrite.h"
-#include "gromacs/commandline/pargs.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gstat.h"
#include "gmx_ana.h"
#include "nsfactor.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/fileio/matio.h"
+#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
int gmx_sans(int argc, char *argv[])
{
#include <math.h>
-#include "sysstuff.h"
-#include "typedefs.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "xvgr.h"
#include "copyrite.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/tpxio.h"
-#include "physics.h"
-#include "index.h"
-#include "gromacs/utility/smalloc.h"
-#include "calcgrid.h"
-#include "nrnb.h"
-#include "coulomb.h"
-#include "gstat.h"
-#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
-#include "names.h"
#include "sfactor.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/utility/smalloc.h"
+
int gmx_saxs(int argc, char *argv[])
{
const char *desc[] = {
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "readinp.h"
#include "txtdump.h"
#include "gstat.h"
-#include "xvgr.h"
-#include "physics.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include <config.h>
#endif
-#include <stdio.h>
#include <math.h>
+#include <stdio.h>
#include "typedefs.h"
#include "gromacs/commandline/pargs.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "pbc.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
#include "names.h"
#include "txtdump.h"
#include "gromacs/fileio/trnio.h"
-#include "symtab.h"
#include "gromacs/fileio/confio.h"
real pot(real x, real qq, real c6, real cn, int npow)
#endif
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/utility/smalloc.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void calc_com_pbc(int nrefat, t_topology *top, rvec x[], t_pbc *pbc,
atom_id index[], rvec xref, gmx_bool bPBC)
#include <config.h>
#endif
-
+#include <math.h>
+#include <stdlib.h>
#include "gromacs/commandline/pargs.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include <math.h>
-#include "index.h"
-#include "pbc.h"
-#include "rmpbc.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gmx_ana.h"
#include "macros.h"
-
static const double bohr = 0.529177249; /* conversion factor to compensate for VMD plugin conversion... */
-static void mequit(void)
-{
- printf("Memory allocation error\n");
- exit(1);
-}
-
int gmx_spatial(int argc, char *argv[])
{
const char *desc[] = {
MINBIN[i] -= (double)iNAB*rBINWIDTH;
nbin[i] = (long)ceil((MAXBIN[i]-MINBIN[i])/rBINWIDTH);
}
- bin = (long ***)malloc(nbin[XX]*sizeof(long **));
- if (!bin)
- {
- mequit();
- }
+ snew(bin, nbin[XX]);
for (i = 0; i < nbin[XX]; ++i)
{
- bin[i] = (long **)malloc(nbin[YY]*sizeof(long *));
- if (!bin[i])
- {
- mequit();
- }
+ snew(bin[i], nbin[YY]);
for (j = 0; j < nbin[YY]; ++j)
{
- bin[i][j] = (long *)calloc(nbin[ZZ], sizeof(long));
- if (!bin[i][j])
- {
- mequit();
- }
+ snew(bin[i][j], nbin[ZZ]);
}
}
copy_mat(box, box_pbc);
#endif
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/utility/smalloc.h"
#include "gstat.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "index.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void calc_com_pbc(int nrefat, t_topology *top, rvec x[], t_pbc *pbc,
atom_id index[], rvec xref, int ePBC)
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <stdio.h>
#include <math.h>
+#include <stdio.h>
+#include <string.h>
+
#include "gromacs/fileio/confio.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
-#include <string.h>
-#include "sysstuff.h"
#include "txtdump.h"
#include "typedefs.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gmx_ana.h"
#include "gromacs/fileio/trxio.h"
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "rmpbc.h"
-#include "physics.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
#include "gromacs/linearalgebra/nrjac.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void low_print_data(FILE *fp, real time, rvec x[], int n, atom_id *index,
gmx_bool bDim[], const char *sffmt)
#include <config.h>
#endif
-#include <string.h>
#include <math.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "macros.h"
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/tngio.h"
#include "gromacs/fileio/tngio_for_tools.h"
#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
-#include "index.h"
-#include "vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/xtcio.h"
-#include "rmpbc.h"
-#include "pbc.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define TIME_EXPLICIT 0
#define TIME_CONTINUE 1
#include <config.h>
#endif
-#include <string.h>
#include <math.h>
+#include <stdlib.h>
+#include <string.h>
#include "copyrite.h"
#include "macros.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/tngio_for_tools.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
-#include "index.h"
-#include "vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/xtcio.h"
-#include "rmpbc.h"
-#include "pbc.h"
#include "viewit.h"
-#include "xvgr.h"
#include "gmx_ana.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/math/do_fit.h"
-#include "gmx_fatal.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pbcutil/rmpbc.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "mshift.h"
-#include "xvgr.h"
-#include "princ.h"
-#include "rmpbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/fileio/xvgr.h"
+
+#include "gromacs/pbcutil/rmpbc.h"
#include "txtdump.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
typedef struct {
atom_id i;
#include <config.h>
#endif
+#include <stdlib.h>
#include <time.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#include "typedefs.h"
#include "types/commrec.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "copyrite.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/timing/walltime_accounting.h"
#include "gromacs/math/utilities.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* Enum for situations that can occur during log file parsing, the
* corresponding string entries can be found in do_the_tests() in
}
-static gmx_bool is_equal(real a, real b)
-{
- real diff, eps = 1.0e-7;
-
-
- diff = a - b;
-
- if (diff < 0.0)
- {
- diff = -diff;
- }
-
- if (diff < eps)
- {
- return TRUE;
- }
- else
- {
- return FALSE;
- }
-}
-
-
static void remove_if_exists(const char *fn)
{
if (gmx_fexist(fn))
fprintf(fp, "\n");
/* Only mention settings if they were modified: */
- bRefinedCoul = !is_equal(info->rcoulomb[k_win], info->rcoulomb[0]);
- bRefinedVdW = !is_equal(info->rvdw[k_win], info->rvdw[0] );
+ bRefinedCoul = !gmx_within_tol(info->rcoulomb[k_win], info->rcoulomb[0], GMX_REAL_EPS);
+ bRefinedVdW = !gmx_within_tol(info->rvdw[k_win], info->rvdw[0], GMX_REAL_EPS);
bRefinedGrid = !(info->nkx[k_win] == info->nkx[0] &&
info->nky[k_win] == info->nky[0] &&
info->nkz[k_win] == info->nkz[0]);
{
/* Determine which Coulomb radii rc to use in the benchmarks */
add = (rmax-rmin)/(*ntprs-1);
- if (is_equal(rmin, info->rcoulomb[0]))
+ if (gmx_within_tol(rmin, info->rcoulomb[0], GMX_REAL_EPS))
{
ir->rcoulomb = rmin + j*add;
}
- else if (is_equal(rmax, info->rcoulomb[0]))
+ else if (gmx_within_tol(rmax, info->rcoulomb[0], GMX_REAL_EPS))
{
ir->rcoulomb = rmin + (j-1)*add;
}
fprintf(fp, " %-14s\n", fn_bench_tprs[j]);
/* Make it clear to the user that some additional settings were modified */
- if (!is_equal(ir->rvdw, info->rvdw[0])
- || !is_equal(ir->rlistlong, info->rlistlong[0]) )
+ if (!gmx_within_tol(ir->rvdw, info->rvdw[0], GMX_REAL_EPS)
+ || !gmx_within_tol(ir->rlistlong, info->rlistlong[0], GMX_REAL_EPS) )
{
bNote = TRUE;
}
/* Add test scenarios if rmin or rmax were set */
if (*ntprs <= 2)
{
- if (!is_equal(*rmin, rcoulomb) && (*ntprs == 1) )
+ if (!gmx_within_tol(*rmin, rcoulomb, GMX_REAL_EPS) && (*ntprs == 1) )
{
(*ntprs)++;
fprintf(stderr, "NOTE: Setting -rmin to %g changed -ntpr to %d\n",
*rmin, *ntprs);
}
- if (!is_equal(*rmax, rcoulomb) && (*ntprs == 1) )
+ if (!gmx_within_tol(*rmax, rcoulomb, GMX_REAL_EPS) && (*ntprs == 1) )
{
(*ntprs)++;
fprintf(stderr, "NOTE: Setting -rmax to %g changed -ntpr to %d\n",
}
old = *ntprs;
/* If one of rmin, rmax is set, we need 2 tpr files at minimum */
- if (!is_equal(*rmax, rcoulomb) || !is_equal(*rmin, rcoulomb) )
+ if (!gmx_within_tol(*rmax, rcoulomb, GMX_REAL_EPS) || !gmx_within_tol(*rmin, rcoulomb, GMX_REAL_EPS) )
{
*ntprs = max(*ntprs, 2);
}
/* If both rmin, rmax are set, we need 3 tpr files at minimum */
- if (!is_equal(*rmax, rcoulomb) && !is_equal(*rmin, rcoulomb) )
+ if (!gmx_within_tol(*rmax, rcoulomb, GMX_REAL_EPS) && !gmx_within_tol(*rmin, rcoulomb, GMX_REAL_EPS) )
{
*ntprs = max(*ntprs, 3);
}
if (*ntprs > 1)
{
- if (is_equal(*rmin, rcoulomb) && is_equal(rcoulomb, *rmax)) /* We have just a single rc */
+ if (gmx_within_tol(*rmin, rcoulomb, GMX_REAL_EPS) && gmx_within_tol(rcoulomb, *rmax, GMX_REAL_EPS)) /* We have just a single rc */
{
fprintf(stderr, "WARNING: Resetting -ntpr to 1 since no Coulomb radius scaling is requested.\n"
"Please set rmin < rmax to test Coulomb radii in the [rmin, rmax] interval\n"
#include <config.h>
#endif
+#include <assert.h>
#include <math.h>
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/math/utilities.h"
-#include "gromacs/fileio/futil.h"
-#include "index.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/topology/index.h"
#include "typedefs.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gstat.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
srenew(sbox, nalloc);
srenew(sx, nalloc);
}
+ assert(time != NULL); assert(sbox != NULL);
time[nfr] = t;
copy_mat(box, sbox[nfr]);
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <stdio.h>
+
#include <math.h>
+#include <stdio.h>
+#include <string.h>
#include "gromacs/fileio/confio.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gstat.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/commandline/pargs.h"
-#include <string.h>
-#include "sysstuff.h"
#include "txtdump.h"
#include "typedefs.h"
-#include "vec.h"
-#include "xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/fileio/xvgr.h"
+#include "viewit.h"
#include "gmx_ana.h"
#include "gromacs/fft/fft.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/commandline/pargs.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "copyrite.h"
#include "gromacs/fileio/tpxio.h"
#include "names.h"
#include "gmx_ana.h"
#include "macros.h"
#include "gromacs/utility/cstringutil.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
//! longest file names allowed in input files
#define WHAM_MAXFILELEN 2048
#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
-#include "physics.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "xvgr.h"
-#include "pbc.h"
-#include "pbc.h"
-#include "index.h"
+#include "gromacs/math/vec.h"
#include "gstat.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gmx_ana.h"
#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/strdb.h"
#include "gromacs/fileio/writeps.h"
#include <math.h>
#include "typedefs.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "viewit.h"
#include "gmx_ana.h"
#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/matio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/writeps.h"
sfree(mat[i].map);
mat[i].nmap = nmap;
mat[i].map = map;
- if (mat2 && (strcmp(mat[i].title, mat2[i].title) != 0))
+ if (strcmp(mat[i].title, mat2[i].title) != 0)
{
sprintf(mat[i].title+strlen(mat[i].title), " / %s", mat2[i].title);
}
- if (mat2 && (strcmp(mat[i].legend, mat2[i].legend) != 0))
+ if (strcmp(mat[i].legend, mat2[i].legend) != 0)
{
sprintf(mat[i].legend+strlen(mat[i].legend), " / %s", mat2[i].legend);
}
#define GMX_GMXANA_GSTAT_H
#include "../legacyheaders/typedefs.h"
-#include "../commandline/pargs.h"
#include "../legacyheaders/oenv.h"
-#include "../legacyheaders/mshift.h"
-#include "../legacyheaders/rmpbc.h"
-#include "../legacyheaders/index.h"
+#include "../commandline/pargs.h"
+#include "../topology/index.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_residuetype_t;
+
/***********************************************
*
* A U T O C O R R E L A T I O N
t_dlist *mk_dlist(FILE *log,
t_atoms *atoms, int *nlist,
gmx_bool bPhi, gmx_bool bPsi, gmx_bool bChi, gmx_bool bHChi,
- int maxchi, int r0, gmx_residuetype_t rt);
+ int maxchi, int r0, struct gmx_residuetype_t *rt);
void pr_dlist(FILE *fp, int nl, t_dlist dl[], real dt, int printtype,
gmx_bool bPhi, gmx_bool bPsi, gmx_bool bChi, gmx_bool bOmega, int maxchi);
#include "typedefs.h"
#include "macros.h"
-#include "physics.h"
-#include "vec.h"
-#include "index.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/index.h"
#include "hxprops.h"
#include "gromacs/utility/smalloc.h"
#include "bondf.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
real ellipticity(int nres, t_bb bb[])
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <stdio.h>
#include <stdlib.h>
-#include "types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
static void nrerror(const char error_text[], gmx_bool bExit)
{
{
nrerror("allocation failure in rvector()", TRUE);
}
+ /* cppcheck-suppress memleak
+ * free_vector does the same vector arithmetic */
return v-nl;
}
{
nrerror("allocation failure in ivector()", TRUE);
}
+ /* cppcheck-suppress memleak
+ * free_vector does the same vector arithmetic */
return v-nl;
}
#include <config.h>
#endif
-#include "nrama.h"
#include <math.h>
-#include "sysstuff.h"
+#include <stdlib.h>
+
+#include "nrama.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "bondf.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
-#include "rmpbc.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/pbcutil/rmpbc.h"
static const char *pp_pat[] = { "C", "N", "CA", "C", "N" };
#define NPP (sizeof(pp_pat)/sizeof(pp_pat[0]))
#include "typedefs.h"
#include "oenv.h"
-#include "mshift.h"
#include "../fileio/trxio.h"
#ifdef __cplusplus
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "nsfactor.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <string.h>
-#include "gromacs/random/random.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include "vec.h"
-#include "nsfactor.h"
-
-#include "gromacs/fileio/futil.h"
#include "gromacs/fileio/strdb.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/random/random.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
void check_binwidth(real binwidth)
{
#ifndef _nsfactor_h
#define _nsfactor_h
-#include "index.h"
-#include "types/simple.h"
-#include "oenv.h"
+#include "gromacs/legacyheaders/oenv.h"
+#include "gromacs/legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_topology;
+
typedef struct gmx_neutron_atomic_structurefactors_t {
int nratoms;
int *p; /* proton number */
} gmx_neutron_atomic_structurefactors_t;
typedef struct gmx_sans_t {
- t_topology *top; /* topology */
- double *slength; /* scattering length for this topology */
+ struct t_topology *top; /* topology */
+ double *slength; /* scattering length for this topology */
} gmx_sans_t;
typedef struct gmx_radial_distribution_histogram_t {
gmx_neutron_atomic_structurefactors_t *gmx_neutronstructurefactors_init(const char *datfn);
-gmx_sans_t *gmx_sans_init(t_topology *top, gmx_neutron_atomic_structurefactors_t *gnsf);
+gmx_sans_t *gmx_sans_init(struct t_topology *top, gmx_neutron_atomic_structurefactors_t *gnsf);
gmx_radial_distribution_histogram_t *calc_radial_distribution_histogram (gmx_sans_t *gsans,
rvec *x,
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <stdio.h>
#include <math.h>
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gstat.h"
real LegendreP(real x, unsigned long m)
#include "gromacs/utility/smalloc.h"
#include "gromacs/fft/fft.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "interf.h"
#include "powerspect.h"
/*Prepare data structures for FFT, with time averaging of power spectrum*/
if ( (status = gmx_fft_init_2d_real(&fftp, xbins, ybins, GMX_FFT_FLAG_NONE) ) != 0)
{
- free(fftp);
gmx_fatal(status, __FILE__, __LINE__, "Error allocating FFT");
}
gmx_ffclose(datfile1);
gmx_ffclose(datfile2);
- free(ftspect1);
- free(ftspect2);
+ sfree(ftspect1);
+ sfree(ftspect2);
}
#include <stdlib.h>
#include <math.h>
#include "typedefs.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/utility/smalloc.h"
#include "gstat.h"
#include "gromacs/fileio/matio.h"
#include "copyrite.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
typedef struct {
int nx, ny;
#endif
#include "typedefs.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "txtdump.h"
#include "princ.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-#ifndef _princ_h
-#define _princ_h
+#ifndef GMX_GMXANA_PRINC_H
+#define GMX_GMXANA_PRINC_H
#include "typedefs.h"
#include <config.h>
#endif
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/math/utilities.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "gromacs/fileio/strdb.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "typedefs.h"
#include "oenv.h"
#include "gromacs/fileio/gmxfio.h"
-#include "xvgr.h"
-#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/xvgr.h"
#include "names.h"
#include "sfactor.h"
t_complex ***t;
int i, j;
- t = (t_complex ***)calloc(x, sizeof(t_complex**));
- if (!t)
- {
- exit(fprintf(stderr, "\nallocation error"));
- }
- t[0] = (t_complex **)calloc(x*y, sizeof(t_complex*));
- if (!t[0])
- {
- exit(fprintf(stderr, "\nallocation error"));
- }
- t[0][0] = (t_complex *)calloc(x*y*z, sizeof(t_complex));
- if (!t[0][0])
- {
- exit(fprintf(stderr, "\nallocation error"));
- }
+ snew(t, x);
+ snew(t[0], x*y);
+ snew(t[0][0], x*y*z);
for (j = 1; j < y; j++)
{
}
}
}
- sfree (counter); free(tmpSF[0][0]); free(tmpSF[0]); free(tmpSF);
+ sfree(counter);
+ sfree(tmpSF[0][0]);
+ sfree(tmpSF[0]);
+ sfree(tmpSF);
}
{
copy_rvec (fr->x[index[i]], pos[i].x);
}
-
- positions = (reduced_atom_t *)pos;
}
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
#ifndef _sfactor_h
#define _sfactor_h
-
-#include "index.h"
#include "types/simple.h"
#include "../math/gmxcomplex.h"
#include "oenv.h"
-
-
#ifdef __cplusplus
extern "C" {
#endif
+struct t_topology;
+struct t_trxframe;
typedef struct gmx_structurefactors gmx_structurefactors_t;
int return_atom_type (const char *name, gmx_structurefactors_t *gsf);
-void rearrange_atoms (reduced_atom_t * positions, t_trxframe *fr, atom_id * index,
- int isize, t_topology * top, gmx_bool flag, gmx_structurefactors_t *gsf);
+void rearrange_atoms (reduced_atom_t * positions, struct t_trxframe *fr, atom_id * index,
+ int isize, struct t_topology * top, gmx_bool flag, gmx_structurefactors_t *gsf);
int do_scattering_intensity (const char* fnTPS, const char* fnNDX,
const char* fnXVG, const char *fnTRX,
# conditionally built, so we cannot use a GLOB_RECURSE here.
file(GLOB GMXLIB_SOURCES *.c *.cpp)
-# Files called xxx_test.c are test drivers with a main() function for module xxx.c,
-# so they should not be included in the library
-file(GLOB_RECURSE NOT_GMXLIB_SOURCES *_test.c *\#*)
-list(REMOVE_ITEM GMXLIB_SOURCES ${NOT_GMXLIB_SOURCES})
-
# gpu utils + cuda tools module
if(GMX_GPU)
# The log file output queries Cuda if GPU support is enabled
add_subdirectory(cuda_tools)
- add_subdirectory(gpu_utils)
+ add_subdirectory(gpu_utils)
set(GMX_GPU_LIBRARIES ${GMX_GPU_LIBRARIES} gpu_utils cuda_tools PARENT_SCOPE)
endif()
#include <config.h>
#endif
-#include <math.h>
#include <assert.h>
-#include "physics.h"
-#include "vec.h"
+#include <math.h>
+
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "gromacs/math/utilities.h"
#include "txtdump.h"
#include "bondf.h"
-#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
#include "ns.h"
#include "macros.h"
#include "names.h"
-#include "gmx_fatal.h"
-#include "mshift.h"
-#include "main.h"
#include "disre.h"
#include "orires.h"
#include "force.h"
#include "nonbonded.h"
#include "restcbt.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/simd_math.h"
#include "gromacs/simd/vector_operations.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* Find a better place for this? */
const int cmap_coeff_matrix[] = {
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "calcgrid.h"
/* The grid sizes below are based on timing of a 3D cubic grid in fftw
#endif
#include <math.h>
-#include "sysstuff.h"
#include "typedefs.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "chargegroup.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
-
+#include "checkpoint.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
+#include <fcntl.h>
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
#include "names.h"
#include "typedefs.h"
#include "types/commrec.h"
-#include "gromacs/utility/smalloc.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "network.h"
-#include "checkpoint.h"
-#include "main.h"
-#include "gromacs/utility/cstringutil.h"
-#include <fcntl.h>
#include "gromacs/fileio/filenm.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/xdrf.h"
#include "gromacs/fileio/xdr_datatype.h"
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/baseversion.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#include "buildinfo.h"
return 0;
#else
FILE *fp;
- int rc;
fp = fopen(filename, "rb+");
{
if (dtc == xdr_datatype_double)
{
+ /* cppcheck-suppress invalidPointerCast
+ * Only executed if real is anyhow double */
vd = (double *)vp;
}
else
static int do_cpte_real(XDR *xd, int cptp, int ecpt, int sflags,
real *r, FILE *list)
{
- int n;
-
return do_cpte_reals_low(xd, cptp, ecpt, sflags, 1, NULL, &r, list, ecprREAL);
}
bool_t res = 0;
int dtc = xdr_datatype_int;
int *vp, *va = NULL;
- int nf, dt, i;
+ int nf, dt;
nf = n;
res = xdr_int(xd, &nf);
bool_t res = 0;
int dtc = xdr_datatype_double;
double *vp, *va = NULL;
- int nf, dt, i;
+ int nf, dt;
nf = n;
res = xdr_int(xd, &nf);
static int do_cpte_rvecs(XDR *xd, int cptp, int ecpt, int sflags,
int n, rvec **v, FILE *list)
{
- int n3;
-
return do_cpte_reals_low(xd, cptp, ecpt, sflags,
n*DIM, NULL, (real **)v, list, ecprRVEC);
}
matrix v, FILE *list)
{
real *vr;
- real ret;
+ int ret;
vr = (real *)&(v[0][0]);
ret = do_cpte_reals_low(xd, cptp, ecpt, sflags,
int n, real **v, FILE *list)
{
int i;
- real *vr;
- real ret, reti;
+ int ret, reti;
char name[CPTSTRLEN];
ret = 0;
}
for (i = 0; i < n; i++)
{
- reti = 0;
- vr = v[i];
reti = do_cpte_reals_low(xd, cptp, ecpt, sflags, n, NULL, &(v[i]), NULL, ecprREAL);
if (list && reti == 0)
{
sprintf(name, "%s[%d]", st_names(cptp, ecpt), i);
pr_reals(list, 0, name, v[i], n);
}
- if (reti == 0)
+ if (reti != 0)
{
- ret = 0;
+ ret = reti;
}
}
return ret;
bool_t res = 0;
int magic;
int idum = 0;
- int i;
char *fhost;
if (bRead)
{
enerhist->ener_sum_sim[i] = enerhist->ener_sum[i];
}
- fflags |= (1<<eenhENERGY_SUM_SIM);
}
if ( (fflags & (1<<eenhENERGY_NSUM)) &&
{
/* Assume we have an old file format and copy nsum to nsteps */
enerhist->nsteps = enerhist->nsum;
- fflags |= (1<<eenhENERGY_NSTEPS);
}
if ( (fflags & (1<<eenhENERGY_NSUM_SIM)) &&
!(fflags & (1<<eenhENERGY_NSTEPS_SIM)))
{
/* Assume we have an old file format and copy nsum to nsteps */
enerhist->nsteps_sim = enerhist->nsum_sim;
- fflags |= (1<<eenhENERGY_NSTEPS_SIM);
}
return ret;
static int do_cpt_EDstate(XDR *xd, gmx_bool bRead,
edsamstate_t *EDstate, FILE *list)
{
- int i, j;
+ int i;
int ret = 0;
char buf[STRLEN];
gmx_file_position_t **p_outputfiles, int *nfiles,
FILE *list, int file_version)
{
- int i, j;
+ int i;
gmx_off_t offset;
gmx_off_t mask = 0xFFFFFFFFL;
int offset_high, offset_low;
char *fntemp; /* the temporary checkpoint file name */
time_t now;
char timebuf[STRLEN];
- int nppnodes, npmenodes, flag_64bit;
+ int nppnodes, npmenodes;
char buf[1024], suffix[5+STEPSTRSIZE], sbuf[STEPSTRSIZE];
gmx_file_position_t *outputfiles;
int noutputfiles;
char *ftime;
- int flags_eks, flags_enh, flags_dfh, i;
+ int flags_eks, flags_enh, flags_dfh;
t_fileio *ret;
if (DOMAINDECOMP(cr))
*/
int gmx_major, gmx_minor;
int cpt_major, cpt_minor;
- sscanf(gmx_version(), "VERSION %d.%d", &gmx_major, &gmx_minor);
- sscanf(version, "VERSION %d.%d", &cpt_major, &cpt_minor);
+ sscanf(gmx_version(), "VERSION %5d.%5d", &gmx_major, &gmx_minor);
+ sscanf(version, "VERSION %5d.%5d", &cpt_major, &cpt_minor);
version_differs = (gmx_major != cpt_major || gmx_minor != cpt_minor);
}
int file_version;
char *version, *btime, *buser, *bhost, *fprog, *ftime;
int double_prec;
- char filename[STRLEN], buf[STEPSTRSIZE];
- int nppnodes, eIntegrator_f, nppnodes_f, npmenodes_f;
+ char buf[STEPSTRSIZE];
+ int eIntegrator_f, nppnodes_f, npmenodes_f;
ivec dd_nc_f;
int natoms, ngtc, nnhpres, nhchainlength, nlambda, fflags, flags_eks, flags_enh, flags_dfh;
int d;
if (!PAR(cr))
{
- nppnodes = 1;
cr->npmenodes = 0;
}
else if (cr->nnodes == nppnodes_f + npmenodes_f)
{
cr->npmenodes = npmenodes_f;
}
- nppnodes = cr->nnodes - cr->npmenodes;
+ int nppnodes = cr->nnodes - cr->npmenodes;
if (nppnodes == nppnodes_f)
{
for (d = 0; d < DIM; d++)
}
}
}
- else
- {
- /* The number of PP nodes has not been set yet */
- nppnodes = -1;
- }
if (fflags != state->flags)
{
ivec dd_nc;
t_state state;
int flags_eks, flags_enh, flags_dfh;
- int indent;
- int i, j;
int ret;
gmx_file_position_t *outputfiles;
int nfiles;
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-/* This file is completely threadsafe - keep it that way! */
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
-
-
-struct gmx_invsqrtdata
-{
- unsigned int exptab[256]; /*!< Exponential lookup table */
- unsigned int fracttab[4096]; /*!< Mantissa lookup table */
-};
-
-
-struct gmx_invsqrtdata
-F77_FUNC(gmxinvsqrtdata, GMXINVSQRTDATA) =
-{
- /* data for exponent table - 256 floats */
- {
- 0x5f000000, 0x5e800000, 0x5e800000, 0x5e000000,
- 0x5e000000, 0x5d800000, 0x5d800000, 0x5d000000,
- 0x5d000000, 0x5c800000, 0x5c800000, 0x5c000000,
- 0x5c000000, 0x5b800000, 0x5b800000, 0x5b000000,
- 0x5b000000, 0x5a800000, 0x5a800000, 0x5a000000,
- 0x5a000000, 0x59800000, 0x59800000, 0x59000000,
- 0x59000000, 0x58800000, 0x58800000, 0x58000000,
- 0x58000000, 0x57800000, 0x57800000, 0x57000000,
- 0x57000000, 0x56800000, 0x56800000, 0x56000000,
- 0x56000000, 0x55800000, 0x55800000, 0x55000000,
- 0x55000000, 0x54800000, 0x54800000, 0x54000000,
- 0x54000000, 0x53800000, 0x53800000, 0x53000000,
- 0x53000000, 0x52800000, 0x52800000, 0x52000000,
- 0x52000000, 0x51800000, 0x51800000, 0x51000000,
- 0x51000000, 0x50800000, 0x50800000, 0x50000000,
- 0x50000000, 0x4f800000, 0x4f800000, 0x4f000000,
- 0x4f000000, 0x4e800000, 0x4e800000, 0x4e000000,
- 0x4e000000, 0x4d800000, 0x4d800000, 0x4d000000,
- 0x4d000000, 0x4c800000, 0x4c800000, 0x4c000000,
- 0x4c000000, 0x4b800000, 0x4b800000, 0x4b000000,
- 0x4b000000, 0x4a800000, 0x4a800000, 0x4a000000,
- 0x4a000000, 0x49800000, 0x49800000, 0x49000000,
- 0x49000000, 0x48800000, 0x48800000, 0x48000000,
- 0x48000000, 0x47800000, 0x47800000, 0x47000000,
- 0x47000000, 0x46800000, 0x46800000, 0x46000000,
- 0x46000000, 0x45800000, 0x45800000, 0x45000000,
- 0x45000000, 0x44800000, 0x44800000, 0x44000000,
- 0x44000000, 0x43800000, 0x43800000, 0x43000000,
- 0x43000000, 0x42800000, 0x42800000, 0x42000000,
- 0x42000000, 0x41800000, 0x41800000, 0x41000000,
- 0x41000000, 0x40800000, 0x40800000, 0x40000000,
- 0x40000000, 0x3f800000, 0x3f800000, 0x3f000000,
- 0x3f000000, 0x3e800000, 0x3e800000, 0x3e000000,
- 0x3e000000, 0x3d800000, 0x3d800000, 0x3d000000,
- 0x3d000000, 0x3c800000, 0x3c800000, 0x3c000000,
- 0x3c000000, 0x3b800000, 0x3b800000, 0x3b000000,
- 0x3b000000, 0x3a800000, 0x3a800000, 0x3a000000,
- 0x3a000000, 0x39800000, 0x39800000, 0x39000000,
- 0x39000000, 0x38800000, 0x38800000, 0x38000000,
- 0x38000000, 0x37800000, 0x37800000, 0x37000000,
- 0x37000000, 0x36800000, 0x36800000, 0x36000000,
- 0x36000000, 0x35800000, 0x35800000, 0x35000000,
- 0x35000000, 0x34800000, 0x34800000, 0x34000000,
- 0x34000000, 0x33800000, 0x33800000, 0x33000000,
- 0x33000000, 0x32800000, 0x32800000, 0x32000000,
- 0x32000000, 0x31800000, 0x31800000, 0x31000000,
- 0x31000000, 0x30800000, 0x30800000, 0x30000000,
- 0x30000000, 0x2f800000, 0x2f800000, 0x2f000000,
- 0x2f000000, 0x2e800000, 0x2e800000, 0x2e000000,
- 0x2e000000, 0x2d800000, 0x2d800000, 0x2d000000,
- 0x2d000000, 0x2c800000, 0x2c800000, 0x2c000000,
- 0x2c000000, 0x2b800000, 0x2b800000, 0x2b000000,
- 0x2b000000, 0x2a800000, 0x2a800000, 0x2a000000,
- 0x2a000000, 0x29800000, 0x29800000, 0x29000000,
- 0x29000000, 0x28800000, 0x28800000, 0x28000000,
- 0x28000000, 0x27800000, 0x27800000, 0x27000000,
- 0x27000000, 0x26800000, 0x26800000, 0x26000000,
- 0x26000000, 0x25800000, 0x25800000, 0x25000000,
- 0x25000000, 0x24800000, 0x24800000, 0x24000000,
- 0x24000000, 0x23800000, 0x23800000, 0x23000000,
- 0x23000000, 0x22800000, 0x22800000, 0x22000000,
- 0x22000000, 0x21800000, 0x21800000, 0x21000000,
- 0x21000000, 0x20800000, 0x20800000, 0x20000000,
- 0x20000000, 0x1f800000, 0x1f800000, 0x1f000000
- },
- /* data for fraction table - 4096 floats */
- {
- 0x3504f3, 0x34f9a4, 0x34ee57, 0x34e30c, 0x34d7c3, 0x34cc7c, 0x34c137, 0x34b5f5,
- 0x34aab4, 0x349f76, 0x34943a, 0x348900, 0x347dc7, 0x347291, 0x34675e, 0x345c2c,
- 0x3450fc, 0x3445ce, 0x343aa3, 0x342f79, 0x342452, 0x34192c, 0x340e09, 0x3402e8,
- 0x33f7c9, 0x33ecac, 0x33e191, 0x33d678, 0x33cb61, 0x33c04c, 0x33b539, 0x33aa28,
- 0x339f19, 0x33940d, 0x338902, 0x337df9, 0x3372f3, 0x3367ee, 0x335cec, 0x3351eb,
- 0x3346ed, 0x333bf0, 0x3330f6, 0x3325fd, 0x331b07, 0x331013, 0x330520, 0x32fa30,
- 0x32ef41, 0x32e455, 0x32d96b, 0x32ce82, 0x32c39c, 0x32b8b7, 0x32add5, 0x32a2f5,
- 0x329816, 0x328d3a, 0x32825f, 0x327787, 0x326cb0, 0x3261dc, 0x325709, 0x324c38,
- 0x32416a, 0x32369d, 0x322bd2, 0x32210a, 0x321643, 0x320b7e, 0x3200bb, 0x31f5fa,
- 0x31eb3b, 0x31e07e, 0x31d5c3, 0x31cb0a, 0x31c053, 0x31b59d, 0x31aaea, 0x31a038,
- 0x319589, 0x318adb, 0x318030, 0x317586, 0x316ade, 0x316038, 0x315594, 0x314af2,
- 0x314052, 0x3135b4, 0x312b18, 0x31207d, 0x3115e5, 0x310b4e, 0x3100b9, 0x30f627,
- 0x30eb96, 0x30e107, 0x30d67a, 0x30cbee, 0x30c165, 0x30b6dd, 0x30ac58, 0x30a1d4,
- 0x309752, 0x308cd2, 0x308254, 0x3077d8, 0x306d5e, 0x3062e5, 0x30586e, 0x304dfa,
- 0x304387, 0x303916, 0x302ea7, 0x302439, 0x3019ce, 0x300f64, 0x3004fc, 0x2ffa96,
- 0x2ff032, 0x2fe5d0, 0x2fdb6f, 0x2fd111, 0x2fc6b4, 0x2fbc59, 0x2fb200, 0x2fa7a9,
- 0x2f9d53, 0x2f9300, 0x2f88ae, 0x2f7e5e, 0x2f7410, 0x2f69c3, 0x2f5f79, 0x2f5530,
- 0x2f4ae9, 0x2f40a4, 0x2f3661, 0x2f2c1f, 0x2f21df, 0x2f17a1, 0x2f0d65, 0x2f032b,
- 0x2ef8f2, 0x2eeebc, 0x2ee487, 0x2eda53, 0x2ed022, 0x2ec5f2, 0x2ebbc5, 0x2eb199,
- 0x2ea76e, 0x2e9d46, 0x2e931f, 0x2e88fa, 0x2e7ed7, 0x2e74b5, 0x2e6a96, 0x2e6078,
- 0x2e565c, 0x2e4c41, 0x2e4229, 0x2e3812, 0x2e2dfd, 0x2e23e9, 0x2e19d8, 0x2e0fc8,
- 0x2e05ba, 0x2dfbad, 0x2df1a3, 0x2de79a, 0x2ddd93, 0x2dd38d, 0x2dc989, 0x2dbf87,
- 0x2db587, 0x2dab89, 0x2da18c, 0x2d9791, 0x2d8d97, 0x2d83a0, 0x2d79aa, 0x2d6fb6,
- 0x2d65c3, 0x2d5bd2, 0x2d51e3, 0x2d47f6, 0x2d3e0a, 0x2d3420, 0x2d2a38, 0x2d2051,
- 0x2d166c, 0x2d0c89, 0x2d02a8, 0x2cf8c8, 0x2ceeea, 0x2ce50d, 0x2cdb33, 0x2cd15a,
- 0x2cc782, 0x2cbdad, 0x2cb3d9, 0x2caa06, 0x2ca036, 0x2c9667, 0x2c8c99, 0x2c82ce,
- 0x2c7904, 0x2c6f3b, 0x2c6575, 0x2c5bb0, 0x2c51ed, 0x2c482b, 0x2c3e6b, 0x2c34ad,
- 0x2c2af0, 0x2c2135, 0x2c177b, 0x2c0dc4, 0x2c040e, 0x2bfa59, 0x2bf0a6, 0x2be6f5,
- 0x2bdd46, 0x2bd398, 0x2bc9eb, 0x2bc041, 0x2bb698, 0x2bacf0, 0x2ba34b, 0x2b99a6,
- 0x2b9004, 0x2b8663, 0x2b7cc4, 0x2b7326, 0x2b698a, 0x2b5ff0, 0x2b5657, 0x2b4cc0,
- 0x2b432a, 0x2b3996, 0x2b3004, 0x2b2673, 0x2b1ce4, 0x2b1357, 0x2b09cb, 0x2b0040,
- 0x2af6b7, 0x2aed30, 0x2ae3ab, 0x2ada27, 0x2ad0a4, 0x2ac724, 0x2abda4, 0x2ab427,
- 0x2aaaab, 0x2aa130, 0x2a97b7, 0x2a8e40, 0x2a84ca, 0x2a7b56, 0x2a71e3, 0x2a6872,
- 0x2a5f03, 0x2a5595, 0x2a4c29, 0x2a42be, 0x2a3955, 0x2a2fed, 0x2a2687, 0x2a1d23,
- 0x2a13c0, 0x2a0a5e, 0x2a00fe, 0x29f7a0, 0x29ee43, 0x29e4e8, 0x29db8e, 0x29d236,
- 0x29c8e0, 0x29bf8b, 0x29b637, 0x29ace5, 0x29a395, 0x299a46, 0x2990f8, 0x2987ad,
- 0x297e62, 0x297519, 0x296bd2, 0x29628c, 0x295948, 0x295005, 0x2946c4, 0x293d85,
- 0x293446, 0x292b0a, 0x2921cf, 0x291895, 0x290f5d, 0x290626, 0x28fcf1, 0x28f3be,
- 0x28ea8c, 0x28e15b, 0x28d82c, 0x28cefe, 0x28c5d2, 0x28bca8, 0x28b37f, 0x28aa57,
- 0x28a131, 0x28980c, 0x288ee9, 0x2885c7, 0x287ca7, 0x287389, 0x286a6b, 0x286150,
- 0x285835, 0x284f1c, 0x284605, 0x283cef, 0x2833db, 0x282ac8, 0x2821b7, 0x2818a7,
- 0x280f98, 0x28068b, 0x27fd80, 0x27f475, 0x27eb6d, 0x27e266, 0x27d960, 0x27d05c,
- 0x27c759, 0x27be57, 0x27b557, 0x27ac59, 0x27a35c, 0x279a60, 0x279166, 0x27886d,
- 0x277f76, 0x277680, 0x276d8c, 0x276499, 0x275ba7, 0x2752b7, 0x2749c9, 0x2740db,
- 0x2737f0, 0x272f05, 0x27261c, 0x271d35, 0x27144f, 0x270b6a, 0x270287, 0x26f9a5,
- 0x26f0c4, 0x26e7e5, 0x26df08, 0x26d62c, 0x26cd51, 0x26c477, 0x26bba0, 0x26b2c9,
- 0x26a9f4, 0x26a120, 0x26984e, 0x268f7d, 0x2686ad, 0x267ddf, 0x267512, 0x266c47,
- 0x26637d, 0x265ab4, 0x2651ed, 0x264927, 0x264063, 0x2637a0, 0x262ede, 0x26261e,
- 0x261d5f, 0x2614a2, 0x260be6, 0x26032b, 0x25fa72, 0x25f1ba, 0x25e903, 0x25e04e,
- 0x25d79a, 0x25cee7, 0x25c636, 0x25bd87, 0x25b4d8, 0x25ac2b, 0x25a37f, 0x259ad5,
- 0x25922c, 0x258985, 0x2580de, 0x257839, 0x256f96, 0x2566f4, 0x255e53, 0x2555b3,
- 0x254d15, 0x254479, 0x253bdd, 0x253343, 0x252aaa, 0x252213, 0x25197d, 0x2510e8,
- 0x250855, 0x24ffc3, 0x24f732, 0x24eea3, 0x24e615, 0x24dd88, 0x24d4fc, 0x24cc72,
- 0x24c3ea, 0x24bb62, 0x24b2dc, 0x24aa57, 0x24a1d4, 0x249952, 0x2490d1, 0x248852,
- 0x247fd3, 0x247756, 0x246edb, 0x246661, 0x245de8, 0x245570, 0x244cfa, 0x244485,
- 0x243c11, 0x24339f, 0x242b2e, 0x2422be, 0x241a4f, 0x2411e2, 0x240976, 0x24010c,
- 0x23f8a2, 0x23f03a, 0x23e7d4, 0x23df6e, 0x23d70a, 0x23cea7, 0x23c646, 0x23bde6,
- 0x23b587, 0x23ad29, 0x23a4cc, 0x239c71, 0x239417, 0x238bbf, 0x238368, 0x237b12,
- 0x2372bd, 0x236a69, 0x236217, 0x2359c6, 0x235177, 0x234928, 0x2340db, 0x23388f,
- 0x233045, 0x2327fb, 0x231fb3, 0x23176c, 0x230f27, 0x2306e2, 0x22fe9f, 0x22f65e,
- 0x22ee1d, 0x22e5de, 0x22dda0, 0x22d563, 0x22cd28, 0x22c4ed, 0x22bcb4, 0x22b47c,
- 0x22ac46, 0x22a411, 0x229bdd, 0x2293aa, 0x228b78, 0x228348, 0x227b19, 0x2272eb,
- 0x226abe, 0x226293, 0x225a69, 0x225240, 0x224a18, 0x2241f2, 0x2239cc, 0x2231a8,
- 0x222985, 0x222164, 0x221944, 0x221124, 0x220907, 0x2200ea, 0x21f8ce, 0x21f0b4,
- 0x21e89b, 0x21e083, 0x21d86d, 0x21d057, 0x21c843, 0x21c030, 0x21b81e, 0x21b00e,
- 0x21a7fe, 0x219ff0, 0x2197e3, 0x218fd8, 0x2187cd, 0x217fc4, 0x2177bc, 0x216fb5,
- 0x2167af, 0x215faa, 0x2157a7, 0x214fa5, 0x2147a4, 0x213fa4, 0x2137a5, 0x212fa8,
- 0x2127ac, 0x211fb1, 0x2117b7, 0x210fbe, 0x2107c7, 0x20ffd0, 0x20f7db, 0x20efe7,
- 0x20e7f5, 0x20e003, 0x20d813, 0x20d023, 0x20c835, 0x20c048, 0x20b85d, 0x20b072,
- 0x20a889, 0x20a0a1, 0x2098ba, 0x2090d4, 0x2088ef, 0x20810b, 0x207929, 0x207148,
- 0x206968, 0x206189, 0x2059ab, 0x2051cf, 0x2049f3, 0x204219, 0x203a40, 0x203268,
- 0x202a91, 0x2022bb, 0x201ae7, 0x201313, 0x200b41, 0x200370, 0x1ffba0, 0x1ff3d1,
- 0x1fec04, 0x1fe437, 0x1fdc6c, 0x1fd4a2, 0x1fccd9, 0x1fc511, 0x1fbd4a, 0x1fb584,
- 0x1fadc0, 0x1fa5fc, 0x1f9e3a, 0x1f9679, 0x1f8eb9, 0x1f86fa, 0x1f7f3c, 0x1f777f,
- 0x1f6fc4, 0x1f680a, 0x1f6050, 0x1f5898, 0x1f50e1, 0x1f492b, 0x1f4176, 0x1f39c3,
- 0x1f3210, 0x1f2a5f, 0x1f22af, 0x1f1aff, 0x1f1351, 0x1f0ba4, 0x1f03f8, 0x1efc4e,
- 0x1ef4a4, 0x1eecfb, 0x1ee554, 0x1eddae, 0x1ed608, 0x1ece64, 0x1ec6c1, 0x1ebf1f,
- 0x1eb77f, 0x1eafdf, 0x1ea840, 0x1ea0a3, 0x1e9906, 0x1e916b, 0x1e89d1, 0x1e8238,
- 0x1e7aa0, 0x1e7309, 0x1e6b73, 0x1e63de, 0x1e5c4a, 0x1e54b8, 0x1e4d26, 0x1e4596,
- 0x1e3e06, 0x1e3678, 0x1e2eeb, 0x1e275f, 0x1e1fd4, 0x1e184a, 0x1e10c1, 0x1e0939,
- 0x1e01b3, 0x1dfa2d, 0x1df2a8, 0x1deb25, 0x1de3a2, 0x1ddc21, 0x1dd4a1, 0x1dcd22,
- 0x1dc5a3, 0x1dbe26, 0x1db6aa, 0x1daf2f, 0x1da7b6, 0x1da03d, 0x1d98c5, 0x1d914e,
- 0x1d89d9, 0x1d8264, 0x1d7af1, 0x1d737e, 0x1d6c0d, 0x1d649c, 0x1d5d2d, 0x1d55bf,
- 0x1d4e52, 0x1d46e5, 0x1d3f7a, 0x1d3810, 0x1d30a7, 0x1d293f, 0x1d21d8, 0x1d1a73,
- 0x1d130e, 0x1d0baa, 0x1d0447, 0x1cfce6, 0x1cf585, 0x1cee25, 0x1ce6c7, 0x1cdf69,
- 0x1cd80d, 0x1cd0b1, 0x1cc957, 0x1cc1fe, 0x1cbaa5, 0x1cb34e, 0x1cabf8, 0x1ca4a2,
- 0x1c9d4e, 0x1c95fb, 0x1c8ea9, 0x1c8758, 0x1c8008, 0x1c78b8, 0x1c716a, 0x1c6a1d,
- 0x1c62d1, 0x1c5b86, 0x1c543c, 0x1c4cf3, 0x1c45ab, 0x1c3e65, 0x1c371f, 0x1c2fda,
- 0x1c2896, 0x1c2153, 0x1c1a11, 0x1c12d0, 0x1c0b90, 0x1c0452, 0x1bfd14, 0x1bf5d7,
- 0x1bee9b, 0x1be760, 0x1be027, 0x1bd8ee, 0x1bd1b6, 0x1bca7f, 0x1bc349, 0x1bbc15,
- 0x1bb4e1, 0x1badae, 0x1ba67c, 0x1b9f4c, 0x1b981c, 0x1b90ed, 0x1b89bf, 0x1b8292,
- 0x1b7b67, 0x1b743c, 0x1b6d12, 0x1b65e9, 0x1b5ec1, 0x1b579a, 0x1b5074, 0x1b4950,
- 0x1b422c, 0x1b3b09, 0x1b33e7, 0x1b2cc6, 0x1b25a6, 0x1b1e87, 0x1b1769, 0x1b104c,
- 0x1b0930, 0x1b0215, 0x1afafb, 0x1af3e2, 0x1aecc9, 0x1ae5b2, 0x1ade9c, 0x1ad787,
- 0x1ad073, 0x1ac95f, 0x1ac24d, 0x1abb3c, 0x1ab42b, 0x1aad1c, 0x1aa60d, 0x1a9f00,
- 0x1a97f3, 0x1a90e8, 0x1a89dd, 0x1a82d4, 0x1a7bcb, 0x1a74c3, 0x1a6dbd, 0x1a66b7,
- 0x1a5fb2, 0x1a58ae, 0x1a51ab, 0x1a4aa9, 0x1a43a8, 0x1a3ca8, 0x1a35a9, 0x1a2eab,
- 0x1a27ae, 0x1a20b1, 0x1a19b6, 0x1a12bc, 0x1a0bc2, 0x1a04ca, 0x19fdd2, 0x19f6dc,
- 0x19efe6, 0x19e8f2, 0x19e1fe, 0x19db0b, 0x19d419, 0x19cd28, 0x19c638, 0x19bf49,
- 0x19b85b, 0x19b16e, 0x19aa82, 0x19a396, 0x199cac, 0x1995c3, 0x198eda, 0x1987f3,
- 0x19810c, 0x197a26, 0x197342, 0x196c5e, 0x19657b, 0x195e99, 0x1957b8, 0x1950d8,
- 0x1949f8, 0x19431a, 0x193c3d, 0x193560, 0x192e85, 0x1927aa, 0x1920d1, 0x1919f8,
- 0x191320, 0x190c49, 0x190573, 0x18fe9e, 0x18f7ca, 0x18f0f7, 0x18ea24, 0x18e353,
- 0x18dc82, 0x18d5b3, 0x18cee4, 0x18c816, 0x18c149, 0x18ba7d, 0x18b3b2, 0x18ace8,
- 0x18a61f, 0x189f56, 0x18988f, 0x1891c8, 0x188b03, 0x18843e, 0x187d7a, 0x1876b7,
- 0x186ff5, 0x186934, 0x186274, 0x185bb4, 0x1854f6, 0x184e38, 0x18477c, 0x1840c0,
- 0x183a05, 0x18334b, 0x182c92, 0x1825da, 0x181f23, 0x18186c, 0x1811b7, 0x180b02,
- 0x18044e, 0x17fd9b, 0x17f6e9, 0x17f038, 0x17e988, 0x17e2d9, 0x17dc2a, 0x17d57d,
- 0x17ced0, 0x17c824, 0x17c179, 0x17bacf, 0x17b426, 0x17ad7e, 0x17a6d6, 0x17a030,
- 0x17998a, 0x1792e5, 0x178c41, 0x17859e, 0x177efc, 0x17785b, 0x1771ba, 0x176b1b,
- 0x17647c, 0x175dde, 0x175741, 0x1750a5, 0x174a0a, 0x17436f, 0x173cd6, 0x17363d,
- 0x172fa5, 0x17290f, 0x172278, 0x171be3, 0x17154f, 0x170ebb, 0x170829, 0x170197,
- 0x16fb06, 0x16f476, 0x16ede7, 0x16e759, 0x16e0cb, 0x16da3e, 0x16d3b3, 0x16cd28,
- 0x16c69e, 0x16c014, 0x16b98c, 0x16b305, 0x16ac7e, 0x16a5f8, 0x169f73, 0x1698ef,
- 0x16926c, 0x168be9, 0x168568, 0x167ee7, 0x167867, 0x1671e8, 0x166b6a, 0x1664ec,
- 0x165e70, 0x1657f4, 0x165179, 0x164aff, 0x164486, 0x163e0d, 0x163796, 0x16311f,
- 0x162aa9, 0x162434, 0x161dc0, 0x16174d, 0x1610da, 0x160a68, 0x1603f8, 0x15fd88,
- 0x15f718, 0x15f0aa, 0x15ea3c, 0x15e3d0, 0x15dd64, 0x15d6f9, 0x15d08e, 0x15ca25,
- 0x15c3bc, 0x15bd55, 0x15b6ee, 0x15b087, 0x15aa22, 0x15a3be, 0x159d5a, 0x1596f7,
- 0x159095, 0x158a34, 0x1583d3, 0x157d74, 0x157715, 0x1570b7, 0x156a5a, 0x1563fd,
- 0x155da2, 0x155747, 0x1550ed, 0x154a94, 0x15443c, 0x153de4, 0x15378e, 0x153138,
- 0x152ae3, 0x15248e, 0x151e3b, 0x1517e8, 0x151197, 0x150b45, 0x1504f5, 0x14fea6,
- 0x14f857, 0x14f209, 0x14ebbc, 0x14e570, 0x14df25, 0x14d8da, 0x14d290, 0x14cc47,
- 0x14c5ff, 0x14bfb7, 0x14b971, 0x14b32b, 0x14ace6, 0x14a6a1, 0x14a05e, 0x149a1b,
- 0x1493d9, 0x148d98, 0x148758, 0x148118, 0x147ada, 0x14749c, 0x146e5f, 0x146822,
- 0x1461e7, 0x145bac, 0x145572, 0x144f38, 0x144900, 0x1442c8, 0x143c91, 0x14365b,
- 0x143026, 0x1429f1, 0x1423be, 0x141d8b, 0x141758, 0x141127, 0x140af6, 0x1404c6,
- 0x13fe97, 0x13f869, 0x13f23b, 0x13ec0f, 0x13e5e3, 0x13dfb7, 0x13d98d, 0x13d363,
- 0x13cd3a, 0x13c712, 0x13c0eb, 0x13bac4, 0x13b49e, 0x13ae79, 0x13a855, 0x13a231,
- 0x139c0e, 0x1395ec, 0x138fcb, 0x1389ab, 0x13838b, 0x137d6c, 0x13774e, 0x137130,
- 0x136b13, 0x1364f8, 0x135edc, 0x1358c2, 0x1352a8, 0x134c8f, 0x134677, 0x134060,
- 0x133a49, 0x133433, 0x132e1e, 0x13280a, 0x1321f6, 0x131be3, 0x1315d1, 0x130fc0,
- 0x1309af, 0x13039f, 0x12fd90, 0x12f782, 0x12f174, 0x12eb67, 0x12e55b, 0x12df50,
- 0x12d945, 0x12d33b, 0x12cd32, 0x12c72a, 0x12c122, 0x12bb1b, 0x12b515, 0x12af10,
- 0x12a90b, 0x12a307, 0x129d04, 0x129702, 0x129100, 0x128aff, 0x1284ff, 0x127eff,
- 0x127900, 0x127302, 0x126d05, 0x126708, 0x12610d, 0x125b11, 0x125517, 0x124f1d,
- 0x124925, 0x12432c, 0x123d35, 0x12373e, 0x123148, 0x122b53, 0x12255e, 0x121f6b,
- 0x121978, 0x121385, 0x120d94, 0x1207a3, 0x1201b3, 0x11fbc3, 0x11f5d4, 0x11efe6,
- 0x11e9f9, 0x11e40d, 0x11de21, 0x11d836, 0x11d24b, 0x11cc62, 0x11c679, 0x11c090,
- 0x11baa9, 0x11b4c2, 0x11aedc, 0x11a8f7, 0x11a312, 0x119d2e, 0x11974b, 0x119168,
- 0x118b87, 0x1185a6, 0x117fc5, 0x1179e5, 0x117407, 0x116e28, 0x11684b, 0x11626e,
- 0x115c92, 0x1156b6, 0x1150dc, 0x114b02, 0x114529, 0x113f50, 0x113978, 0x1133a1,
- 0x112dca, 0x1127f5, 0x112220, 0x111c4b, 0x111678, 0x1110a5, 0x110ad3, 0x110501,
- 0x10ff30, 0x10f960, 0x10f391, 0x10edc2, 0x10e7f4, 0x10e226, 0x10dc5a, 0x10d68e,
- 0x10d0c3, 0x10caf8, 0x10c52e, 0x10bf65, 0x10b99c, 0x10b3d5, 0x10ae0e, 0x10a847,
- 0x10a281, 0x109cbc, 0x1096f8, 0x109134, 0x108b72, 0x1085af, 0x107fee, 0x107a2d,
- 0x10746d, 0x106ead, 0x1068ee, 0x106330, 0x105d73, 0x1057b6, 0x1051fa, 0x104c3e,
- 0x104684, 0x1040ca, 0x103b10, 0x103558, 0x102fa0, 0x1029e8, 0x102432, 0x101e7c,
- 0x1018c6, 0x101312, 0x100d5e, 0x1007ab, 0x1001f8, 0xffc46, 0xff695, 0xff0e4,
- 0xfeb35, 0xfe585, 0xfdfd7, 0xfda29, 0xfd47c, 0xfcecf, 0xfc923, 0xfc378,
- 0xfbdce, 0xfb824, 0xfb27b, 0xfacd2, 0xfa72a, 0xfa183, 0xf9bdd, 0xf9637,
- 0xf9092, 0xf8aed, 0xf854a, 0xf7fa6, 0xf7a04, 0xf7462, 0xf6ec1, 0xf6920,
- 0xf6381, 0xf5de1, 0xf5843, 0xf52a5, 0xf4d08, 0xf476b, 0xf41cf, 0xf3c34,
- 0xf369a, 0xf3100, 0xf2b66, 0xf25ce, 0xf2036, 0xf1a9f, 0xf1508, 0xf0f72,
- 0xf09dd, 0xf0448, 0xefeb4, 0xef921, 0xef38e, 0xeedfc, 0xee86b, 0xee2da,
- 0xedd4a, 0xed7ba, 0xed22b, 0xecc9d, 0xec710, 0xec183, 0xebbf7, 0xeb66b,
- 0xeb0e0, 0xeab56, 0xea5cc, 0xea043, 0xe9abb, 0xe9533, 0xe8fac, 0xe8a26,
- 0xe84a0, 0xe7f1b, 0xe7996, 0xe7413, 0xe6e8f, 0xe690d, 0xe638b, 0xe5e0a,
- 0xe5889, 0xe5309, 0xe4d8a, 0xe480b, 0xe428d, 0xe3d0f, 0xe3792, 0xe3216,
- 0xe2c9b, 0xe2720, 0xe21a5, 0xe1c2c, 0xe16b3, 0xe113a, 0xe0bc3, 0xe064c,
- 0xe00d5, 0xdfb5f, 0xdf5ea, 0xdf075, 0xdeb01, 0xde58e, 0xde01b, 0xddaa9,
- 0xdd538, 0xdcfc7, 0xdca57, 0xdc4e7, 0xdbf78, 0xdba0a, 0xdb49c, 0xdaf2f,
- 0xda9c2, 0xda457, 0xd9eeb, 0xd9981, 0xd9417, 0xd8ead, 0xd8945, 0xd83dc,
- 0xd7e75, 0xd790e, 0xd73a8, 0xd6e42, 0xd68dd, 0xd6379, 0xd5e15, 0xd58b2,
- 0xd534f, 0xd4ded, 0xd488c, 0xd432b, 0xd3dcb, 0xd386c, 0xd330d, 0xd2dae,
- 0xd2851, 0xd22f4, 0xd1d97, 0xd183b, 0xd12e0, 0xd0d86, 0xd082c, 0xd02d2,
- 0xcfd79, 0xcf821, 0xcf2ca, 0xced73, 0xce81c, 0xce2c7, 0xcdd72, 0xcd81d,
- 0xcd2c9, 0xccd76, 0xcc823, 0xcc2d1, 0xcbd7f, 0xcb82f, 0xcb2de, 0xcad8f,
- 0xca83f, 0xca2f1, 0xc9da3, 0xc9856, 0xc9309, 0xc8dbd, 0xc8871, 0xc8326,
- 0xc7ddc, 0xc7892, 0xc7349, 0xc6e01, 0xc68b9, 0xc6372, 0xc5e2b, 0xc58e5,
- 0xc539f, 0xc4e5a, 0xc4916, 0xc43d2, 0xc3e8f, 0xc394c, 0xc340a, 0xc2ec9,
- 0xc2988, 0xc2448, 0xc1f08, 0xc19c9, 0xc148b, 0xc0f4d, 0xc0a10, 0xc04d3,
- 0xbff97, 0xbfa5b, 0xbf521, 0xbefe6, 0xbeaad, 0xbe573, 0xbe03b, 0xbdb03,
- 0xbd5cb, 0xbd095, 0xbcb5e, 0xbc629, 0xbc0f4, 0xbbbbf, 0xbb68b, 0xbb158,
- 0xbac25, 0xba6f3, 0xba1c1, 0xb9c90, 0xb9760, 0xb9230, 0xb8d01, 0xb87d2,
- 0xb82a4, 0xb7d76, 0xb7849, 0xb731d, 0xb6df1, 0xb68c6, 0xb639b, 0xb5e71,
- 0xb5948, 0xb541f, 0xb4ef6, 0xb49cf, 0xb44a7, 0xb3f81, 0xb3a5b, 0xb3535,
- 0xb3010, 0xb2aec, 0xb25c8, 0xb20a5, 0xb1b82, 0xb1660, 0xb113e, 0xb0c1d,
- 0xb06fd, 0xb01dd, 0xafcbe, 0xaf79f, 0xaf281, 0xaed64, 0xae847, 0xae32a,
- 0xade0e, 0xad8f3, 0xad3d8, 0xacebe, 0xac9a4, 0xac48b, 0xabf73, 0xaba5b,
- 0xab544, 0xab02d, 0xaab17, 0xaa601, 0xaa0ec, 0xa9bd7, 0xa96c3, 0xa91b0,
- 0xa8c9d, 0xa878a, 0xa8279, 0xa7d67, 0xa7857, 0xa7347, 0xa6e37, 0xa6928,
- 0xa641a, 0xa5f0c, 0xa59fe, 0xa54f2, 0xa4fe5, 0xa4ada, 0xa45ce, 0xa40c4,
- 0xa3bba, 0xa36b0, 0xa31a7, 0xa2c9f, 0xa2797, 0xa2290, 0xa1d89, 0xa1883,
- 0xa137d, 0xa0e78, 0xa0974, 0xa0470, 0x9ff6c, 0x9fa69, 0x9f567, 0x9f065,
- 0x9eb64, 0x9e663, 0x9e163, 0x9dc63, 0x9d764, 0x9d266, 0x9cd68, 0x9c86a,
- 0x9c36d, 0x9be71, 0x9b975, 0x9b47a, 0x9af7f, 0x9aa85, 0x9a58b, 0x9a092,
- 0x99b9a, 0x996a1, 0x991aa, 0x98cb3, 0x987bd, 0x982c7, 0x97dd1, 0x978dc,
- 0x973e8, 0x96ef4, 0x96a01, 0x9650e, 0x9601c, 0x95b2b, 0x9563a, 0x95149,
- 0x94c59, 0x94769, 0x9427a, 0x93d8c, 0x9389e, 0x933b1, 0x92ec4, 0x929d8,
- 0x924ec, 0x92001, 0x91b16, 0x9162c, 0x91142, 0x90c59, 0x90770, 0x90288,
- 0x8fda1, 0x8f8ba, 0x8f3d3, 0x8eeed, 0x8ea08, 0x8e523, 0x8e03e, 0x8db5b,
- 0x8d677, 0x8d194, 0x8ccb2, 0x8c7d0, 0x8c2ef, 0x8be0e, 0x8b92e, 0x8b44e,
- 0x8af6f, 0x8aa91, 0x8a5b2, 0x8a0d5, 0x89bf8, 0x8971b, 0x8923f, 0x88d64,
- 0x88889, 0x883ae, 0x87ed4, 0x879fb, 0x87522, 0x87049, 0x86b71, 0x8669a,
- 0x861c3, 0x85ced, 0x85817, 0x85341, 0x84e6d, 0x84998, 0x844c5, 0x83ff1,
- 0x83b1e, 0x8364c, 0x8317a, 0x82ca9, 0x827d8, 0x82308, 0x81e39, 0x81969,
- 0x8149b, 0x80fcd, 0x80aff, 0x80632, 0x80165, 0x7fc99, 0x7f7cd, 0x7f302,
- 0x7ee37, 0x7e96d, 0x7e4a4, 0x7dfdb, 0x7db12, 0x7d64a, 0x7d182, 0x7ccbb,
- 0x7c7f5, 0x7c32f, 0x7be69, 0x7b9a4, 0x7b4df, 0x7b01b, 0x7ab58, 0x7a695,
- 0x7a1d2, 0x79d10, 0x7984f, 0x7938e, 0x78ecd, 0x78a0d, 0x7854d, 0x7808e,
- 0x77bd0, 0x77712, 0x77254, 0x76d97, 0x768da, 0x7641e, 0x75f63, 0x75aa8,
- 0x755ed, 0x75133, 0x74c79, 0x747c0, 0x74308, 0x73e50, 0x73998, 0x734e1,
- 0x7302a, 0x72b74, 0x726be, 0x72209, 0x71d55, 0x718a0, 0x713ed, 0x70f3a,
- 0x70a87, 0x705d5, 0x70123, 0x6fc72, 0x6f7c1, 0x6f311, 0x6ee61, 0x6e9b2,
- 0x6e503, 0x6e055, 0x6dba7, 0x6d6f9, 0x6d24d, 0x6cda0, 0x6c8f4, 0x6c449,
- 0x6bf9e, 0x6baf4, 0x6b64a, 0x6b1a0, 0x6acf7, 0x6a84f, 0x6a3a7, 0x69eff,
- 0x69a58, 0x695b2, 0x6910c, 0x68c66, 0x687c1, 0x6831d, 0x67e78, 0x679d5,
- 0x67532, 0x6708f, 0x66bed, 0x6674b, 0x662aa, 0x65e09, 0x65969, 0x654c9,
- 0x65029, 0x64b8a, 0x646ec, 0x6424e, 0x63db1, 0x63914, 0x63477, 0x62fdb,
- 0x62b40, 0x626a5, 0x6220a, 0x61d70, 0x618d6, 0x6143d, 0x60fa4, 0x60b0c,
- 0x60674, 0x601dd, 0x5fd46, 0x5f8b0, 0x5f41a, 0x5ef85, 0x5eaf0, 0x5e65b,
- 0x5e1c7, 0x5dd34, 0x5d8a1, 0x5d40e, 0x5cf7c, 0x5caea, 0x5c659, 0x5c1c9,
- 0x5bd38, 0x5b8a9, 0x5b419, 0x5af8a, 0x5aafc, 0x5a66e, 0x5a1e1, 0x59d54,
- 0x598c7, 0x5943b, 0x58fb0, 0x58b24, 0x5869a, 0x58210, 0x57d86, 0x578fd,
- 0x57474, 0x56feb, 0x56b64, 0x566dc, 0x56255, 0x55dcf, 0x55949, 0x554c3,
- 0x5503e, 0x54bb9, 0x54735, 0x542b1, 0x53e2e, 0x539ab, 0x53529, 0x530a7,
- 0x52c25, 0x527a4, 0x52324, 0x51ea4, 0x51a24, 0x515a5, 0x51126, 0x50ca8,
- 0x5082a, 0x503ad, 0x4ff30, 0x4fab4, 0x4f638, 0x4f1bc, 0x4ed41, 0x4e8c6,
- 0x4e44c, 0x4dfd3, 0x4db59, 0x4d6e0, 0x4d268, 0x4cdf0, 0x4c979, 0x4c502,
- 0x4c08b, 0x4bc15, 0x4b79f, 0x4b32a, 0x4aeb5, 0x4aa41, 0x4a5cd, 0x4a15a,
- 0x49ce7, 0x49874, 0x49402, 0x48f91, 0x48b1f, 0x486af, 0x4823e, 0x47dce,
- 0x4795f, 0x474f0, 0x47082, 0x46c14, 0x467a6, 0x46339, 0x45ecc, 0x45a60,
- 0x455f4, 0x45189, 0x44d1e, 0x448b3, 0x44449, 0x43fdf, 0x43b76, 0x4370d,
- 0x432a5, 0x42e3d, 0x429d6, 0x4256f, 0x42108, 0x41ca2, 0x4183c, 0x413d7,
- 0x40f72, 0x40b0e, 0x406aa, 0x40247, 0x3fde4, 0x3f981, 0x3f51f, 0x3f0bd,
- 0x3ec5c, 0x3e7fb, 0x3e39b, 0x3df3b, 0x3dadb, 0x3d67c, 0x3d21d, 0x3cdbf,
- 0x3c961, 0x3c504, 0x3c0a7, 0x3bc4a, 0x3b7ee, 0x3b393, 0x3af37, 0x3aadd,
- 0x3a682, 0x3a228, 0x39dcf, 0x39976, 0x3951d, 0x390c5, 0x38c6d, 0x38816,
- 0x383bf, 0x37f69, 0x37b13, 0x376bd, 0x37268, 0x36e13, 0x369bf, 0x3656b,
- 0x36117, 0x35cc4, 0x35872, 0x3541f, 0x34fce, 0x34b7c, 0x3472b, 0x342db,
- 0x33e8b, 0x33a3b, 0x335ec, 0x3319d, 0x32d4f, 0x32901, 0x324b3, 0x32066,
- 0x31c1a, 0x317cd, 0x31381, 0x30f36, 0x30aeb, 0x306a1, 0x30256, 0x2fe0d,
- 0x2f9c3, 0x2f57a, 0x2f132, 0x2ecea, 0x2e8a2, 0x2e45b, 0x2e014, 0x2dbce,
- 0x2d788, 0x2d343, 0x2cefd, 0x2cab9, 0x2c675, 0x2c231, 0x2bded, 0x2b9aa,
- 0x2b568, 0x2b125, 0x2ace4, 0x2a8a2, 0x2a461, 0x2a021, 0x29be1, 0x297a1,
- 0x29362, 0x28f23, 0x28ae4, 0x286a6, 0x28269, 0x27e2c, 0x279ef, 0x275b2,
- 0x27176, 0x26d3b, 0x26900, 0x264c5, 0x2608b, 0x25c51, 0x25817, 0x253de,
- 0x24fa6, 0x24b6d, 0x24735, 0x242fe, 0x23ec7, 0x23a90, 0x2365a, 0x23224,
- 0x22def, 0x229ba, 0x22585, 0x22151, 0x21d1d, 0x218ea, 0x214b7, 0x21084,
- 0x20c52, 0x20821, 0x203ef, 0x1ffbe, 0x1fb8e, 0x1f75e, 0x1f32e, 0x1eeff,
- 0x1ead0, 0x1e6a1, 0x1e273, 0x1de45, 0x1da18, 0x1d5eb, 0x1d1bf, 0x1cd93,
- 0x1c967, 0x1c53c, 0x1c111, 0x1bce6, 0x1b8bc, 0x1b493, 0x1b069, 0x1ac40,
- 0x1a818, 0x1a3f0, 0x19fc8, 0x19ba1, 0x1977a, 0x19354, 0x18f2d, 0x18b08,
- 0x186e2, 0x182be, 0x17e99, 0x17a75, 0x17651, 0x1722e, 0x16e0b, 0x169e9,
- 0x165c6, 0x161a5, 0x15d83, 0x15963, 0x15542, 0x15122, 0x14d02, 0x148e3,
- 0x144c4, 0x140a5, 0x13c87, 0x13869, 0x1344c, 0x1302f, 0x12c12, 0x127f6,
- 0x123da, 0x11fbf, 0x11ba4, 0x11789, 0x1136f, 0x10f55, 0x10b3c, 0x10723,
- 0x1030a, 0xfef2, 0xfada, 0xf6c2, 0xf2ab, 0xee95, 0xea7e, 0xe668,
- 0xe253, 0xde3e, 0xda29, 0xd614, 0xd200, 0xcded, 0xc9da, 0xc5c7,
- 0xc1b4, 0xbda2, 0xb990, 0xb57f, 0xb16e, 0xad5e, 0xa94e, 0xa53e,
- 0xa12e, 0x9d1f, 0x9911, 0x9503, 0x90f5, 0x8ce7, 0x88da, 0x84ce,
- 0x80c1, 0x7cb5, 0x78aa, 0x749f, 0x7094, 0x6c89, 0x687f, 0x6476,
- 0x606d, 0x5c64, 0x585b, 0x5453, 0x504b, 0x4c44, 0x483d, 0x4436,
- 0x4030, 0x3c2a, 0x3825, 0x3420, 0x301b, 0x2c17, 0x2813, 0x240f,
- 0x200c, 0x1c09, 0x1807, 0x1405, 0x1003, 0xc02, 0x801, 0x400,
- 0x7fffff, 0x7ff001, 0x7fe006, 0x7fd00d, 0x7fc018, 0x7fb025, 0x7fa036, 0x7f9049,
- 0x7f8060, 0x7f7079, 0x7f6095, 0x7f50b5, 0x7f40d7, 0x7f30fc, 0x7f2124, 0x7f114f,
- 0x7f017e, 0x7ef1af, 0x7ee1e2, 0x7ed219, 0x7ec253, 0x7eb290, 0x7ea2d0, 0x7e9312,
- 0x7e8358, 0x7e73a0, 0x7e63eb, 0x7e543a, 0x7e448b, 0x7e34df, 0x7e2536, 0x7e1590,
- 0x7e05ec, 0x7df64c, 0x7de6ae, 0x7dd714, 0x7dc77c, 0x7db7e7, 0x7da855, 0x7d98c6,
- 0x7d893a, 0x7d79b0, 0x7d6a2a, 0x7d5aa6, 0x7d4b25, 0x7d3ba7, 0x7d2c2c, 0x7d1cb3,
- 0x7d0d3e, 0x7cfdcb, 0x7cee5b, 0x7cdeee, 0x7ccf84, 0x7cc01d, 0x7cb0b8, 0x7ca156,
- 0x7c91f7, 0x7c829b, 0x7c7342, 0x7c63eb, 0x7c5497, 0x7c4546, 0x7c35f8, 0x7c26ad,
- 0x7c1764, 0x7c081e, 0x7bf8db, 0x7be99b, 0x7bda5d, 0x7bcb23, 0x7bbbeb, 0x7bacb5,
- 0x7b9d83, 0x7b8e53, 0x7b7f26, 0x7b6ffc, 0x7b60d4, 0x7b51b0, 0x7b428e, 0x7b336e,
- 0x7b2452, 0x7b1538, 0x7b0621, 0x7af70c, 0x7ae7fb, 0x7ad8ec, 0x7ac9e0, 0x7abad6,
- 0x7aabcf, 0x7a9ccb, 0x7a8dca, 0x7a7ecb, 0x7a6fcf, 0x7a60d5, 0x7a51df, 0x7a42eb,
- 0x7a33f9, 0x7a250b, 0x7a161f, 0x7a0735, 0x79f84f, 0x79e96b, 0x79da89, 0x79cbab,
- 0x79bccf, 0x79adf5, 0x799f1f, 0x79904a, 0x798179, 0x7972aa, 0x7963de, 0x795515,
- 0x79464e, 0x793789, 0x7928c8, 0x791a09, 0x790b4c, 0x78fc92, 0x78eddb, 0x78df27,
- 0x78d075, 0x78c1c5, 0x78b319, 0x78a46e, 0x7895c7, 0x788722, 0x78787f, 0x7869e0,
- 0x785b42, 0x784ca8, 0x783e10, 0x782f7a, 0x7820e7, 0x781257, 0x7803c9, 0x77f53e,
- 0x77e6b5, 0x77d82f, 0x77c9ab, 0x77bb2a, 0x77acac, 0x779e30, 0x778fb6, 0x77813f,
- 0x7772cb, 0x776459, 0x7755ea, 0x77477d, 0x773913, 0x772aab, 0x771c46, 0x770de3,
- 0x76ff83, 0x76f125, 0x76e2ca, 0x76d472, 0x76c61b, 0x76b7c8, 0x76a977, 0x769b28,
- 0x768cdc, 0x767e92, 0x76704b, 0x766206, 0x7653c4, 0x764584, 0x763747, 0x76290c,
- 0x761ad3, 0x760c9d, 0x75fe6a, 0x75f039, 0x75e20a, 0x75d3de, 0x75c5b5, 0x75b78e,
- 0x75a969, 0x759b46, 0x758d27, 0x757f09, 0x7570ee, 0x7562d6, 0x7554bf, 0x7546ac,
- 0x75389a, 0x752a8c, 0x751c7f, 0x750e75, 0x75006d, 0x74f268, 0x74e465, 0x74d665,
- 0x74c867, 0x74ba6b, 0x74ac72, 0x749e7b, 0x749087, 0x748295, 0x7474a5, 0x7466b8,
- 0x7458cd, 0x744ae4, 0x743cfe, 0x742f1a, 0x742139, 0x74135a, 0x74057d, 0x73f7a3,
- 0x73e9cb, 0x73dbf5, 0x73ce22, 0x73c051, 0x73b282, 0x73a4b6, 0x7396ec, 0x738925,
- 0x737b60, 0x736d9d, 0x735fdc, 0x73521e, 0x734462, 0x7336a9, 0x7328f1, 0x731b3c,
- 0x730d8a, 0x72ffd9, 0x72f22c, 0x72e480, 0x72d6d7, 0x72c92f, 0x72bb8b, 0x72ade8,
- 0x72a048, 0x7292aa, 0x72850f, 0x727775, 0x7269de, 0x725c4a, 0x724eb7, 0x724127,
- 0x723399, 0x72260e, 0x721884, 0x720afd, 0x71fd79, 0x71eff6, 0x71e276, 0x71d4f8,
- 0x71c77c, 0x71ba02, 0x71ac8b, 0x719f16, 0x7191a3, 0x718433, 0x7176c5, 0x716959,
- 0x715bef, 0x714e87, 0x714122, 0x7133bf, 0x71265e, 0x711900, 0x710ba3, 0x70fe49,
- 0x70f0f1, 0x70e39b, 0x70d648, 0x70c8f6, 0x70bba7, 0x70ae5a, 0x70a110, 0x7093c7,
- 0x708681, 0x70793d, 0x706bfb, 0x705ebb, 0x70517d, 0x704442, 0x703709, 0x7029d2,
- 0x701c9d, 0x700f6a, 0x70023a, 0x6ff50c, 0x6fe7e0, 0x6fdab6, 0x6fcd8e, 0x6fc068,
- 0x6fb345, 0x6fa624, 0x6f9904, 0x6f8be7, 0x6f7ecd, 0x6f71b4, 0x6f649d, 0x6f5789,
- 0x6f4a77, 0x6f3d67, 0x6f3059, 0x6f234d, 0x6f1643, 0x6f093c, 0x6efc36, 0x6eef33,
- 0x6ee232, 0x6ed533, 0x6ec836, 0x6ebb3b, 0x6eae42, 0x6ea14c, 0x6e9457, 0x6e8765,
- 0x6e7a74, 0x6e6d86, 0x6e609a, 0x6e53b0, 0x6e46c8, 0x6e39e3, 0x6e2cff, 0x6e201d,
- 0x6e133e, 0x6e0661, 0x6df985, 0x6decac, 0x6ddfd5, 0x6dd300, 0x6dc62d, 0x6db95c,
- 0x6dac8d, 0x6d9fc0, 0x6d92f5, 0x6d862d, 0x6d7966, 0x6d6ca2, 0x6d5fdf, 0x6d531f,
- 0x6d4660, 0x6d39a4, 0x6d2cea, 0x6d2032, 0x6d137c, 0x6d06c7, 0x6cfa15, 0x6ced65,
- 0x6ce0b7, 0x6cd40b, 0x6cc761, 0x6cbab9, 0x6cae14, 0x6ca170, 0x6c94ce, 0x6c882e,
- 0x6c7b90, 0x6c6ef5, 0x6c625b, 0x6c55c3, 0x6c492d, 0x6c3c9a, 0x6c3008, 0x6c2378,
- 0x6c16ea, 0x6c0a5f, 0x6bfdd5, 0x6bf14d, 0x6be4c8, 0x6bd844, 0x6bcbc2, 0x6bbf42,
- 0x6bb2c5, 0x6ba649, 0x6b99cf, 0x6b8d57, 0x6b80e2, 0x6b746e, 0x6b67fc, 0x6b5b8c,
- 0x6b4f1e, 0x6b42b2, 0x6b3648, 0x6b29e0, 0x6b1d7a, 0x6b1116, 0x6b04b4, 0x6af854,
- 0x6aebf5, 0x6adf99, 0x6ad33f, 0x6ac6e6, 0x6aba90, 0x6aae3b, 0x6aa1e9, 0x6a9598,
- 0x6a8949, 0x6a7cfd, 0x6a70b2, 0x6a6469, 0x6a5822, 0x6a4bdd, 0x6a3f9a, 0x6a3359,
- 0x6a271a, 0x6a1adc, 0x6a0ea1, 0x6a0267, 0x69f630, 0x69e9fa, 0x69ddc6, 0x69d195,
- 0x69c565, 0x69b937, 0x69ad0b, 0x69a0e0, 0x6994b8, 0x698892, 0x697c6d, 0x69704a,
- 0x69642a, 0x69580b, 0x694bee, 0x693fd3, 0x6933ba, 0x6927a2, 0x691b8d, 0x690f79,
- 0x690368, 0x68f758, 0x68eb4a, 0x68df3e, 0x68d334, 0x68c72b, 0x68bb25, 0x68af20,
- 0x68a31d, 0x68971d, 0x688b1d, 0x687f20, 0x687325, 0x68672c, 0x685b34, 0x684f3e,
- 0x68434a, 0x683758, 0x682b68, 0x681f7a, 0x68138d, 0x6807a2, 0x67fbb9, 0x67efd2,
- 0x67e3ed, 0x67d80a, 0x67cc28, 0x67c048, 0x67b46a, 0x67a88e, 0x679cb4, 0x6790dc,
- 0x678505, 0x677930, 0x676d5d, 0x67618c, 0x6755bd, 0x6749ef, 0x673e23, 0x673259,
- 0x672691, 0x671acb, 0x670f06, 0x670343, 0x66f782, 0x66ebc3, 0x66e006, 0x66d44a,
- 0x66c891, 0x66bcd8, 0x66b122, 0x66a56e, 0x6699bb, 0x668e0a, 0x66825b, 0x6676ae,
- 0x666b02, 0x665f58, 0x6653b0, 0x66480a, 0x663c66, 0x6630c3, 0x662522, 0x661983,
- 0x660de5, 0x66024a, 0x65f6b0, 0x65eb17, 0x65df81, 0x65d3ec, 0x65c859, 0x65bcc8,
- 0x65b139, 0x65a5ab, 0x659a1f, 0x658e95, 0x65830d, 0x657786, 0x656c01, 0x65607e,
- 0x6554fc, 0x65497c, 0x653dfe, 0x653282, 0x652707, 0x651b8e, 0x651017, 0x6504a2,
- 0x64f92e, 0x64edbc, 0x64e24c, 0x64d6dd, 0x64cb70, 0x64c005, 0x64b49c, 0x64a934,
- 0x649dce, 0x64926a, 0x648707, 0x647ba6, 0x647047, 0x6464ea, 0x64598e, 0x644e34,
- 0x6442db, 0x643784, 0x642c2f, 0x6420dc, 0x64158a, 0x640a3a, 0x63feec, 0x63f39f,
- 0x63e854, 0x63dd0b, 0x63d1c3, 0x63c67d, 0x63bb39, 0x63aff7, 0x63a4b6, 0x639976,
- 0x638e39, 0x6382fd, 0x6377c3, 0x636c8a, 0x636153, 0x63561e, 0x634aea, 0x633fb8,
- 0x633488, 0x632959, 0x631e2c, 0x631301, 0x6307d7, 0x62fcaf, 0x62f189, 0x62e664,
- 0x62db41, 0x62d01f, 0x62c500, 0x62b9e1, 0x62aec5, 0x62a3aa, 0x629890, 0x628d79,
- 0x628263, 0x62774e, 0x626c3b, 0x62612a, 0x62561b, 0x624b0d, 0x624000, 0x6234f6,
- 0x6229ed, 0x621ee5, 0x6213df, 0x6208db, 0x61fdd8, 0x61f2d7, 0x61e7d8, 0x61dcda,
- 0x61d1de, 0x61c6e3, 0x61bbea, 0x61b0f3, 0x61a5fd, 0x619b09, 0x619016, 0x618525,
- 0x617a36, 0x616f48, 0x61645b, 0x615971, 0x614e88, 0x6143a0, 0x6138ba, 0x612dd6,
- 0x6122f3, 0x611812, 0x610d32, 0x610254, 0x60f778, 0x60ec9d, 0x60e1c4, 0x60d6ec,
- 0x60cc16, 0x60c141, 0x60b66e, 0x60ab9c, 0x60a0cc, 0x6095fe, 0x608b31, 0x608066,
- 0x60759c, 0x606ad4, 0x60600e, 0x605549, 0x604a85, 0x603fc3, 0x603503, 0x602a44,
- 0x601f87, 0x6014cb, 0x600a11, 0x5fff58, 0x5ff4a1, 0x5fe9eb, 0x5fdf37, 0x5fd485,
- 0x5fc9d4, 0x5fbf24, 0x5fb476, 0x5fa9ca, 0x5f9f1f, 0x5f9476, 0x5f89ce, 0x5f7f28,
- 0x5f7483, 0x5f69df, 0x5f5f3e, 0x5f549d, 0x5f49ff, 0x5f3f62, 0x5f34c6, 0x5f2a2c,
- 0x5f1f93, 0x5f14fc, 0x5f0a66, 0x5effd2, 0x5ef53f, 0x5eeaae, 0x5ee01f, 0x5ed591,
- 0x5ecb04, 0x5ec079, 0x5eb5ef, 0x5eab67, 0x5ea0e0, 0x5e965b, 0x5e8bd8, 0x5e8155,
- 0x5e76d5, 0x5e6c55, 0x5e61d8, 0x5e575c, 0x5e4ce1, 0x5e4268, 0x5e37f0, 0x5e2d79,
- 0x5e2305, 0x5e1891, 0x5e0e1f, 0x5e03af, 0x5df940, 0x5deed3, 0x5de467, 0x5dd9fc,
- 0x5dcf93, 0x5dc52b, 0x5dbac5, 0x5db061, 0x5da5fd, 0x5d9b9c, 0x5d913b, 0x5d86dc,
- 0x5d7c7f, 0x5d7223, 0x5d67c9, 0x5d5d70, 0x5d5318, 0x5d48c2, 0x5d3e6d, 0x5d341a,
- 0x5d29c8, 0x5d1f78, 0x5d1529, 0x5d0adc, 0x5d0090, 0x5cf645, 0x5cebfc, 0x5ce1b4,
- 0x5cd76e, 0x5ccd29, 0x5cc2e6, 0x5cb8a4, 0x5cae63, 0x5ca424, 0x5c99e6, 0x5c8faa,
- 0x5c856f, 0x5c7b36, 0x5c70fe, 0x5c66c7, 0x5c5c92, 0x5c525e, 0x5c482c, 0x5c3dfb,
- 0x5c33cc, 0x5c299d, 0x5c1f71, 0x5c1546, 0x5c0b1c, 0x5c00f3, 0x5bf6cc, 0x5beca7,
- 0x5be282, 0x5bd85f, 0x5bce3e, 0x5bc41e, 0x5bb9ff, 0x5bafe2, 0x5ba5c6, 0x5b9bac,
- 0x5b9193, 0x5b877b, 0x5b7d65, 0x5b7350, 0x5b693d, 0x5b5f2a, 0x5b551a, 0x5b4b0a,
- 0x5b40fd, 0x5b36f0, 0x5b2ce5, 0x5b22db, 0x5b18d3, 0x5b0ecc, 0x5b04c6, 0x5afac2,
- 0x5af0bf, 0x5ae6bd, 0x5adcbd, 0x5ad2be, 0x5ac8c1, 0x5abec5, 0x5ab4ca, 0x5aaad1,
- 0x5aa0d9, 0x5a96e2, 0x5a8ced, 0x5a82f9, 0x5a7906, 0x5a6f15, 0x5a6525, 0x5a5b37,
- 0x5a514a, 0x5a475e, 0x5a3d74, 0x5a338b, 0x5a29a3, 0x5a1fbd, 0x5a15d8, 0x5a0bf4,
- 0x5a0212, 0x59f831, 0x59ee51, 0x59e473, 0x59da96, 0x59d0ba, 0x59c6e0, 0x59bd07,
- 0x59b330, 0x59a959, 0x599f84, 0x5995b1, 0x598bde, 0x59820e, 0x59783e, 0x596e70,
- 0x5964a3, 0x595ad7, 0x59510d, 0x594744, 0x593d7c, 0x5933b6, 0x5929f1, 0x59202d,
- 0x59166b, 0x590caa, 0x5902ea, 0x58f92b, 0x58ef6e, 0x58e5b3, 0x58dbf8, 0x58d23f,
- 0x58c887, 0x58bed0, 0x58b51b, 0x58ab67, 0x58a1b4, 0x589803, 0x588e53, 0x5884a4,
- 0x587af7, 0x58714b, 0x5867a0, 0x585df6, 0x58544e, 0x584aa7, 0x584101, 0x58375d,
- 0x582dba, 0x582418, 0x581a77, 0x5810d8, 0x58073a, 0x57fd9d, 0x57f402, 0x57ea68,
- 0x57e0cf, 0x57d737, 0x57cda1, 0x57c40c, 0x57ba78, 0x57b0e6, 0x57a754, 0x579dc5,
- 0x579436, 0x578aa9, 0x57811c, 0x577792, 0x576e08, 0x576480, 0x575af9, 0x575173,
- 0x5747ee, 0x573e6b, 0x5734e9, 0x572b68, 0x5721e9, 0x57186b, 0x570eee, 0x570572,
- 0x56fbf8, 0x56f27e, 0x56e906, 0x56df90, 0x56d61a, 0x56cca6, 0x56c333, 0x56b9c1,
- 0x56b051, 0x56a6e2, 0x569d74, 0x569407, 0x568a9b, 0x568131, 0x5677c8, 0x566e60,
- 0x5664fa, 0x565b95, 0x565231, 0x5648ce, 0x563f6c, 0x56360c, 0x562cad, 0x56234f,
- 0x5619f2, 0x561097, 0x56073c, 0x55fde3, 0x55f48c, 0x55eb35, 0x55e1e0, 0x55d88c,
- 0x55cf39, 0x55c5e7, 0x55bc97, 0x55b347, 0x55a9f9, 0x55a0ad, 0x559761, 0x558e17,
- 0x5584cd, 0x557b86, 0x55723f, 0x5568f9, 0x555fb5, 0x555672, 0x554d30, 0x5543ef,
- 0x553ab0, 0x553171, 0x552834, 0x551ef8, 0x5515be, 0x550c84, 0x55034c, 0x54fa15,
- 0x54f0df, 0x54e7aa, 0x54de77, 0x54d544, 0x54cc13, 0x54c2e3, 0x54b9b4, 0x54b087,
- 0x54a75a, 0x549e2f, 0x549505, 0x548bdc, 0x5482b5, 0x54798e, 0x547069, 0x546745,
- 0x545e22, 0x545500, 0x544be0, 0x5442c0, 0x5439a2, 0x543085, 0x542769, 0x541e4f,
- 0x541535, 0x540c1d, 0x540306, 0x53f9f0, 0x53f0db, 0x53e7c7, 0x53deb5, 0x53d5a3,
- 0x53cc93, 0x53c384, 0x53ba76, 0x53b169, 0x53a85e, 0x539f54, 0x53964a, 0x538d42,
- 0x53843b, 0x537b36, 0x537231, 0x53692e, 0x53602b, 0x53572a, 0x534e2a, 0x53452b,
- 0x533c2e, 0x533331, 0x532a36, 0x53213b, 0x531842, 0x530f4a, 0x530654, 0x52fd5e,
- 0x52f469, 0x52eb76, 0x52e284, 0x52d993, 0x52d0a3, 0x52c7b4, 0x52bec6, 0x52b5d9,
- 0x52acee, 0x52a404, 0x529b1b, 0x529233, 0x52894c, 0x528066, 0x527781, 0x526e9e,
- 0x5265bb, 0x525cda, 0x5253fa, 0x524b1b, 0x52423d, 0x523960, 0x523084, 0x5227aa,
- 0x521ed0, 0x5215f8, 0x520d21, 0x52044b, 0x51fb76, 0x51f2a2, 0x51e9cf, 0x51e0fe,
- 0x51d82d, 0x51cf5e, 0x51c68f, 0x51bdc2, 0x51b4f6, 0x51ac2b, 0x51a361, 0x519a98,
- 0x5191d1, 0x51890a, 0x518045, 0x517780, 0x516ebd, 0x5165fb, 0x515d3a, 0x51547a,
- 0x514bbb, 0x5142fd, 0x513a41, 0x513185, 0x5128cb, 0x512011, 0x511759, 0x510ea2,
- 0x5105ec, 0x50fd36, 0x50f483, 0x50ebd0, 0x50e31e, 0x50da6d, 0x50d1be, 0x50c90f,
- 0x50c062, 0x50b7b5, 0x50af0a, 0x50a660, 0x509db7, 0x50950f, 0x508c68, 0x5083c2,
- 0x507b1d, 0x507279, 0x5069d7, 0x506135, 0x505894, 0x504ff5, 0x504757, 0x503eb9,
- 0x50361d, 0x502d82, 0x5024e8, 0x501c4f, 0x5013b7, 0x500b20, 0x50028a, 0x4ff9f5,
- 0x4ff162, 0x4fe8cf, 0x4fe03d, 0x4fd7ad, 0x4fcf1d, 0x4fc68f, 0x4fbe01, 0x4fb575,
- 0x4facea, 0x4fa460, 0x4f9bd7, 0x4f934e, 0x4f8ac7, 0x4f8241, 0x4f79bc, 0x4f7139,
- 0x4f68b6, 0x4f6034, 0x4f57b3, 0x4f4f33, 0x4f46b5, 0x4f3e37, 0x4f35bb, 0x4f2d3f,
- 0x4f24c5, 0x4f1c4b, 0x4f13d3, 0x4f0b5b, 0x4f02e5, 0x4efa70, 0x4ef1fb, 0x4ee988,
- 0x4ee116, 0x4ed8a5, 0x4ed035, 0x4ec7c6, 0x4ebf58, 0x4eb6ea, 0x4eae7e, 0x4ea613,
- 0x4e9daa, 0x4e9541, 0x4e8cd9, 0x4e8472, 0x4e7c0c, 0x4e73a7, 0x4e6b43, 0x4e62e1,
- 0x4e5a7f, 0x4e521e, 0x4e49be, 0x4e4160, 0x4e3902, 0x4e30a5, 0x4e284a, 0x4e1fef,
- 0x4e1796, 0x4e0f3d, 0x4e06e5, 0x4dfe8f, 0x4df639, 0x4dede5, 0x4de591, 0x4ddd3f,
- 0x4dd4ed, 0x4dcc9d, 0x4dc44d, 0x4dbbff, 0x4db3b1, 0x4dab65, 0x4da319, 0x4d9acf,
- 0x4d9285, 0x4d8a3d, 0x4d81f5, 0x4d79af, 0x4d7169, 0x4d6925, 0x4d60e2, 0x4d589f,
- 0x4d505e, 0x4d481d, 0x4d3fde, 0x4d379f, 0x4d2f62, 0x4d2725, 0x4d1eea, 0x4d16af,
- 0x4d0e76, 0x4d063d, 0x4cfe05, 0x4cf5cf, 0x4ced99, 0x4ce565, 0x4cdd31, 0x4cd4fe,
- 0x4ccccd, 0x4cc49c, 0x4cbc6c, 0x4cb43e, 0x4cac10, 0x4ca3e3, 0x4c9bb8, 0x4c938d,
- 0x4c8b63, 0x4c833a, 0x4c7b12, 0x4c72eb, 0x4c6ac6, 0x4c62a1, 0x4c5a7d, 0x4c525a,
- 0x4c4a38, 0x4c4217, 0x4c39f7, 0x4c31d7, 0x4c29b9, 0x4c219c, 0x4c1980, 0x4c1165,
- 0x4c094b, 0x4c0131, 0x4bf919, 0x4bf102, 0x4be8eb, 0x4be0d6, 0x4bd8c1, 0x4bd0ae,
- 0x4bc89b, 0x4bc089, 0x4bb879, 0x4bb069, 0x4ba85a, 0x4ba04d, 0x4b9840, 0x4b9034,
- 0x4b8829, 0x4b801f, 0x4b7816, 0x4b700e, 0x4b6807, 0x4b6001, 0x4b57fc, 0x4b4ff7,
- 0x4b47f4, 0x4b3ff2, 0x4b37f0, 0x4b2ff0, 0x4b27f0, 0x4b1ff2, 0x4b17f4, 0x4b0ff7,
- 0x4b07fc, 0x4b0001, 0x4af807, 0x4af00e, 0x4ae816, 0x4ae01f, 0x4ad829, 0x4ad034,
- 0x4ac83f, 0x4ac04c, 0x4ab85a, 0x4ab068, 0x4aa878, 0x4aa088, 0x4a989a, 0x4a90ac,
- 0x4a88bf, 0x4a80d3, 0x4a78e8, 0x4a70fe, 0x4a6915, 0x4a612d, 0x4a5946, 0x4a5160,
- 0x4a497a, 0x4a4196, 0x4a39b2, 0x4a31d0, 0x4a29ee, 0x4a220d, 0x4a1a2d, 0x4a124f,
- 0x4a0a71, 0x4a0294, 0x49fab7, 0x49f2dc, 0x49eb02, 0x49e328, 0x49db50, 0x49d378,
- 0x49cba2, 0x49c3cc, 0x49bbf7, 0x49b423, 0x49ac50, 0x49a47e, 0x499cad, 0x4994dd,
- 0x498d0d, 0x49853f, 0x497d71, 0x4975a5, 0x496dd9, 0x49660e, 0x495e44, 0x49567b,
- 0x494eb3, 0x4946ec, 0x493f25, 0x493760, 0x492f9b, 0x4927d8, 0x492015, 0x491853,
- 0x491092, 0x4908d2, 0x490113, 0x48f955, 0x48f198, 0x48e9db, 0x48e21f, 0x48da65,
- 0x48d2ab, 0x48caf2, 0x48c33a, 0x48bb83, 0x48b3cd, 0x48ac18, 0x48a463, 0x489cb0,
- 0x4894fd, 0x488d4b, 0x48859a, 0x487dea, 0x48763b, 0x486e8d, 0x4866df, 0x485f33,
- 0x485787, 0x484fdd, 0x484833, 0x48408a, 0x4838e2, 0x48313b, 0x482994, 0x4821ef,
- 0x481a4a, 0x4812a6, 0x480b04, 0x480362, 0x47fbc1, 0x47f420, 0x47ec81, 0x47e4e3,
- 0x47dd45, 0x47d5a8, 0x47ce0c, 0x47c672, 0x47bed7, 0x47b73e, 0x47afa6, 0x47a80e,
- 0x47a078, 0x4798e2, 0x47914d, 0x4789b9, 0x478226, 0x477a93, 0x477302, 0x476b71,
- 0x4763e2, 0x475c53, 0x4754c5, 0x474d37, 0x4745ab, 0x473e20, 0x473695, 0x472f0b,
- 0x472783, 0x471ffa, 0x471873, 0x4710ed, 0x470968, 0x4701e3, 0x46fa5f, 0x46f2dc,
- 0x46eb5a, 0x46e3d9, 0x46dc59, 0x46d4d9, 0x46cd5a, 0x46c5dd, 0x46be60, 0x46b6e4,
- 0x46af68, 0x46a7ee, 0x46a074, 0x4698fb, 0x469184, 0x468a0c, 0x468296, 0x467b21,
- 0x4673ac, 0x466c39, 0x4664c6, 0x465d54, 0x4655e3, 0x464e72, 0x464703, 0x463f94,
- 0x463826, 0x4630b9, 0x46294d, 0x4621e2, 0x461a77, 0x46130e, 0x460ba5, 0x46043d,
- 0x45fcd6, 0x45f56f, 0x45ee0a, 0x45e6a5, 0x45df41, 0x45d7de, 0x45d07c, 0x45c91a,
- 0x45c1ba, 0x45ba5a, 0x45b2fb, 0x45ab9d, 0x45a440, 0x459ce4, 0x459588, 0x458e2d,
- 0x4586d3, 0x457f7a, 0x457822, 0x4570ca, 0x456974, 0x45621e, 0x455ac9, 0x455374,
- 0x454c21, 0x4544ce, 0x453d7d, 0x45362c, 0x452edb, 0x45278c, 0x45203e, 0x4518f0,
- 0x4511a3, 0x450a57, 0x45030c, 0x44fbc1, 0x44f477, 0x44ed2e, 0x44e5e6, 0x44de9f,
- 0x44d759, 0x44d013, 0x44c8ce, 0x44c18a, 0x44ba47, 0x44b305, 0x44abc3, 0x44a482,
- 0x449d42, 0x449603, 0x448ec5, 0x448787, 0x44804a, 0x44790e, 0x4471d3, 0x446a99,
- 0x44635f, 0x445c26, 0x4454ee, 0x444db7, 0x444681, 0x443f4b, 0x443816, 0x4430e2,
- 0x4429af, 0x44227c, 0x441b4b, 0x44141a, 0x440cea, 0x4405ba, 0x43fe8c, 0x43f75e,
- 0x43f031, 0x43e905, 0x43e1da, 0x43daaf, 0x43d385, 0x43cc5c, 0x43c534, 0x43be0d,
- 0x43b6e6, 0x43afc0, 0x43a89b, 0x43a177, 0x439a54, 0x439331, 0x438c0f, 0x4384ee,
- 0x437dcd, 0x4376ae, 0x436f8f, 0x436871, 0x436154, 0x435a37, 0x43531b, 0x434c00,
- 0x4344e6, 0x433dcd, 0x4336b4, 0x432f9c, 0x432885, 0x43216f, 0x431a5a, 0x431345,
- 0x430c31, 0x43051e, 0x42fe0b, 0x42f6f9, 0x42efe9, 0x42e8d8, 0x42e1c9, 0x42daba,
- 0x42d3ad, 0x42cca0, 0x42c593, 0x42be88, 0x42b77d, 0x42b073, 0x42a96a, 0x42a261,
- 0x429b59, 0x429452, 0x428d4c, 0x428647, 0x427f42, 0x42783e, 0x42713b, 0x426a39,
- 0x426337, 0x425c36, 0x425536, 0x424e37, 0x424738, 0x42403a, 0x42393d, 0x423241,
- 0x422b45, 0x42244a, 0x421d50, 0x421657, 0x420f5e, 0x420866, 0x42016f, 0x41fa79,
- 0x41f383, 0x41ec8e, 0x41e59a, 0x41dea7, 0x41d7b4, 0x41d0c2, 0x41c9d1, 0x41c2e1,
- 0x41bbf1, 0x41b503, 0x41ae14, 0x41a727, 0x41a03a, 0x41994e, 0x419263, 0x418b79,
- 0x41848f, 0x417da6, 0x4176be, 0x416fd7, 0x4168f0, 0x41620a, 0x415b25, 0x415440,
- 0x414d5c, 0x414679, 0x413f97, 0x4138b6, 0x4131d5, 0x412af5, 0x412415, 0x411d37,
- 0x411659, 0x410f7c, 0x41089f, 0x4101c3, 0x40fae9, 0x40f40e, 0x40ed35, 0x40e65c,
- 0x40df84, 0x40d8ad, 0x40d1d6, 0x40cb00, 0x40c42b, 0x40bd57, 0x40b683, 0x40afb0,
- 0x40a8de, 0x40a20c, 0x409b3b, 0x40946b, 0x408d9c, 0x4086cd, 0x408000, 0x407932,
- 0x407266, 0x406b9a, 0x4064cf, 0x405e05, 0x40573b, 0x405072, 0x4049aa, 0x4042e3,
- 0x403c1c, 0x403556, 0x402e91, 0x4027cc, 0x402109, 0x401a45, 0x401383, 0x400cc1,
- 0x400600, 0x3fff40, 0x3ff880, 0x3ff1c2, 0x3feb03, 0x3fe446, 0x3fdd89, 0x3fd6cd,
- 0x3fd012, 0x3fc957, 0x3fc29d, 0x3fbbe4, 0x3fb52c, 0x3fae74, 0x3fa7bd, 0x3fa107,
- 0x3f9a51, 0x3f939c, 0x3f8ce8, 0x3f8634, 0x3f7f81, 0x3f78cf, 0x3f721e, 0x3f6b6d,
- 0x3f64bd, 0x3f5e0e, 0x3f575f, 0x3f50b1, 0x3f4a04, 0x3f4357, 0x3f3cac, 0x3f3601,
- 0x3f2f56, 0x3f28ac, 0x3f2203, 0x3f1b5b, 0x3f14b3, 0x3f0e0c, 0x3f0766, 0x3f00c1,
- 0x3efa1c, 0x3ef377, 0x3eecd4, 0x3ee631, 0x3edf8f, 0x3ed8ee, 0x3ed24d, 0x3ecbad,
- 0x3ec50e, 0x3ebe6f, 0x3eb7d1, 0x3eb134, 0x3eaa97, 0x3ea3fb, 0x3e9d60, 0x3e96c6,
- 0x3e902c, 0x3e8993, 0x3e82fa, 0x3e7c62, 0x3e75cb, 0x3e6f35, 0x3e689f, 0x3e620a,
- 0x3e5b76, 0x3e54e2, 0x3e4e4f, 0x3e47bd, 0x3e412b, 0x3e3a9a, 0x3e340a, 0x3e2d7a,
- 0x3e26eb, 0x3e205d, 0x3e19cf, 0x3e1342, 0x3e0cb6, 0x3e062b, 0x3dffa0, 0x3df916,
- 0x3df28c, 0x3dec03, 0x3de57b, 0x3ddef4, 0x3dd86d, 0x3dd1e7, 0x3dcb61, 0x3dc4dc,
- 0x3dbe58, 0x3db7d5, 0x3db152, 0x3daad0, 0x3da44f, 0x3d9dce, 0x3d974e, 0x3d90ce,
- 0x3d8a4f, 0x3d83d1, 0x3d7d54, 0x3d76d7, 0x3d705b, 0x3d69e0, 0x3d6365, 0x3d5ceb,
- 0x3d5671, 0x3d4ff9, 0x3d4980, 0x3d4309, 0x3d3c92, 0x3d361c, 0x3d2fa7, 0x3d2932,
- 0x3d22be, 0x3d1c4a, 0x3d15d7, 0x3d0f65, 0x3d08f4, 0x3d0283, 0x3cfc13, 0x3cf5a3,
- 0x3cef34, 0x3ce8c6, 0x3ce259, 0x3cdbec, 0x3cd57f, 0x3ccf14, 0x3cc8a9, 0x3cc23f,
- 0x3cbbd5, 0x3cb56c, 0x3caf04, 0x3ca89c, 0x3ca235, 0x3c9bcf, 0x3c9569, 0x3c8f04,
- 0x3c889f, 0x3c823c, 0x3c7bd8, 0x3c7576, 0x3c6f14, 0x3c68b3, 0x3c6253, 0x3c5bf3,
- 0x3c5593, 0x3c4f35, 0x3c48d7, 0x3c427a, 0x3c3c1d, 0x3c35c1, 0x3c2f66, 0x3c290b,
- 0x3c22b1, 0x3c1c57, 0x3c15ff, 0x3c0fa7, 0x3c094f, 0x3c02f8, 0x3bfca2, 0x3bf64c,
- 0x3beff7, 0x3be9a3, 0x3be34f, 0x3bdcfc, 0x3bd6aa, 0x3bd058, 0x3bca07, 0x3bc3b7,
- 0x3bbd67, 0x3bb718, 0x3bb0c9, 0x3baa7b, 0x3ba42e, 0x3b9de1, 0x3b9795, 0x3b914a,
- 0x3b8aff, 0x3b84b5, 0x3b7e6c, 0x3b7823, 0x3b71db, 0x3b6b93, 0x3b654c, 0x3b5f06,
- 0x3b58c0, 0x3b527b, 0x3b4c36, 0x3b45f3, 0x3b3faf, 0x3b396d, 0x3b332b, 0x3b2cea,
- 0x3b26a9, 0x3b2069, 0x3b1a2a, 0x3b13eb, 0x3b0dad, 0x3b076f, 0x3b0132, 0x3afaf6,
- 0x3af4ba, 0x3aee7f, 0x3ae845, 0x3ae20b, 0x3adbd2, 0x3ad599, 0x3acf61, 0x3ac92a,
- 0x3ac2f3, 0x3abcbd, 0x3ab688, 0x3ab053, 0x3aaa1f, 0x3aa3eb, 0x3a9db8, 0x3a9786,
- 0x3a9154, 0x3a8b23, 0x3a84f2, 0x3a7ec2, 0x3a7893, 0x3a7264, 0x3a6c36, 0x3a6609,
- 0x3a5fdc, 0x3a59b0, 0x3a5384, 0x3a4d59, 0x3a472f, 0x3a4105, 0x3a3adc, 0x3a34b4,
- 0x3a2e8c, 0x3a2864, 0x3a223e, 0x3a1c18, 0x3a15f2, 0x3a0fcd, 0x3a09a9, 0x3a0385,
- 0x39fd62, 0x39f740, 0x39f11e, 0x39eafd, 0x39e4dc, 0x39debc, 0x39d89d, 0x39d27e,
- 0x39cc60, 0x39c642, 0x39c025, 0x39ba09, 0x39b3ed, 0x39add2, 0x39a7b7, 0x39a19d,
- 0x399b84, 0x39956b, 0x398f53, 0x39893b, 0x398324, 0x397d0e, 0x3976f8, 0x3970e3,
- 0x396ace, 0x3964ba, 0x395ea7, 0x395894, 0x395282, 0x394c70, 0x39465f, 0x39404f,
- 0x393a3f, 0x393430, 0x392e21, 0x392813, 0x392206, 0x391bf9, 0x3915ed, 0x390fe1,
- 0x3909d6, 0x3903cb, 0x38fdc1, 0x38f7b8, 0x38f1af, 0x38eba7, 0x38e5a0, 0x38df99,
- 0x38d993, 0x38d38d, 0x38cd88, 0x38c783, 0x38c17f, 0x38bb7c, 0x38b579, 0x38af77,
- 0x38a975, 0x38a374, 0x389d73, 0x389774, 0x389174, 0x388b76, 0x388577, 0x387f7a,
- 0x38797d, 0x387381, 0x386d85, 0x38678a, 0x38618f, 0x385b95, 0x38559b, 0x384fa2,
- 0x3849aa, 0x3843b2, 0x383dbb, 0x3837c5, 0x3831cf, 0x382bd9, 0x3825e4, 0x381ff0,
- 0x3819fd, 0x381409, 0x380e17, 0x380825, 0x380234, 0x37fc43, 0x37f653, 0x37f063,
- 0x37ea74, 0x37e485, 0x37de97, 0x37d8aa, 0x37d2bd, 0x37ccd1, 0x37c6e5, 0x37c0fa,
- 0x37bb10, 0x37b526, 0x37af3d, 0x37a954, 0x37a36c, 0x379d84, 0x37979d, 0x3791b6,
- 0x378bd0, 0x3785eb, 0x378006, 0x377a22, 0x37743e, 0x376e5b, 0x376879, 0x376297,
- 0x375cb5, 0x3756d5, 0x3750f4, 0x374b15, 0x374535, 0x373f57, 0x373979, 0x37339b,
- 0x372dbf, 0x3727e2, 0x372206, 0x371c2b, 0x371651, 0x371077, 0x370a9d, 0x3704c4,
- 0x36feec, 0x36f914, 0x36f33d, 0x36ed66, 0x36e790, 0x36e1ba, 0x36dbe5, 0x36d611,
- 0x36d03d, 0x36ca69, 0x36c497, 0x36bec4, 0x36b8f3, 0x36b321, 0x36ad51, 0x36a781,
- 0x36a1b1, 0x369be2, 0x369614, 0x369046, 0x368a79, 0x3684ac, 0x367ee0, 0x367915,
- 0x36734a, 0x366d7f, 0x3667b5, 0x3661ec, 0x365c23, 0x36565b, 0x365093, 0x364acc,
- 0x364505, 0x363f3f, 0x363979, 0x3633b4, 0x362df0, 0x36282c, 0x362269, 0x361ca6,
- 0x3616e4, 0x361122, 0x360b61, 0x3605a0, 0x35ffe0, 0x35fa20, 0x35f461, 0x35eea3,
- 0x35e8e5, 0x35e328, 0x35dd6b, 0x35d7af, 0x35d1f3, 0x35cc38, 0x35c67d, 0x35c0c3,
- 0x35bb09, 0x35b550, 0x35af98, 0x35a9e0, 0x35a429, 0x359e72, 0x3598bb, 0x359306,
- 0x358d50, 0x35879c, 0x3581e8, 0x357c34, 0x357681, 0x3570ce, 0x356b1c, 0x35656b,
- 0x355fba, 0x355a09, 0x355459, 0x354eaa, 0x3548fb, 0x35434d, 0x353d9f, 0x3537f2,
- 0x353245, 0x352c99, 0x3526ee, 0x352143, 0x351b98, 0x3515ee, 0x351045, 0x350a9c
- }
-};
-
-
-
-/* Shortcuts so we dont have to bother with the structure in C */
-
-/* Pointer to exponential table */
-const unsigned int *
-gmx_invsqrt_exptab = F77_FUNC(gmxinvsqrtdata, GMXINVSQRTDATA).exptab;
-
-/* Pointer to fraction table */
-const unsigned int *
-gmx_invsqrt_fracttab = F77_FUNC(gmxinvsqrtdata, GMXINVSQRTDATA).fracttab;
#include <math.h>
#include "macros.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
static real dist2(t_pbc *pbc, rvec x, rvec y)
{
#ifndef GMX_CONFORMATION_UTILITIES_H
#define GMX_CONFORMATION_UTILITIES_H
-#include "typedefs.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
/* This file is completely threadsafe - keep it that way! */
#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/vec.h"
#include "gromacs/fft/fft.h"
-#include "gromacs/fileio/futil.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/math/vec.h"
#include "gromacs/random/random.h"
#include "gromacs/utility/baseversion.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/programcontext.h"
#include "gromacs/utility/smalloc.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <stdio.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* CUDA library and hardware related defines */
/* TODO list some constants instead that can be used for consistency checks to
#include "cudautils.cuh"
#include "pmalloc_cuda.h"
+#include "gromacs/utility/cstringutil.h"
+
/*! Allocates nbytes of page-locked memory.
* This memory should always be freed using pfree (or with the page-locked
* free functions provied by the CUDA library).
#endif
#include <math.h>
+#include <stdlib.h>
+
#include "typedefs.h"
#include "types/commrec.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "xvgr.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
#include "bondf.h"
#include "copyrite.h"
#include "disre.h"
#include "main.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
void init_disres(FILE *fplog, const gmx_mtop_t *mtop,
t_inputrec *ir, const t_commrec *cr,
#include "gromacs/math/utilities.h"
#include "typedefs.h"
#include "types/commrec.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "coulomb.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "txtdump.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "names.h"
#include "macros.h"
#include <config.h>
#endif
-#include <stdlib.h>
+#include <string>
+#include <vector>
+
#include <assert.h>
+#include <errno.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
#include "types/enums.h"
#include "types/hw_info.h"
#include "types/commrec.h"
-#include "gmx_fatal.h"
-#include "gmx_fatal_collective.h"
+#include "network.h"
#include "md_logging.h"
#include "gmx_cpuid.h"
-#include "gromacs/utility/smalloc.h"
#include "gpu_utils.h"
#include "copyrite.h"
#include "gmx_detect_hardware.h"
-#include "main.h"
#include "md_logging.h"
-#include "gromacs/utility/gmxomp.h"
+
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
+#include "gromacs/utility/stringutil.h"
#include "thread_mpi/threads.h"
}
}
-static void print_gpu_use_stats(FILE *fplog,
- const gmx_gpu_info_t *gpu_info,
- const gmx_gpu_opt_t *gpu_opt,
- const t_commrec *cr)
+/*! \brief Helper function for writing comma-separated GPU IDs.
+ *
+ * \param[in] ids A container of integer GPU IDs
+ * \return A comma-separated string of GPU IDs */
+template <typename Container>
+static std::string makeGpuIdsString(const Container &ids)
{
- char sbuf[STRLEN], stmp[STRLEN];
- int i, ngpu_comp, ngpu_use;
+ std::string output;
+
+ if (0 != ids.size())
+ {
+ typename Container::const_iterator it = ids.begin();
+ output += gmx::formatString("%d", *it);
+ for (++it; it != ids.end(); ++it)
+ {
+ output += gmx::formatString(",%d", *it);
+ }
+ }
+ return output;
+}
- ngpu_comp = gpu_info->ncuda_dev_compatible;
- ngpu_use = gpu_opt->ncuda_dev_use;
+/*! \brief Helper function for reporting GPU usage information
+ * in the mdrun log file
+ *
+ * \param[in] gpu_info Pointer to per-node GPU info struct
+ * \param[in] gpu_opt Pointer to per-node GPU options struct
+ * \param[in] numPpRanks Number of PP ranks per node
+ * \return String to write to the log file
+ * \throws std::bad_alloc if out of memory */
+static std::string
+makeGpuUsageReport(const gmx_gpu_info_t *gpu_info,
+ const gmx_gpu_opt_t *gpu_opt,
+ size_t numPpRanks)
+{
+ int ngpu_use = gpu_opt->ncuda_dev_use;
+ int ngpu_comp = gpu_info->ncuda_dev_compatible;
/* Issue a note if GPUs are available but not used */
if (ngpu_comp > 0 && ngpu_use < 1)
{
- sprintf(sbuf,
- "%d compatible GPU%s detected in the system, but none will be used.\n"
- "Consider trying GPU acceleration with the Verlet scheme!",
- ngpu_comp, (ngpu_comp > 1) ? "s" : "");
+ return gmx::formatString("%d compatible GPU%s detected in the system, but none will be used.\n"
+ "Consider trying GPU acceleration with the Verlet scheme!\n",
+ ngpu_comp, (ngpu_comp > 1) ? "s" : "");
}
- else
- {
- int ngpu_use_uniq;
-
- ngpu_use_uniq = gmx_count_gpu_dev_unique(gpu_info, gpu_opt);
- sprintf(sbuf, "%d GPU%s %sselected for this run.\n"
- "Mapping of GPU%s to the %d PP rank%s in this node: ",
- ngpu_use_uniq, (ngpu_use_uniq > 1) ? "s" : "",
- gpu_opt->bUserSet ? "user-" : "auto-",
- (ngpu_use > 1) ? "s" : "",
- cr->nrank_pp_intranode,
- (cr->nrank_pp_intranode > 1) ? "s" : "");
+ std::string output;
- for (i = 0; i < ngpu_use; i++)
+ {
+ std::vector<int> gpuIdsInUse;
+ for (int i = 0; i < ngpu_use; i++)
{
- sprintf(stmp, "#%d", get_gpu_device_id(gpu_info, gpu_opt, i));
- if (i < ngpu_use - 1)
- {
- strcat(stmp, ", ");
- }
- strcat(sbuf, stmp);
+ gpuIdsInUse.push_back(get_gpu_device_id(gpu_info, gpu_opt, i));
}
+ std::string gpuIdsString = makeGpuIdsString(gpuIdsInUse);
+ int numGpusInUse = gmx_count_gpu_dev_unique(gpu_info, gpu_opt);
+ bool bPluralGpus = numGpusInUse > 1;
+
+ output += gmx::formatString("%d GPU%s %sselected for this run.\n"
+ "Mapping of GPU ID%s to the %d PP rank%s in this node: %s\n",
+ numGpusInUse, bPluralGpus ? "s" : "",
+ gpu_opt->bUserSet ? "user-" : "auto-",
+ bPluralGpus ? "s" : "",
+ numPpRanks,
+ (numPpRanks > 1) ? "s" : "",
+ gpuIdsString.c_str());
}
- md_print_info(cr, fplog, "%s\n\n", sbuf);
+
+ return output;
}
/* Give a suitable fatal error or warning if the build configuration
const gmx_hw_opt_t *hw_opt,
gmx_bool bUseGPU)
{
- int npppn, ntmpi_pp;
- char sbuf[STRLEN], th_or_proc[STRLEN], th_or_proc_plural[STRLEN], pernode[STRLEN];
+ int npppn;
+ char th_or_proc[STRLEN], th_or_proc_plural[STRLEN], pernode[STRLEN];
gmx_bool btMPI, bMPI, bMaxMpiThreadsSet, bNthreadsAuto, bEmulateGPU;
assert(hwinfo);
return;
}
- btMPI = bMPI = FALSE;
- bNthreadsAuto = FALSE;
#if defined(GMX_THREAD_MPI)
+ bMPI = FALSE;
btMPI = TRUE;
bNthreadsAuto = (hw_opt->nthreads_tmpi < 1);
#elif defined(GMX_LIB_MPI)
- bMPI = TRUE;
+ bMPI = TRUE;
+ btMPI = FALSE;
+ bNthreadsAuto = FALSE;
+#else
+ bMPI = FALSE;
+ btMPI = FALSE;
+ bNthreadsAuto = FALSE;
#endif
/* GPU emulation detection is done later, but we need here as well
if (hwinfo->gpu_info.ncuda_dev_compatible > 0)
{
+ std::string gpuUseageReport;
+ try
+ {
+ gpuUseageReport = makeGpuUsageReport(&hwinfo->gpu_info,
+ &hw_opt->gpu_opt,
+ cr->nrank_pp_intranode);
+ }
+ GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
+
/* NOTE: this print is only for and on one physical node */
- print_gpu_use_stats(fplog, &hwinfo->gpu_info, &hw_opt->gpu_opt, cr);
+ md_print_info(cr, fplog, gpuUseageReport.c_str());
}
/* Need to ensure that we have enough GPUs:
gmx_hw_info_t *gmx_detect_hardware(FILE *fplog, const t_commrec *cr,
gmx_bool bDetectGPUs)
{
- gmx_hw_info_t *hw;
int ret;
/* make sure no one else is doing the same thing */
gmx_gpu_opt_t *gpu_opt)
{
int i;
- const char *env;
char sbuf[STRLEN], stmp[STRLEN];
/* Bail if binary is not compiled with GPU acceleration, but this is either
#include <config.h>
#endif
-#include "gmx_fatal.h"
#include "typedefs.h"
+#include "types/commrec.h"
#include "macros.h"
#include "network.h"
#include "copyrite.h"
#include "gmx_omp_nthreads.h"
#include "md_logging.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxomp.h"
/** Structure with the number of threads for each OpenMP multi-threaded
#include "md_logging.h"
#include "gmx_thread_affinity.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
static int
get_thread_affinity_layout(FILE *fplog,
* Note that this will only work on Linux as we use a GNU feature.
*/
void
-gmx_check_thread_affinity_set(FILE gmx_unused *fplog,
- const t_commrec gmx_unused *cr,
- gmx_hw_opt_t gmx_unused *hw_opt,
- int gmx_unused nthreads_hw_avail,
- gmx_bool gmx_unused bAfterOpenmpInit)
+gmx_check_thread_affinity_set(FILE *fplog,
+ const t_commrec *cr,
+ gmx_hw_opt_t *hw_opt,
+ int gmx_unused nthreads_hw_avail,
+ gmx_bool bAfterOpenmpInit)
{
#ifdef HAVE_SCHED_GETAFFINITY
cpu_set_t mask_current;
int i, ret, cpu_count, cpu_set;
gmx_bool bAllSet;
+#endif
assert(hw_opt);
+ if (!bAfterOpenmpInit)
+ {
+ /* Check for externally set OpenMP affinity and turn off internal
+ * pinning if any is found. We need to do this check early to tell
+ * thread-MPI whether it should do pinning when spawning threads.
+ * TODO: the above no longer holds, we should move these checks later
+ */
+ if (hw_opt->thread_affinity != threadaffOFF)
+ {
+ char *message;
+ if (!gmx_omp_check_thread_affinity(&message))
+ {
+ /* TODO: with -pin auto we should only warn when using all cores */
+ md_print_warn(cr, fplog, "%s", message);
+ sfree(message);
+ hw_opt->thread_affinity = threadaffOFF;
+ }
+ }
+
+ /* With thread-MPI this is needed as pinning might get turned off,
+ * which needs to be known before starting thread-MPI.
+ * With thread-MPI hw_opt is processed here on the master rank
+ * and passed to the other ranks later, so we only do this on master.
+ */
+ if (!SIMMASTER(cr))
+ {
+ return;
+ }
+#ifndef GMX_THREAD_MPI
+ return;
+#endif
+ }
+
+#ifdef HAVE_SCHED_GETAFFINITY
if (hw_opt->thread_affinity == threadaffOFF)
{
/* internal affinity setting is off, don't bother checking process affinity */
#include <stdlib.h>
#include <assert.h>
-#include "gromacs/utility/smalloc.h"
#include "types/hw_info.h"
#include "gpu_utils.h"
#include "../cuda_tools/cudautils.cuh"
#include "memtestG80_core.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/smalloc.h"
+
/** Amount of memory to be used in quick memtest. */
#define QUICK_MEM 250
/** Bit flag with type of tests to run in quick memtest. */
#define def_nofc(str, lstr) \
{str, lstr, 0, 0, 0, IF_NULL, -1, unimplemented}
-/* this MUST correspond to the enum in include/types/idef.h */
+/* this MUST correspond to the enum in src/gromacs/topology/idef.h */
const t_interaction_function interaction_function[F_NRE] =
{
def_bond ("BONDS", "Bond", 2, 2, 2, eNR_BONDS, bonds ),
#include "typedefs.h"
#include "macros.h"
#include "inputrec.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* The minimum number of integration steps required for reasonably accurate
#ifdef HAVE_SYS_TIME_H
#include <sys/time.h>
#endif
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+#ifdef GMX_NATIVE_WINDOWS
+#include <process.h>
+#endif
-#include "gromacs/utility/smalloc.h"
#include "types/commrec.h"
-#include "gmx_fatal.h"
#include "network.h"
#include "main.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/filenm.h"
#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/utility/cstringutil.h"
#include "copyrite.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
-
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-
-#ifdef GMX_NATIVE_WINDOWS
-#include <process.h>
-#endif
-
#define BUFSIZE 1024
-
static void par_fn(char *base, int ftp, const t_commrec *cr,
gmx_bool bAppendSimId, gmx_bool bAppendNodeId,
char buf[], int bufsize)
}
-int gmx_gethostname(char *name, size_t len)
-{
- if (len < 8)
- {
- gmx_incons("gmx_gethostname called with len<8");
- }
-#if defined(HAVE_UNISTD_H) && !defined(__native_client__)
- if (gethostname(name, len-1) != 0)
- {
- strncpy(name, "unknown", 8);
- return -1;
- }
- return 0;
-#else
- strncpy(name, "unknown", 8);
- return -1;
-#endif
-}
-
-
void gmx_log_open(const char *lognm, const t_commrec *cr, gmx_bool bMasterOnly,
gmx_bool bAppendFiles, FILE** fplog)
{
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-
-#ifndef _minvert_h
-#define _minvert_h
-
-#include "typedefs.h"
-
-/* A bunch of routines that works on matrices that run from 1 thru n
- * although they are allocated from 0 thru n
- */
-
-extern void mat_mult(int n, real **A, real **B, real **C);
-
-extern real **mk_mat(int n);
-
-extern real **mk_mat2(int nrow, int ncol);
-
-extern void cp_mat(int n, real **src, real **dest);
-
-extern void print_mat(FILE *fp, char *title, int n, real **a, int *indx);
-/* index may be NULL */
-
-extern void invert_mat(int n, real **A, real **Ainv);
-
-#endif
#include "mvdata.h"
#include "types/commrec.h"
#include "network.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "symtab.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "tgroup.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#define block_bc(cr, d) gmx_bcast( sizeof(d), &(d), (cr))
/* Probably the test for (nr) > 0 in the next macro is only needed
* on BlueGene(/L), where IBM's MPI_Bcast will segfault after
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "network.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <ctype.h>
+#include <stdarg.h>
+#include <stdlib.h>
#include <string.h>
-#include "gmx_fatal.h"
-#include "main.h"
-#include "gromacs/utility/smalloc.h"
+
#include "types/commrec.h"
-#include "network.h"
#include "copyrite.h"
-#include <ctype.h>
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxmpi.h"
-
+#include "gromacs/utility/smalloc.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
-gmx_bool gmx_mpi_initialized(void)
-{
- int n;
-#ifndef GMX_MPI
- return 0;
-#else
- MPI_Initialized(&n);
-
- return n;
-#endif
-}
-
void gmx_fill_commrec_from_mpi(t_commrec gmx_unused *cr)
{
#ifndef GMX_MPI
#endif
}
-int gmx_node_num(void)
-{
-#ifndef GMX_MPI
- return 1;
-#else
- int i;
- (void) MPI_Comm_size(MPI_COMM_WORLD, &i);
- return i;
-#endif
-}
-
-int gmx_node_rank(void)
-{
-#ifndef GMX_MPI
- return 0;
-#else
- int i;
- (void) MPI_Comm_rank(MPI_COMM_WORLD, &i);
- return i;
-#endif
-}
-
-static int mpi_hostname_hash(void)
-{
- int hash_int;
-
-#ifndef GMX_LIB_MPI
- /* We have a single physical node */
- hash_int = 0;
-#else
- int resultlen;
- char mpi_hostname[MPI_MAX_PROCESSOR_NAME];
-
- /* This procedure can only differentiate nodes with different names.
- * Architectures where different physical nodes have identical names,
- * such as IBM Blue Gene, should use an architecture specific solution.
- */
- MPI_Get_processor_name(mpi_hostname, &resultlen);
-
- /* The string hash function returns an unsigned int. We cast to an int.
- * Negative numbers are converted to positive by setting the sign bit to 0.
- * This makes the hash one bit smaller.
- * A 63-bit hash (with 64-bit int) should be enough for unique node hashes,
- * even on a million node machine. 31 bits might not be enough though!
- */
- hash_int =
- (int)gmx_string_fullhash_func(mpi_hostname, gmx_string_hash_init);
- if (hash_int < 0)
- {
- hash_int -= INT_MIN;
- }
-#endif
-
- return hash_int;
-}
-
-#if defined GMX_LIB_MPI && defined GMX_TARGET_BGQ
-#include <spi/include/kernel/location.h>
-
-static int bgq_nodenum(void)
-{
- int hostnum;
- Personality_t personality;
- Kernel_GetPersonality(&personality, sizeof(personality));
- /* Each MPI rank has a unique coordinate in a 6-dimensional space
- (A,B,C,D,E,T), with dimensions A-E corresponding to different
- physical nodes, and T within each node. Each node has sixteen
- physical cores, each of which can have up to four hardware
- threads, so 0 <= T <= 63 (but the maximum value of T depends on
- the confituration of ranks and OpenMP threads per
- node). However, T is irrelevant for computing a suitable return
- value for gmx_hostname_num().
- */
- hostnum = personality.Network_Config.Acoord;
- hostnum *= personality.Network_Config.Bnodes;
- hostnum += personality.Network_Config.Bcoord;
- hostnum *= personality.Network_Config.Cnodes;
- hostnum += personality.Network_Config.Ccoord;
- hostnum *= personality.Network_Config.Dnodes;
- hostnum += personality.Network_Config.Dcoord;
- hostnum *= personality.Network_Config.Enodes;
- hostnum += personality.Network_Config.Ecoord;
-
- if (debug)
- {
- fprintf(debug,
- "Torus ID A: %d / %d B: %d / %d C: %d / %d D: %d / %d E: %d / %d\nNode ID T: %d / %d core: %d / %d hardware thread: %d / %d\n",
- personality.Network_Config.Acoord,
- personality.Network_Config.Anodes,
- personality.Network_Config.Bcoord,
- personality.Network_Config.Bnodes,
- personality.Network_Config.Ccoord,
- personality.Network_Config.Cnodes,
- personality.Network_Config.Dcoord,
- personality.Network_Config.Dnodes,
- personality.Network_Config.Ecoord,
- personality.Network_Config.Enodes,
- Kernel_ProcessorCoreID(),
- 16,
- Kernel_ProcessorID(),
- 64,
- Kernel_ProcessorThreadID(),
- 4);
- }
- return hostnum;
-}
-#endif
-
-int gmx_physicalnode_id_hash(void)
-{
- int hash;
-
-#ifndef GMX_MPI
- hash = 0;
-#else
-#ifdef GMX_THREAD_MPI
- /* thread-MPI currently puts the thread number in the process name,
- * we might want to change this, as this is inconsistent with what
- * most MPI implementations would do when running on a single node.
- */
- hash = 0;
-#else
-#ifdef GMX_TARGET_BGQ
- hash = bgq_nodenum();
-#else
- hash = mpi_hostname_hash();
-#endif
-#endif
-#endif
-
- if (debug)
- {
- fprintf(debug, "In gmx_physicalnode_id_hash: hash %d\n", hash);
- }
-
- return hash;
-}
-
void gmx_setup_nodecomm(FILE gmx_unused *fplog, t_commrec *cr)
{
gmx_nodecomm_t *nc;
#endif
}
-void gmx_abort(int gmx_unused noderank, int gmx_unused nnodes, int gmx_unused errorno)
-{
-#ifndef GMX_MPI
- gmx_call("gmx_abort");
-#else
-#ifdef GMX_THREAD_MPI
- fprintf(stderr, "Halting program %s\n", ShortProgram());
- gmx_thanx(stderr);
- exit(1);
-#else
- if (nnodes > 1)
- {
- fprintf(stderr, "Halting parallel program %s on CPU %d out of %d\n",
- ShortProgram(), noderank, nnodes);
- }
- else
- {
- fprintf(stderr, "Halting program %s\n", ShortProgram());
- }
-
- gmx_thanx(stderr);
- MPI_Abort(MPI_COMM_WORLD, errorno);
- exit(1);
-#endif
-#endif
-}
-
void gmx_bcast(int gmx_unused nbytes, void gmx_unused *b, const t_commrec gmx_unused *cr)
{
#ifndef GMX_MPI
#endif
#endif
}
+
+gmx_bool gmx_fexist_master(const char *fname, t_commrec *cr)
+{
+ gmx_bool bExist;
+
+ if (SIMMASTER(cr))
+ {
+ bExist = gmx_fexist(fname);
+ }
+ if (PAR(cr))
+ {
+ gmx_bcast(sizeof(bExist), &bExist, cr);
+ }
+ return bExist;
+}
+
+void gmx_fatal_collective(int f_errno, const char *file, int line,
+ const t_commrec *cr, gmx_domdec_t *dd,
+ const char *fmt, ...)
+{
+ va_list ap;
+ gmx_bool bMaster, bFinalize;
+#ifdef GMX_MPI
+ int result;
+ /* Check if we are calling on all processes in MPI_COMM_WORLD */
+ if (cr != NULL)
+ {
+ MPI_Comm_compare(cr->mpi_comm_mysim, MPI_COMM_WORLD, &result);
+ }
+ else
+ {
+ MPI_Comm_compare(dd->mpi_comm_all, MPI_COMM_WORLD, &result);
+ }
+ /* Any result except MPI_UNEQUAL allows us to call MPI_Finalize */
+ bFinalize = (result != MPI_UNEQUAL);
+#else
+ bFinalize = TRUE;
+#endif
+ bMaster = (cr != NULL && MASTER(cr)) || (dd != NULL && DDMASTER(dd));
+
+ va_start(ap, fmt);
+ gmx_fatal_mpi_va(f_errno, file, line, bMaster, bFinalize, fmt, ap);
+ va_end(ap);
+}
#include <math.h>
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "nonbonded.h"
#include "nb_kernel.h"
#include "macros.h"
#include "nb_free_energy.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
void
gmx_nb_free_energy_kernel(const t_nblist * gmx_restrict nlist,
bDoPotential = kernel_data->flags & GMX_NONBONDED_DO_POTENTIAL;
rcoulomb = fr->rcoulomb;
- sh_ewald = fr->ic->sh_ewald;
rvdw = fr->rvdw;
sh_invrc6 = fr->ic->sh_invrc6;
sh_lj_ewald = fr->ic->sh_lj_ewald;
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "nb_generic.h"
#include "nrnb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "nonbonded.h"
#include "nb_kernel.h"
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "nb_generic_adress.h"
#include "nrnb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "nonbonded.h"
#include "nb_kernel.h"
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "typedefs.h"
#include "nb_generic_cg.h"
#include "nonbonded.h"
#include "nb_kernel.h"
#include "nrnb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
void
gmx_nb_generic_cg_kernel(t_nblist * nlist,
#include "nb_kernel.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/* Static data structures to find kernels */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/* #endif */
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_double.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_128_fma_single.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_double.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_avx_256_single.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/*
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "nb_kernel_allvsall.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "nb_kernel_allvsallgb.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
/* #endif */
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "kernelutil_sparc64_hpc_ace_double.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_double.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse2_single.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_double.h"
# 'cutoff' means the interaction is set to 0.0 outside the cutoff
#
-FileHeader = create_copyright_header('2012,2013')
+FileHeader = create_copyright_header('2012,2013,2014')
FileHeader += """/*
* Note: this file was generated by the GROMACS """+Arch+""" kernel generator.
*/
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "../nb_kernel.h"
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "gromacs/simd/math_x86_sse4_1_single.h"
#include "typedefs.h"
#include "txtdump.h"
-#include "gromacs/utility/smalloc.h"
#include "ns.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/math/utilities.h"
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
#include "force.h"
#include "names.h"
-#include "main.h"
-#include "xvgr.h"
-#include "gmx_fatal.h"
-#include "physics.h"
#include "force.h"
#include "bondf.h"
#include "nrnb.h"
#include "nonbonded.h"
#include "gromacs/simd/simd.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#include "nb_kernel.h"
#include "nb_free_energy.h"
#include "nb_generic.h"
nlist = nblists->nlist_sr;
f = f_shortrange;
}
- else if (range == 1)
+ else
{
/* Long-range */
if (!(flags & GMX_NONBONDED_DO_LR))
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
+
#include "types/commrec.h"
-#include "sysstuff.h"
#include "names.h"
#include "macros.h"
#include "nrnb.h"
-#include "main.h"
#include "gromacs/utility/smalloc.h"
typedef struct {
#endif
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
#include "types/commrec.h"
#include "network.h"
#include "orires.h"
#include "main.h"
#include "copyrite.h"
-#include "pbc.h"
-#include "mtop_util.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/linearalgebra/nrjac.h"
#include "gromacs/math/do_fit.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
void init_orires(FILE *fplog, const gmx_mtop_t *mtop,
rvec xref[],
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 2010, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-#include <stdio.h>
-#include "physics.h"
-
-int main(int argc, char *argv[])
-{
- int i;
- double x, y, z;
-
- x = 3.25;
- for (i = 0; (i < eg2cNR); i++)
- {
- y = gmx2convert(x, i);
- z = convert2gmx(y, i);
- printf("Converted %g [type %d] to %g and back to %g. Diff %g\n",
- x, i, y, z, x-z);
- }
-}
#endif
#include "typedefs.h"
-#include "main.h"
#include "network.h"
#include "rbin.h"
#include "gromacs/utility/smalloc.h"
#include <stdlib.h>
#include "typedefs.h"
#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
#include "readinp.h"
#include "macros.h"
#include "gromacs/fileio/gmxfio.h"
#include "names.h"
#include "warninp.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
t_inpfile *read_inpfile(const char *fn, int *ninp,
warninp_t wi)
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
#include <math.h>
-#include <assert.h>
-#include "physics.h"
-#include "vec.h"
+
+#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
-#include "txtdump.h"
-#include "bondf.h"
-#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
-#include "ns.h"
-#include "macros.h"
-#include "names.h"
-#include "mshift.h"
-#include "main.h"
-#include "disre.h"
-#include "orires.h"
-#include "force.h"
-#include "nonbonded.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/idef.h"
/* This function computes factors needed for restricted angle potential.
* For explanations on formula used see file "restcbt.h" */
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <config.h>
#endif
+#include <stdlib.h>
+
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "sighandler.h"
-
const char *gmx_stop_cond_name[] =
{
"None",
#endif
#include <assert.h>
+#include <stdlib.h>
#include <string.h>
+
#include "macros.h"
+
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/idef.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "mshift.h"
-#include "gmx_fatal.h"
typedef struct {
int atom, sid;
/* This file is completely threadsafe - please keep it that way! */
#include <stdio.h>
+#include <stdlib.h>
+
#include "typedefs.h"
#include "types/commrec.h"
#include "names.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
int pr_indent(FILE *fp, int n)
for (i = 0; i <= block->nr; i++)
{
(void) pr_indent(fp, indent+INDENT);
- (void) fprintf(fp, "%s->index[%d]=%u\n",
+ (void) fprintf(fp, "%s->index[%d]=%d\n",
title, bShowNumbers ? i : -1, block->index[i]);
}
for (i = 0; i < block->nra; i++)
{
(void) pr_indent(fp, indent+INDENT);
- (void) fprintf(fp, "%s->a[%d]=%u\n",
+ (void) fprintf(fp, "%s->a[%d]=%d\n",
title, bShowNumbers ? i : -1, block->a[i]);
}
}
(void) fprintf(fp, "\n");
size = pr_indent(fp, indent+INDENT);
}
- size += fprintf(fp, "%u", block->a[j]);
+ size += fprintf(fp, "%d", block->a[j]);
}
(void) fprintf(fp, "}\n");
start = end;
* the research papers on the package. Check out http://www.gromacs.org.
*/
/* This file is completely threadsafe - keep it that way! */
+#include "typedefs.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include "thread_mpi/threads.h"
+#include <string.h>
-#include "gromacs/utility/smalloc.h"
-#include "symtab.h"
-#include "vec.h"
-#include "pbc.h"
#include "macros.h"
-#include <string.h>
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/random/random.h"
+#include "gromacs/utility/smalloc.h"
/* The source code in this file should be thread-safe.
Please keep it that way. */
-
-
-static gmx_bool bOverAllocDD = FALSE;
-static tMPI_Thread_mutex_t over_alloc_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
-
-
-void set_over_alloc_dd(gmx_bool set)
-{
- tMPI_Thread_mutex_lock(&over_alloc_mutex);
- /* we just make sure that we don't set this at the same time.
- We don't worry too much about reading this rarely-set variable */
- bOverAllocDD = set;
- tMPI_Thread_mutex_unlock(&over_alloc_mutex);
-}
-
-int over_alloc_dd(int n)
-{
- if (bOverAllocDD)
- {
- return OVER_ALLOC_FAC*n + 100;
- }
- else
- {
- return n;
- }
-}
-
int gmx_int64_to_int(gmx_int64_t step, const char *warn)
{
int i;
return i;
}
-char *gmx_step_str(gmx_int64_t i, char *buf)
-{
- sprintf(buf, "%"GMX_PRId64, i);
-
- return buf;
-}
-
-void init_block(t_block *block)
-{
- int i;
-
- block->nr = 0;
- block->nalloc_index = 1;
- snew(block->index, block->nalloc_index);
- block->index[0] = 0;
-}
-
-void init_blocka(t_blocka *block)
-{
- int i;
-
- block->nr = 0;
- block->nra = 0;
- block->nalloc_index = 1;
- snew(block->index, block->nalloc_index);
- block->index[0] = 0;
- block->nalloc_a = 0;
- block->a = NULL;
-}
-
-void init_atom(t_atoms *at)
-{
- int i;
-
- at->nr = 0;
- at->nres = 0;
- at->atom = NULL;
- at->resinfo = NULL;
- at->atomname = NULL;
- at->atomtype = NULL;
- at->atomtypeB = NULL;
- at->pdbinfo = NULL;
-}
-
-void init_atomtypes(t_atomtypes *at)
-{
- at->nr = 0;
- at->radius = NULL;
- at->vol = NULL;
- at->atomnumber = NULL;
- at->gb_radius = NULL;
- at->S_hct = NULL;
-}
-
-void init_groups(gmx_groups_t *groups)
-{
- int g;
-
- groups->ngrpname = 0;
- groups->grpname = NULL;
- for (g = 0; (g < egcNR); g++)
- {
- groups->grps[g].nm_ind = NULL;
- groups->ngrpnr[g] = 0;
- groups->grpnr[g] = NULL;
- }
-
-}
-
-void init_mtop(gmx_mtop_t *mtop)
-{
- mtop->name = NULL;
- mtop->nmoltype = 0;
- mtop->moltype = NULL;
- mtop->nmolblock = 0;
- mtop->molblock = NULL;
- mtop->maxres_renum = 0;
- mtop->maxresnr = -1;
- init_groups(&mtop->groups);
- init_block(&mtop->mols);
- open_symtab(&mtop->symtab);
-}
-
-void init_top(t_topology *top)
-{
- int i;
-
- top->name = NULL;
- init_atom (&(top->atoms));
- init_atomtypes(&(top->atomtypes));
- init_block(&top->cgs);
- init_block(&top->mols);
- init_blocka(&top->excls);
- open_symtab(&top->symtab);
-}
-
void init_inputrec(t_inputrec *ir)
{
memset(ir, 0, (size_t)sizeof(*ir));
snew(ir->simtempvals, 1);
}
-void stupid_fill_block(t_block *grp, int natom, gmx_bool bOneIndexGroup)
-{
- int i;
-
- if (bOneIndexGroup)
- {
- grp->nalloc_index = 2;
- snew(grp->index, grp->nalloc_index);
- grp->index[0] = 0;
- grp->index[1] = natom;
- grp->nr = 1;
- }
- else
- {
- grp->nalloc_index = natom+1;
- snew(grp->index, grp->nalloc_index);
- snew(grp->index, natom+1);
- for (i = 0; (i <= natom); i++)
- {
- grp->index[i] = i;
- }
- grp->nr = natom;
- }
-}
-
-void stupid_fill_blocka(t_blocka *grp, int natom)
-{
- int i;
-
- grp->nalloc_a = natom;
- snew(grp->a, grp->nalloc_a);
- for (i = 0; (i < natom); i++)
- {
- grp->a[i] = i;
- }
- grp->nra = natom;
-
- grp->nalloc_index = natom + 1;
- snew(grp->index, grp->nalloc_index);
- for (i = 0; (i <= natom); i++)
- {
- grp->index[i] = i;
- }
- grp->nr = natom;
-}
-
-void copy_blocka(const t_blocka *src, t_blocka *dest)
-{
- int i;
-
- dest->nr = src->nr;
- dest->nalloc_index = dest->nr + 1;
- snew(dest->index, dest->nalloc_index);
- for (i = 0; i < dest->nr+1; i++)
- {
- dest->index[i] = src->index[i];
- }
- dest->nra = src->nra;
- dest->nalloc_a = dest->nra + 1;
- snew(dest->a, dest->nalloc_a);
- for (i = 0; i < dest->nra+1; i++)
- {
- dest->a[i] = src->a[i];
- }
-}
-
-void done_block(t_block *block)
-{
- block->nr = 0;
- sfree(block->index);
- block->nalloc_index = 0;
-}
-
-void done_blocka(t_blocka *block)
-{
- block->nr = 0;
- block->nra = 0;
- sfree(block->index);
- sfree(block->a);
- block->index = NULL;
- block->a = NULL;
- block->nalloc_index = 0;
- block->nalloc_a = 0;
-}
-
-void done_atom (t_atoms *at)
-{
- at->nr = 0;
- at->nres = 0;
- sfree(at->atom);
- sfree(at->resinfo);
- sfree(at->atomname);
- sfree(at->atomtype);
- sfree(at->atomtypeB);
- if (at->pdbinfo)
- {
- sfree(at->pdbinfo);
- }
-}
-
-void done_atomtypes(t_atomtypes *atype)
-{
- atype->nr = 0;
- sfree(atype->radius);
- sfree(atype->vol);
- sfree(atype->surftens);
- sfree(atype->atomnumber);
- sfree(atype->gb_radius);
- sfree(atype->S_hct);
-}
-
-void done_moltype(gmx_moltype_t *molt)
-{
- int f;
-
- done_atom(&molt->atoms);
- done_block(&molt->cgs);
- done_blocka(&molt->excls);
-
- for (f = 0; f < F_NRE; f++)
- {
- sfree(molt->ilist[f].iatoms);
- molt->ilist[f].nalloc = 0;
- }
-}
-
-void done_molblock(gmx_molblock_t *molb)
-{
- if (molb->nposres_xA > 0)
- {
- molb->nposres_xA = 0;
- free(molb->posres_xA);
- }
- if (molb->nposres_xB > 0)
- {
- molb->nposres_xB = 0;
- free(molb->posres_xB);
- }
-}
-
-void done_mtop(gmx_mtop_t *mtop, gmx_bool bDoneSymtab)
-{
- int i;
-
- if (bDoneSymtab)
- {
- done_symtab(&mtop->symtab);
- }
-
- sfree(mtop->ffparams.functype);
- sfree(mtop->ffparams.iparams);
-
- for (i = 0; i < mtop->nmoltype; i++)
- {
- done_moltype(&mtop->moltype[i]);
- }
- sfree(mtop->moltype);
- for (i = 0; i < mtop->nmolblock; i++)
- {
- done_molblock(&mtop->molblock[i]);
- }
- sfree(mtop->molblock);
- done_block(&mtop->mols);
-}
-
-void done_top(t_topology *top)
-{
- int f;
-
- sfree(top->idef.functype);
- sfree(top->idef.iparams);
- for (f = 0; f < F_NRE; ++f)
- {
- sfree(top->idef.il[f].iatoms);
- top->idef.il[f].iatoms = NULL;
- top->idef.il[f].nalloc = 0;
- }
-
- done_atom (&(top->atoms));
-
- /* For GB */
- done_atomtypes(&(top->atomtypes));
-
- done_symtab(&(top->symtab));
- done_block(&(top->cgs));
- done_block(&(top->mols));
- done_blocka(&(top->excls));
-}
-
static void done_pull_group(t_pull_group *pgrp)
{
if (pgrp->nat > 0)
}
}
-void add_t_atoms(t_atoms *atoms, int natom_extra, int nres_extra)
-{
- int i;
-
- if (natom_extra > 0)
- {
- srenew(atoms->atomname, atoms->nr+natom_extra);
- srenew(atoms->atom, atoms->nr+natom_extra);
- if (NULL != atoms->pdbinfo)
- {
- srenew(atoms->pdbinfo, atoms->nr+natom_extra);
- }
- if (NULL != atoms->atomtype)
- {
- srenew(atoms->atomtype, atoms->nr+natom_extra);
- }
- if (NULL != atoms->atomtypeB)
- {
- srenew(atoms->atomtypeB, atoms->nr+natom_extra);
- }
- for (i = atoms->nr; (i < atoms->nr+natom_extra); i++)
- {
- atoms->atomname[i] = NULL;
- memset(&atoms->atom[i], 0, sizeof(atoms->atom[i]));
- if (NULL != atoms->pdbinfo)
- {
- memset(&atoms->pdbinfo[i], 0, sizeof(atoms->pdbinfo[i]));
- }
- if (NULL != atoms->atomtype)
- {
- atoms->atomtype[i] = NULL;
- }
- if (NULL != atoms->atomtypeB)
- {
- atoms->atomtypeB[i] = NULL;
- }
- }
- atoms->nr += natom_extra;
- }
- if (nres_extra > 0)
- {
- srenew(atoms->resinfo, atoms->nres+nres_extra);
- for (i = atoms->nres; (i < atoms->nres+nres_extra); i++)
- {
- memset(&atoms->resinfo[i], 0, sizeof(atoms->resinfo[i]));
- }
- atoms->nres += nres_extra;
- }
-}
-
-void init_t_atoms(t_atoms *atoms, int natoms, gmx_bool bPdbinfo)
-{
- atoms->nr = natoms;
- atoms->nres = 0;
- snew(atoms->atomname, natoms);
- atoms->atomtype = NULL;
- atoms->atomtypeB = NULL;
- snew(atoms->resinfo, natoms);
- snew(atoms->atom, natoms);
- if (bPdbinfo)
- {
- snew(atoms->pdbinfo, natoms);
- }
- else
- {
- atoms->pdbinfo = NULL;
- }
-}
-
-t_atoms *copy_t_atoms(t_atoms *src)
-{
- t_atoms *dst;
- int i;
-
- snew(dst, 1);
- init_t_atoms(dst, src->nr, (NULL != src->pdbinfo));
- dst->nr = src->nr;
- if (NULL != src->atomname)
- {
- snew(dst->atomname, src->nr);
- }
- if (NULL != src->atomtype)
- {
- snew(dst->atomtype, src->nr);
- }
- if (NULL != src->atomtypeB)
- {
- snew(dst->atomtypeB, src->nr);
- }
- for (i = 0; (i < src->nr); i++)
- {
- dst->atom[i] = src->atom[i];
- if (NULL != src->pdbinfo)
- {
- dst->pdbinfo[i] = src->pdbinfo[i];
- }
- if (NULL != src->atomname)
- {
- dst->atomname[i] = src->atomname[i];
- }
- if (NULL != src->atomtype)
- {
- dst->atomtype[i] = src->atomtype[i];
- }
- if (NULL != src->atomtypeB)
- {
- dst->atomtypeB[i] = src->atomtypeB[i];
- }
- }
- dst->nres = src->nres;
- for (i = 0; (i < src->nres); i++)
- {
- dst->resinfo[i] = src->resinfo[i];
- }
- return dst;
-}
-
-void t_atoms_set_resinfo(t_atoms *atoms, int atom_ind, t_symtab *symtab,
- const char *resname, int resnr, unsigned char ic,
- int chainnum, char chainid)
-{
- t_resinfo *ri;
-
- ri = &atoms->resinfo[atoms->atom[atom_ind].resind];
- ri->name = put_symtab(symtab, resname);
- ri->rtp = NULL;
- ri->nr = resnr;
- ri->ic = ic;
- ri->chainnum = chainnum;
- ri->chainid = chainid;
-}
-
-void free_t_atoms(t_atoms *atoms, gmx_bool bFreeNames)
-{
- int i;
-
- if (bFreeNames && atoms->atomname != NULL)
- {
- for (i = 0; i < atoms->nr; i++)
- {
- if (atoms->atomname[i] != NULL)
- {
- sfree(*atoms->atomname[i]);
- *atoms->atomname[i] = NULL;
- }
- }
- }
- if (bFreeNames && atoms->resinfo != NULL)
- {
- for (i = 0; i < atoms->nres; i++)
- {
- if (atoms->resinfo[i].name != NULL)
- {
- sfree(*atoms->resinfo[i].name);
- *atoms->resinfo[i].name = NULL;
- }
- }
- }
- if (bFreeNames && atoms->atomtype != NULL)
- {
- for (i = 0; i < atoms->nr; i++)
- {
- if (atoms->atomtype[i] != NULL)
- {
- sfree(*atoms->atomtype[i]);
- *atoms->atomtype[i] = NULL;
- }
- }
- }
- if (bFreeNames && atoms->atomtypeB != NULL)
- {
- for (i = 0; i < atoms->nr; i++)
- {
- if (atoms->atomtypeB[i] != NULL)
- {
- sfree(*atoms->atomtypeB[i]);
- *atoms->atomtypeB[i] = NULL;
- }
- }
- }
- sfree(atoms->atomname);
- sfree(atoms->atomtype);
- sfree(atoms->atomtypeB);
- sfree(atoms->resinfo);
- sfree(atoms->atom);
- sfree(atoms->pdbinfo);
- atoms->nr = 0;
- atoms->nres = 0;
- atoms->atomname = NULL;
- atoms->atomtype = NULL;
- atoms->atomtypeB = NULL;
- atoms->resinfo = NULL;
- atoms->atom = NULL;
- atoms->pdbinfo = NULL;
-}
-
real max_cutoff(real cutoff1, real cutoff2)
{
if (cutoff1 == 0 || cutoff2 == 0)
* the research papers on the package. Check out http://www.gromacs.org.
*/
/* This file is completely threadsafe - keep it that way! */
+#include "viewit.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
#include "oenv.h"
-#include "viewit.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/filenm.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
static const int can_view_ftp[] = {
0,
"ghostview", "display", NULL, "xterm -e rasmol"
};
-int can_view(int ftp)
+static int can_view(int ftp)
{
int i;
#include "gromacs/utility/smalloc.h"
#include "copyrite.h"
#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "warninp.h"
typedef struct warninp {
#include "toputil.h"
#include "hackblock.h"
#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void clear_atom_list(int i0, atom_id a[])
{
#include <stdlib.h>
#include <string.h>
-#include "vec.h"
+
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
#include "types/commrec.h"
#include "force.h"
#include "names.h"
#include "mdatoms.h"
#include "nrnb.h"
#include "ns.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "chargegroup.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/smalloc.h"
+
static real box_margin;
static real max_dist(rvec *x, real *r, int start, int end)
#endif
#include <assert.h>
+#include <math.h>
+#include <stdlib.h>
#include <sys/types.h>
-#include <math.h>
+
#include "typedefs.h"
-#include "physics.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/units.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "coulomb.h"
#include "calc_verletbuf.h"
#include "../mdlib/nbnxn_consts.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#ifdef GMX_NBNXN_SIMD
/* The include below sets the SIMD instruction type (precision+width)
* for all nbnxn SIMD search and non-bonded kernel code.
for (i = 0; i < il->nr; i += 1+NRAL(ft))
{
const t_iparams *ip;
- real cam[5], inv_mass, m_aj;
+ real cam[5] = {0}, inv_mass, m_aj;
int a1, j, aj, coeff;
ip = &ffparams->iparams[il->iatoms[i]];
add_at(&att, &natt, &prop[a], nmol);
}
+ /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */
sfree(vsite_m);
sfree(prop);
}
#include "macros.h"
#include "calch.h"
#include "gromacs/math/utilities.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define xAI xa[0]
#define xAJ xa[1]
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-#ifndef _calch_h
-#define _calch_h
+#ifndef GMX_PREPROCESS_CALCH_H
+#define GMX_PREPROCESS_CALCH_H
#include "typedefs.h"
}
#endif
-#endif /* _calch_h */
+#endif
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
-#include "physics.h"
-#include "vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "topio.h"
#include "toputil.h"
#include "convparm.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
+
+#include <fcntl.h>
#include <sys/types.h>
#include <sys/stat.h>
-#include <fcntl.h>
-#include "sysstuff.h"
-#include "network.h"
-#include "gmx_fatal.h"
-#include "gromacs/utility/smalloc.h"
-
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
+#include "network.h"
#include "fflibutil.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/fileio/path.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/path.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
const char *fflib_forcefield_dir_ext()
{
#include <ctype.h>
#include <math.h>
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/confio.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
#include "toputil.h"
#include "topio.h"
#include "gpp_nextnb.h"
-#include "symtab.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "pgutil.h"
#include "resall.h"
#include "gen_ad.h"
{
fprintf(debug,
"Something VERY strange is going on in rm2par (gen_ad.c)\n"
- "a[0] %u a[1] %u a[2] %u a[3] %u\n",
+ "a[0] %d a[1] %d a[2] %d a[3] %d\n",
p[i].a[0], p[i].a[1], p[i].a[2], p[i].a[3]);
}
strcpy(p[i].s, "");
#include <math.h>
#include "gromacs/random/random.h"
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "typedefs.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gen_maxwell_velocities.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
static void low_mspeed(real tempi,
gmx_mtop_t *mtop, rvec v[], gmx_rng_t rng)
if (seed == 0)
{
seed = gmx_rng_make_seed();
- fprintf(stderr, "Using random seed %d for generating velocities\n", seed);
+ fprintf(stderr, "Using random seed %u for generating velocities\n", seed);
}
rng = gmx_rng_init(seed);
#include <math.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/cstringutil.h"
#include "gen_vsite.h"
-#include "gromacs/utility/smalloc.h"
#include "resall.h"
#include "add_par.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "toputil.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
#include "names.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gpp_atomtype.h"
#include "fflibutil.h"
-#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#define MAXNAME 32
#define OPENDIR '[' /* starting sign for directive */
}
static int get_atype(int atom, t_atoms *at, int nrtp, t_restp rtp[],
- gmx_residuetype_t rt)
+ gmx_residuetype_t *rt)
{
int type;
gmx_bool bNterm;
}
static real get_amass(int atom, t_atoms *at, int nrtp, t_restp rtp[],
- gmx_residuetype_t rt)
+ gmx_residuetype_t *rt)
{
real mass;
gmx_bool bNterm;
char **db;
int nvsiteconf, nvsitetop, cmplength;
gmx_bool isN, planarN, bFound;
- gmx_residuetype_t rt;
+ gmx_residuetype_t*rt;
t_vsiteconf *vsiteconflist;
/* pointer to a list of CH3/NH3/NH2 configuration entries.
{
if (debug)
{
- fprintf(debug, " [%u -> %u]", params->param[i].a[j],
+ fprintf(debug, " [%d -> %d]", params->param[i].a[j],
params->param[i].a[j]-add_shift);
}
params->param[i].a[j] = params->param[i].a[j]-add_shift;
{
if (debug)
{
- fprintf(debug, " [%u -> %d]", params->param[i].a[j],
+ fprintf(debug, " [%d -> %d]", params->param[i].a[j],
o2n[params->param[i].a[j]]);
}
params->param[i].a[j] = o2n[params->param[i].a[j]];
/* stuff for pdb2gmx */
void do_vsites(int nrtp, t_restp rtp[], gpp_atomtype_t atype,
- t_atoms *at, t_symtab *symtab, rvec *x[],
+ t_atoms *at, struct t_symtab *symtab, rvec *x[],
t_params plist[], int *dummy_type[], int *cgnr[],
real mHmult, gmx_bool bVSiteAromatics,
const char *ffdir);
#include "gromacs/math/utilities.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "gromacs/fileio/confio.h"
-#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "gromacs/random/random.h"
-#include "gromacs/math/3dview.h"
#include "txtdump.h"
#include "readinp.h"
#include "names.h"
#include "sortwater.h"
#include "gromacs/fileio/trxio.h"
-#include "gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/3dtransforms.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/random/random.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void rand_rot(int natoms, rvec x[], rvec v[], vec4 xrot[], vec4 vrot[],
gmx_rng_t rng, rvec max_rot)
}
fprintf(stderr, "center of geometry: %f, %f, %f\n", xcm[0], xcm[1], xcm[2]);
- translate(-xcm[XX], -xcm[YY], -xcm[ZZ], mt1); /* move c.o.ma to origin */
+ /* move c.o.ma to origin */
+ gmx_mat4_init_translation(-xcm[XX], -xcm[YY], -xcm[ZZ], mt1);
for (m = 0; (m < DIM); m++)
{
phi = M_PI*max_rot[m]*(2*gmx_rng_uniform_real(rng) - 1)/180;
- rotate(m, phi, mr[m]);
+ gmx_mat4_init_rotation(m, phi, mr[m]);
}
- translate(xcm[XX], xcm[YY], xcm[ZZ], mt2);
+ gmx_mat4_init_translation(xcm[XX], xcm[YY], xcm[ZZ], mt2);
- /* For mult_matrix we need to multiply in the opposite order
+ /* For gmx_mat4_mmul() we need to multiply in the opposite order
* compared to normal mathematical notation.
*/
- mult_matrix(mtemp1, mt1, mr[XX]);
- mult_matrix(mtemp2, mr[YY], mr[ZZ]);
- mult_matrix(mtemp3, mtemp1, mtemp2);
- mult_matrix(mxtot, mtemp3, mt2);
- mult_matrix(mvtot, mr[XX], mtemp2);
+ gmx_mat4_mmul(mtemp1, mt1, mr[XX]);
+ gmx_mat4_mmul(mtemp2, mr[YY], mr[ZZ]);
+ gmx_mat4_mmul(mtemp3, mtemp1, mtemp2);
+ gmx_mat4_mmul(mxtot, mtemp3, mt2);
+ gmx_mat4_mmul(mvtot, mr[XX], mtemp2);
for (i = 0; (i < natoms); i++)
{
- m4_op(mxtot, x[i], xrot[i]);
- m4_op(mvtot, v[i], vrot[i]);
+ gmx_mat4_transform_point(mxtot, x[i], xrot[i]);
+ gmx_mat4_transform_point(mvtot, v[i], vrot[i]);
}
}
#include <string.h>
#include <time.h>
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/confio.h"
-#include "symtab.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "calch.h"
#include "genhydro.h"
#include "h_db.h"
#include "resall.h"
#include "pgutil.h"
#include "network.h"
-#include "macros.h"
+
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void copy_atom(t_atoms *atoms1, int a1, t_atoms *atoms2, int a2)
{
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gmxcpp.h"
typedef struct {
#include <math.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include "macros.h"
-#include "topdirs.h"
-#include "toputil.h"
#include "topdirs.h"
#include "toputil.h"
-#include "symtab.h"
-#include "gmx_fatal.h"
#include "txtdump.h"
#include "gpp_atomtype.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
typedef struct gpp_atomtype {
int nr; /* The number of atomtypes */
t_atom *atom; /* Array of atoms */
sfree(ga->atomnumber);
ga->nr = 0;
sfree(ga);
- ga = NULL;
}
static int search_atomtypes(gpp_atomtype_t ga, int *n, int typelist[],
void done_atomtype(gpp_atomtype_t at);
/* Free the memory in the structure */
-int set_atomtype(int nt, gpp_atomtype_t at, t_symtab *tab,
+int set_atomtype(int nt, gpp_atomtype_t at, struct t_symtab *tab,
t_atom *a, const char *name, t_param *nb,
int bondatomtype,
real radius, real vol, real surftens, int atomnumber,
real radius, real vol, real surftens,
real gb_radius, real S_hct);
-int add_atomtype(gpp_atomtype_t at, t_symtab *tab,
+int add_atomtype(gpp_atomtype_t at, struct t_symtab *tab,
t_atom *a, const char *name, t_param *nb,
int bondatomtype,
real radius, real vol, real surftens, real atomnumber,
#include <config.h>
#endif
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "macros.h"
-#include "symtab.h"
-#include "gromacs/utility/cstringutil.h"
#include "gpp_bond_atomtype.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/smalloc.h"
+
typedef struct {
int nr; /* The number of atomtypes */
char ***atomname; /* Names of the atomtypes */
void done_bond_atomtype(t_bond_atomtype *at);
/* Free the memory in the structure */
-void add_bond_atomtype(t_bond_atomtype at, t_symtab *tab,
+void add_bond_atomtype(t_bond_atomtype at, struct t_symtab *tab,
char *name);
/* Add a complete new atom type to an existing atomtype structure */
#include <config.h>
#endif
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
-#include "macros.h"
+#include <stdlib.h>
+
/* #define DEBUG_NNB */
#include "gpp_nextnb.h"
-#include "gmx_fatal.h"
#include "toputil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
typedef struct {
int ai, aj;
} sortable;
* non-bonded parameter combinations, which will be copied to t_params.
*/
+#ifndef __cplusplus
+/*
+ * With the macros below you don't
+ * have to use an index if you don't wan't to. You can eg. use
+ * param.C0 instead of param.c[0].
+ * In a similar fashion, you can use param.AI instead of
+ * param.a[0]
+ *
+ * For C++ those should be replaced with member functions.
+ */
+
+#define AI a[0]
+#define AJ a[1]
+#define AK a[2]
+#define AL a[3]
+#define AM a[4]
+
+#define C0 c[0]
+#define C1 c[1]
+#define C2 c[2]
+#endif
+
typedef struct {
atom_id a[MAXATOMLIST]; /* The atom list (eg. bonds: particle */
/* i = a[0] (AI), j = a[1] (AJ)) */
#include <limits.h>
#include <assert.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "readir.h"
#include "toputil.h"
#include "topio.h"
#include "gromacs/fileio/confio.h"
#include "readir.h"
-#include "symtab.h"
#include "names.h"
#include "grompp-impl.h"
-#include "gromacs/random/random.h"
#include "gromacs/gmxpreprocess/gen_maxwell_velocities.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "splitter.h"
#include "gromacs/gmxpreprocess/sortwater.h"
#include "convparm.h"
-#include "gmx_fatal.h"
#include "warninp.h"
-#include "index.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/tpxio.h"
#include "perf_est.h"
#include "compute_io.h"
#include "gpp_atomtype.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "genborn.h"
#include "calc_verletbuf.h"
#include "tomorse.h"
#include "gromacs/imd/imd.h"
#include "gromacs/utility/cstringutil.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/random/random.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static int rm_interactions(int ifunc, int nrmols, t_molinfo mols[])
{
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
+
#include "gromacs/utility/cstringutil.h"
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
-#include "symtab.h"
+#include "gromacs/utility/futil.h"
#include "h_db.h"
#include "gromacs/fileio/gmxfio.h"
#include "fflibutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
/* Number of control atoms for each 'add' type.
#ifndef GMX_GMXPREPROCESS_H_DB_H
#define GMX_GMXPREPROCESS_H_DB_H
-#include "sysstuff.h"
+#include <stdio.h>
+
#include "hackblock.h"
#ifdef __cplusplus
#include <string.h>
#include "hackblock.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "macros.h"
+#include "gromacs/math/vec.h"
#include "names.h"
/* these MUST correspond to the enum in hackblock.h */
free_t_bondeds(&(*rtp)[i].rb[j]);
}
}
- free(*rtp);
+ sfree(*rtp);
}
void free_t_hack(int nh, t_hack **h)
#define GMX_GMXPREPROCESS_HACKBLOCK_H
#include "typedefs.h"
-#include "../fileio/pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "grompp-impl.h"
#include "gpp_atomtype.h"
+#include "gromacs/topology/symtab.h"
#ifdef __cplusplus
extern "C" {
#include <string.h>
#include "typedefs.h"
#include "gromacs/fileio/pdbio.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
#include "toputil.h"
#include "pdb2top.h"
#include "gromacs/utility/cstringutil.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static int in_strings(char *key, int nstr, const char **str)
{
#include <config.h>
#endif
-
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "gromacs/math/utilities.h"
#include "gromacs/fileio/confio.h"
#include "macros.h"
-#include "gromacs/random/random.h"
-#include "gromacs/fileio/futil.h"
-#include "atomprop.h"
#include "names.h"
-#include "vec.h"
-#include "gmx_fatal.h"
-#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
#include "gromacs/gmxlib/conformation-utilities.h"
#include "addconf.h"
#include "read-conformation.h"
-#include "pbc.h"
-#include "xvgr.h"
+
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/random/random.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
static gmx_bool in_box(t_pbc *pbc, rvec x)
{
#include "bondf.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "gromacs/fileio/confio.h"
-#include "physics.h"
-#include "vec.h"
-#include "gromacs/math/3dview.h"
+#include "gromacs/math/vec.h"
#include "txtdump.h"
#include "readinp.h"
#include "names.h"
#include "nm2type.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void rd_nm2type_file(const char *fn, int *nnm, t_nm2type **nmp)
{
}
}
-int nm2type(int nnm, t_nm2type nm2t[], t_symtab *tab, t_atoms *atoms,
+int nm2type(int nnm, t_nm2type nm2t[], struct t_symtab *tab, t_atoms *atoms,
gpp_atomtype_t atype, int *nbonds, t_params *bonds)
{
int cur = 0;
void dump_nm2type(FILE *fp, int nnm, t_nm2type nm2t[]);
/* Dump the database for debugging. Can be reread by the program */
-int nm2type(int nnm, t_nm2type nm2t[], t_symtab *tab, t_atoms *atoms,
+int nm2type(int nnm, t_nm2type nm2t[], struct t_symtab *tab, t_atoms *atoms,
gpp_atomtype_t atype, int *nbonds, t_params *bond);
/* Try to determine the atomtype (force field dependent) for the atoms
* with help of the bond list
#endif
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/utility/smalloc.h"
#include "copyrite.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/confio.h"
-#include "symtab.h"
-#include "vec.h"
-#include "gromacs/commandline/pargs.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "toputil.h"
#include "h_db.h"
-#include "physics.h"
#include "pgutil.h"
-#include "calch.h"
#include "resall.h"
#include "pdb2top.h"
#include "ter_db.h"
#include "gromacs/gmxlib/conformation-utilities.h"
#include "genhydro.h"
#include "readinp.h"
-#include "atomprop.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "fflibutil.h"
#include "macros.h"
+#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/smalloc.h"
+#include "gromacs/utility/fatalerror.h"
#include "hizzie.h"
#include "specbond.h"
static int read_pdball(const char *inf, const char *outf, char *title,
t_atoms *atoms, rvec **x,
int *ePBC, matrix box, gmx_bool bRemoveH,
- t_symtab *symtab, gmx_residuetype_t rt, const char *watres,
+ t_symtab *symtab, gmx_residuetype_t *rt, const char *watres,
gmx_atomprop_t aps, gmx_bool bVerbose)
/* Read a pdb file. (containing proteins) */
{
return pdba->nr;
}
-void find_nc_ter(t_atoms *pdba, int r0, int r1, int *r_start, int *r_end, gmx_residuetype_t rt)
+void find_nc_ter(t_atoms *pdba, int r0, int r1, int *r_start, int *r_end,
+ gmx_residuetype_t *rt)
{
int i;
const char *p_startrestype;
t_hackblock *ah;
t_symtab symtab;
gpp_atomtype_t atype;
- gmx_residuetype_t rt;
+ gmx_residuetype_t*rt;
const char *top_fn;
char fn[256], itp_fn[STRLEN], posre_fn[STRLEN], buf_fn[STRLEN];
char molname[STRLEN], title[STRLEN], quote[STRLEN];
#include <math.h>
#include <ctype.h>
-#include "vec.h"
-#include "gromacs/utility/smalloc.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "symtab.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/futil.h"
#include "pdb2top.h"
#include "gpp_nextnb.h"
#include "topdirs.h"
#include "resall.h"
#include "topio.h"
#include "gromacs/utility/cstringutil.h"
-#include "physics.h"
#include "gromacs/fileio/pdbio.h"
#include "gen_ad.h"
#include "gromacs/fileio/filenm.h"
-#include "index.h"
#include "gen_vsite.h"
#include "add_par.h"
#include "toputil.h"
#include "copyrite.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/topology/symtab.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/smalloc.h"
/* this must correspond to enum in pdb2top.h */
const char *hh[ehisNR] = { "HISD", "HISE", "HISH", "HIS1" };
}
static int name2type(t_atoms *at, int **cgnr,
- t_restp restp[], gmx_residuetype_t rt)
+ t_restp restp[], gmx_residuetype_t *rt)
{
int i, j, prevresind, resind, i0, prevcg, cg, curcg;
char *name;
int *vsite_type;
int i, nmissat;
int bts[ebtsNR];
- gmx_residuetype_t rt;
+ gmx_residuetype_t*rt;
init_plist(plist);
gmx_residuetype_init(&rt);
void pdb2top(FILE *top_file, char *posre_fn, char *molname,
t_atoms *atoms, rvec **x,
- gpp_atomtype_t atype, t_symtab *tab,
+ gpp_atomtype_t atype, struct t_symtab *tab,
int nrtp, t_restp rtp[],
t_restp *restp, t_hackblock *hb,
gmx_bool bAllowMissing,
#include "gromacs/utility/cstringutil.h"
#include "pgutil.h"
#include <string.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#define BUFSIZE 1024
static void atom_not_found(int fatal_errno, const char *file, int line,
#include "genhydro.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
-#include "index.h"
-#include "vec.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/math/vec.h"
#include "hackblock.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
int gmx_protonate(int argc, char *argv[])
{
#include "read-conformation.h"
#include "gromacs/fileio/confio.h"
-#include "atomprop.h"
-#include "types/simple.h"
-#include "types/atoms.h"
+#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/legacyheaders/typedefs.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
real *makeExclusionDistances(const t_atoms *a, gmx_atomprop_t aps,
#define GMX_GMXPREPROCESS_READ_CONFORMATION_H
#include "types/simple.h"
-#include "types/atoms.h"
-#include "atomprop.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_atomprop;
+struct t_atoms;
+
/*! \brief Allocate and fill an array of inter-atomic half distances
*
* These are either scaled VDW radii taken from vdwradii.dat, or the
* default value. Used directly and indirectly by solvate and
* insert-molecules for deciding whether molecules clash. The return
* pointer should be freed by the caller. */
-real *makeExclusionDistances(const t_atoms *a, gmx_atomprop_t aps,
+real *makeExclusionDistances(const struct t_atoms *a, struct gmx_atomprop *aps,
real defaultDistance, real scaleFactor);
/*! \brief Read a conformation from a file, allocate and fill data structures.
* Used by solvate and insert-molecules. The returned pointers *x and
* *v should be freed by the caller. atoms should have its destructor
* called. */
-char *readConformation(const char *confin, t_atoms *atoms, rvec **x, rvec **v,
+char *readConformation(const char *confin, struct t_atoms *atoms, rvec **x, rvec **v,
int *ePBC, matrix box);
#ifdef __cplusplus
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/cstringutil.h"
#include "readir.h"
#include "names.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
#define MAXPTR 254
#endif
#include <ctype.h>
-#include <stdlib.h>
#include <limits.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
+#include <stdlib.h>
+
#include "typedefs.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "names.h"
-#include "gmx_fatal.h"
#include "macros.h"
-#include "index.h"
-#include "symtab.h"
+#include "gromacs/topology/index.h"
#include "gromacs/utility/cstringutil.h"
#include "readinp.h"
#include "warninp.h"
#include "readir.h"
#include "toputil.h"
-#include "index.h"
#include "network.h"
-#include "vec.h"
-#include "pbc.h"
-#include "mtop_util.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/mtop_util.h"
#include "chargegroup.h"
#include "inputrec.h"
#include "calc_verletbuf.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#define MAXPTR 254
#define NOGID 255
void make_IMD_group(t_IMD *IMDgroup, char *IMDgname, t_blocka *grps, char **gnames)
{
- int ig = -1, i;
+ int ig, i;
ig = search_string(IMDgname, grps->nr, gnames);
#include <stdlib.h>
#include "gromacs/utility/cstringutil.h"
-#include "sysstuff.h"
-#include "princ.h"
-#include "gromacs/fileio/futil.h"
-#include "vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "names.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
-#include "index.h"
-#include "symtab.h"
#include "readinp.h"
#include "readir.h"
#include "mdatoms.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/pull.h"
#include <config.h>
#endif
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "readir.h"
#include "names.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/trnio.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static char *RotStr = {"Enforced rotation:"};
#endif
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "symtab.h"
#include "macros.h"
#include "resall.h"
#include "pgutil.h"
#include "fflibutil.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
gpp_atomtype_t read_atype(const char *ffdir, t_symtab *tab)
{
* Generates a fatal error when rtpname is not found.
*/
-gpp_atomtype_t read_atype(const char *ffdir, t_symtab *tab);
+gpp_atomtype_t read_atype(const char *ffdir, struct t_symtab *tab);
/* read atom type database(s) */
void read_resall(char *resdb, int *nrtp, t_restp **rtp,
- gpp_atomtype_t atype, t_symtab *tab,
+ gpp_atomtype_t atype, struct t_symtab *tab,
gmx_bool bAllowOverrideRTP);
/* read rtp database, append to the existing database */
#include <string.h>
-#include "sysstuff.h"
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "gromacs/utility/cstringutil.h"
#include "gromacs/fileio/confio.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
-#include "atomprop.h"
+#include "gromacs/utility/futil.h"
#include "names.h"
-#include "vec.h"
-#include "gmx_fatal.h"
-#include "gromacs/commandline/pargs.h"
#include "gromacs/gmxlib/conformation-utilities.h"
#include "addconf.h"
#include "read-conformation.h"
#include "gromacs/fileio/pdbio.h"
-#include "pbc.h"
+
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#ifdef DEBUG
static void print_stat(rvec *x, int natoms, matrix box)
moltp = NOTSET;
for (j = 0; (j < nrmoltypes) && (moltp == NOTSET); j++)
{
- if (strcmp(*(atoms->resinfo[atoms->atom[i].resind].name),
- moltypes[j].name) == 0)
+ /* cppcheck-suppress nullPointer
+ * moltypes is guaranteed to be allocated because otherwise
+ * nrmoltypes is 0. */
+ if (strcmp(*(atoms->resinfo[atoms->atom[i].resind].name), moltypes[j].name) == 0)
{
moltp = j;
}
#include <config.h>
#endif
+#include <stdlib.h>
+
#include "typedefs.h"
+#include "gromacs/math/vec.h"
+#include "sortwater.h"
+
#include "gromacs/random/random.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "sortwater.h"
static rvec *xptr, box_1;
static int nwat;
#include "gromacs/utility/smalloc.h"
#include "specbond.h"
#include "pdb2top.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
gmx_bool yesno(void)
#include <ctype.h>
#include <string.h>
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
-#include "symtab.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "resall.h"
#include "h_db.h"
#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "ter_db.h"
#include "toputil.h"
#include "gromacs/fileio/gmxfio.h"
#ifndef GMX_GMXPREPROCESS_TER_DB_H
#define GMX_GMXPREPROCESS_TER_DB_H
-#include "sysstuff.h"
#include "hackblock.h"
#include "grompp-impl.h"
#include "../insert-molecules.h"
#include "testutils/integrationtests.h"
#include "testutils/cmdlinetest.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
namespace
{
#include "../solvate.h"
#include "testutils/integrationtests.h"
#include "testutils/cmdlinetest.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
namespace
{
#include "typedefs.h"
#include "gromacs/utility/cstringutil.h"
#include "grompp-impl.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
#include "toputil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gpp_atomtype.h"
-#include "macros.h"
#include "tomorse.h"
last++;
}
}
+ /* cppcheck-suppress uninitvar Fixed in cppcheck 1.65 */
sfree(bRemoveHarm);
fprintf(stderr, "Converted %d out of %d %s to morse bonds for mol %d\n",
nrharm-last, nrharm, interaction_function[bb].name, i);
#include <stdio.h>
#include <stdarg.h>
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "topdirs.h"
/* Must correspond to the directive enum in grompp-impl.h */
#include <config.h>
#endif
+#include <assert.h>
+#include <ctype.h>
+#include <errno.h>
#include <math.h>
-#include <sys/types.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <errno.h>
-#include <ctype.h>
-#include <assert.h>
-#include "gromacs/fileio/futil.h"
-#include "sysstuff.h"
+#include <sys/types.h>
+
+#include "gromacs/utility/futil.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "gromacs/fileio/gmxfio.h"
#include "txtdump.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "macros.h"
#include "names.h"
#include "gromacs/utility/cstringutil.h"
-#include "symtab.h"
-#include "gmx_fatal.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
#include "warninp.h"
#include "vsite_parm.h"
j = 0;
while (j < molt->ilist[i].nr)
{
- bexcl = FALSE;
a1 = molt->ilist[i].iatoms[j+1];
a2 = molt->ilist[i].iatoms[j+2];
bexcl = ((bQMMM[a1] && bQMMM[a2]) ||
const char *topppfile,
t_gromppopts *opts,
gmx_bool bZero,
- t_symtab *symtab,
+ struct t_symtab *symtab,
t_params plist[],
int *combination_rule,
double *repulsion_power,
#include <config.h>
#endif
+#include <assert.h>
#include <ctype.h>
#include <math.h>
-#include <assert.h>
+#include <stdlib.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
#include "names.h"
#include "toputil.h"
#include "toppush.h"
#include "topdirs.h"
#include "readir.h"
-#include "symtab.h"
-#include "gmx_fatal.h"
#include "warninp.h"
#include "gpp_atomtype.h"
#include "gpp_bond_atomtype.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
void generate_nbparams(int comb, int ftype, t_params *plist, gpp_atomtype_t atype,
warninp_t wi)
{
gpp_atomtype_t atype,
warninp_t wi);
-void push_at (t_symtab *symtab, gpp_atomtype_t at,
+void push_at (struct t_symtab *symtab, gpp_atomtype_t at,
t_bond_atomtype bat, char *line, int nb_funct,
t_nbparam ***nbparam, t_nbparam ***pair,
warninp_t wi);
char *line,
warninp_t wi);
-void push_atom(t_symtab *symtab,
- t_block *cgs,
- t_atoms *at,
- gpp_atomtype_t atype,
- char *line,
- int *lastcg,
- warninp_t wi);
+void push_atom(struct t_symtab *symtab,
+ t_block *cgs,
+ t_atoms *at,
+ gpp_atomtype_t atype,
+ char *line,
+ int *lastcg,
+ warninp_t wi);
void push_bond(directive d, t_params bondtype[], t_params bond[],
t_atoms *at, gpp_atomtype_t atype, char *line,
int *whichmol, int *nrcopies,
warninp_t wi);
-void push_molt(t_symtab *symtab, int *nmol, t_molinfo **mol, char *line,
+void push_molt(struct t_symtab *symtab, int *nmol, t_molinfo **mol, char *line,
warninp_t wi);
void init_block2(t_block2 *b2, int natom);
void b2_to_b(t_block2 *b2, t_blocka *b);
-int add_atomtype_decoupled(t_symtab *symtab, gpp_atomtype_t at,
+int add_atomtype_decoupled(struct t_symtab *symtab, gpp_atomtype_t at,
t_nbparam ***nbparam, t_nbparam ***pair);
/* Add an atom type with all parameters set to zero (no interactions).
* Returns the atom type number.
#include <ctype.h>
#include <math.h>
-#include "sysstuff.h"
-#include "physics.h"
-#include "macros.h"
+#include "gromacs/math/units.h"
#include "readir.h"
#include "typedefs.h"
#include "topshake.h"
#include "toputil.h"
#include "topdirs.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void copy_bond (t_params *pr, int to, int from)
/* copies an entry in a bond list to another position.
#include <math.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "macros.h"
#include "topdirs.h"
#include "toputil.h"
-#include "symtab.h"
-#include "gmx_fatal.h"
#include "gpp_atomtype.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
/* UTILITIES */
void set_p_string(t_param *p, const char *s)
#include <config.h>
#endif
-#include <stdio.h>
-#include <math.h>
#include <assert.h>
+#include <math.h>
+#include <stdio.h>
#include <string.h>
+
#include "vsite_parm.h"
#include "gromacs/utility/smalloc.h"
#include "resall.h"
#include "add_par.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "toputil.h"
-#include "physics.h"
-#include "index.h"
+#include "gromacs/math/units.h"
#include "names.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/cstringutil.h"
-#include "physics.h"
#include "macros.h"
typedef struct {
#include "macros.h"
#include "bondf.h"
#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "gromacs/fileio/confio.h"
-#include "physics.h"
-#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "gromacs/math/3dview.h"
+#include "gromacs/math/units.h"
#include "txtdump.h"
#include "readinp.h"
#include "names.h"
#include "pdb2top.h"
#include "gen_ad.h"
#include "gpp_nextnb.h"
-#include "vec.h"
-#include "atomprop.h"
#include "hackblock.h"
#include "nm2type.h"
-#include "gmx_fatal.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
char atp[7] = "HCNOSX";
#define NATP (asize(atp)-1)
dump_hybridization(debug, atoms, nbonds);
}
close_symtab(&symtab);
- free(mymol.name);
+ sfree(mymol.name);
printf("\nWARNING: topologies generated by %s can not be trusted at face value.\n",
ShortProgram());
#include <ctype.h>
#include <string.h>
+
#include "typedefs.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/utility/smalloc.h"
-#include "symtab.h"
-#include "index.h"
-#include "gromacs/fileio/futil.h"
#include "fflibutil.h"
#include "hackblock.h"
-#include "gmx_fatal.h"
#include "xlate.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
char *filebase;
void rename_atoms(const char *xlfile, const char *ffdir,
t_atoms *atoms, t_symtab *symtab, const t_restp *restp,
- gmx_bool bResname, gmx_residuetype_t rt, gmx_bool bReorderNum,
+ gmx_bool bResname, gmx_residuetype_t *rt, gmx_bool bReorderNum,
gmx_bool bVerbose)
{
FILE *fp;
#ifndef GMX_GMXPREPROCESS_XLATE_H
#define GMX_GMXPREPROCESS_XLATE_H
-#include "index.h"
+#include "gromacs/utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_residuetype_t;
+struct t_atoms;
+struct t_symtab;
+
/* If bResname is true renames atoms based on residue names,
* otherwise renames atoms based on rtp entry names.
*/
void rename_atoms(const char *xlfile, const char *ffdir,
- t_atoms *atoms, t_symtab *symtab, const t_restp *restp,
- gmx_bool bResname, gmx_residuetype_t rt, gmx_bool bReorderNum,
+ struct t_atoms *atoms, struct t_symtab *symtab, const t_restp *restp,
+ gmx_bool bResname, struct gmx_residuetype_t *rt, gmx_bool bReorderNum,
gmx_bool bVerbose);
#ifdef __cplusplus
#include <config.h>
#endif
-
+#include <errno.h>
#include <string.h>
#ifdef GMX_NATIVE_WINDOWS
#include "imd.h"
#include "imdsocket.h"
-#include "gromacs/utility/smalloc.h"
#include "network.h"
#include "mdrun.h"
#include "sighandler.h"
#include "gmx_ga2la.h"
-#include "xvgr.h"
#include "gromacs/mdlib/groupcoord.h"
#include "gromacs/fileio/confio.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "names.h"
#include "gromacs/timing/wallcycle.h"
-#include "gmx_fatal.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/*! \brief How long shall we wait in seconds until we check for a connection again? */
#define IMDLOOPWAIT 1
#include "typedefs.h"
#include "../fileio/filenm.h"
+#include "../timing/wallcycle.h"
#ifdef GMX_NATIVE_WINDOWS
#include <Windows.h>
#include <config.h>
#endif
-
+#include <errno.h>
#include <string.h>
+
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "imdsocket.h"
#include "imd.h"
-
#ifdef GMX_NATIVE_WINDOWS
#ifdef GMX_HAVE_WINSOCK
/*! \brief Define socklen type on Windows. */
#endif
#else
/* On UNIX, we can use nice errors from errno.h */
-#include <errno.h>
#include <unistd.h>
#endif
extern int imdsock_bind(IMDSocket *sock, int port)
{
- int ret = -1;
+ int ret;
#ifdef GMX_IMD
/* Try to bind to address and port ...*/
ret = bind(sock->sockfd, (struct sockaddr *) &sock->address, sizeof(sock->address));
+#else
+ ret = -1;
#endif
if (ret)
extern int imd_sock_listen(IMDSocket *sock)
{
- int ret = -1;
+ int ret;
#ifdef GMX_IMD
/* Try to set to listening state */
ret = listen(sock->sockfd, MAXIMDCONNECTIONS);
+#else
+ ret = -1;
#endif
if (ret)
extern IMDSocket* imdsock_accept(IMDSocket *sock)
{
- int ret = -1;
+ int ret;
#ifdef GMX_IMD
socklen_t length;
extern int imdsock_getport(IMDSocket *sock, int *port)
{
- int ret = -1;
+ int ret;
#ifdef GMX_IMD
struct sockaddr_in sin;
socklen_t len;
#ifndef _bondf_h
#define _bondf_h
-
#include <stdio.h>
+
#include "typedefs.h"
#include "nrnb.h"
-#include "pbc.h"
#include "genborn.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_graph;
+struct t_pbc;
+
int glatnr(int *global_atom_index, int i);
/* Returns the global topology atom number belonging to local atom index i.
* This function is intended for writing ascii output
const t_idef *idef,
rvec x[], history_t *hist,
rvec f[], t_forcerec *fr,
- const t_pbc *pbc, const t_graph *g,
+ const struct t_pbc *pbc, const struct t_graph *g,
gmx_enerdata_t *enerd, t_nrnb *nrnb, real *lambda,
const t_mdatoms *md,
t_fcdata *fcd, int *ddgatindex,
const t_idef *idef,
rvec x[],
t_forcerec *fr,
- const t_pbc *pbc, const t_graph *g,
+ const struct t_pbc *pbc, const struct t_graph *g,
gmx_grppairener_t *grpp, real *epot, t_nrnb *nrnb,
real *lambda,
const t_mdatoms *md,
real posres(int nbonds,
const t_iatom forceatoms[], const t_iparams forceparams[],
const rvec x[], rvec f[], rvec vir_diag,
- t_pbc *pbc,
+ struct t_pbc *pbc,
real lambda, real *dvdlambda,
int refcoord_scaling, int ePBC, rvec comA, rvec comB);
/* Position restraints require a different pbc treatment from other bondeds */
real fbposres(int nbonds,
const t_iatom forceatoms[], const t_iparams forceparams[],
const rvec x[], rvec f[], rvec vir_diag,
- t_pbc *pbc, int refcoord_scaling, int ePBC, rvec com);
+ struct t_pbc *pbc, int refcoord_scaling, int ePBC, rvec com);
/* Flat-bottom posres. Same PBC treatment as in normal position restraints */
real bond_angle(const rvec xi, const rvec xj, const rvec xk,
- const t_pbc *pbc,
+ const struct t_pbc *pbc,
rvec r_ij, rvec r_kj, real *costh,
int *t1, int *t2); /* out */
/* Calculate bond-angle. No PBC is taken into account (use mol-shift) */
real dih_angle(const rvec xi, const rvec xj, const rvec xk, const rvec xl,
- const t_pbc *pbc,
+ const struct t_pbc *pbc,
rvec r_ij, rvec r_kj, rvec r_kl, rvec m, rvec n, /* out */
real *sign,
int *t1, int *t2, int *t3);
void do_dih_fup(int i, int j, int k, int l, real ddphi,
rvec r_ij, rvec r_kj, rvec r_kl,
rvec m, rvec n, rvec f[], rvec fshift[],
- const t_pbc *pbc, const t_graph *g,
+ const struct t_pbc *pbc, const struct t_graph *g,
const rvec *x, int t1, int t2, int t3);
/* Do an update of the forces for dihedral potentials */
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_LEGACYHEADERS_CALCGRID_H
+#define GMX_LEGACYHEADERS_CALCGRID_H
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "../math/vectypes.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#ifdef __cplusplus
}
#endif
+
+#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
#ifndef _calcmu_h
#define _calcmu_h
+#include <stdio.h>
-#include "typedefs.h"
-#include "network.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _chargegroup_h
#define _chargegroup_h
-#include "sysstuff.h"
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "../math/vectypes.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
-void calc_chargegroup_radii(const gmx_mtop_t *mtop, rvec *x,
+struct gmx_mtop_t;
+struct t_block;
+
+void calc_chargegroup_radii(const struct gmx_mtop_t *mtop, rvec *x,
real *rvdw1, real *rvdw2,
real *rcoul1, real *rcoul2);
/* This routine calculates the two largest charge group radii in x,
* separately for VdW and Coulomb interactions.
*/
-void calc_cgcm(FILE *log, int cg0, int cg1, t_block *cgs,
+void calc_cgcm(FILE *log, int cg0, int cg1, struct t_block *cgs,
rvec pos[], rvec cg_cm[]);
/* Routine to compute centers of geometry of charge groups. No periodicity
* is used.
*/
void put_charge_groups_in_box (FILE *log, int cg0, int cg1,
- int ePBC, matrix box, t_block *cgs,
+ int ePBC, matrix box, struct t_block *cgs,
rvec pos[],
rvec cg_cm[]);
/* This routine puts charge groups in the periodic box, keeping them
#ifndef _constr_h
#define _constr_h
+
#include "typedefs.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_pbc;
+
enum
{
econqCoord, /* Constrain coordinates (mass weighted) */
real dOH, real dHH);
/* Initializes and returns a structure with SETTLE parameters */
-void csettle(gmx_settledata_t settled,
- int nsettle, /* Number of settles */
- t_iatom iatoms[], /* The settle iatom list */
- const t_pbc *pbc, /* PBC data pointer, can be NULL */
- real b4[], /* Old coordinates */
- real after[], /* New coords, to be settled */
- real invdt, /* 1/delta_t */
- real *v, /* Also constrain v if v!=NULL */
- int calcvir_atom_end, /* Calculate r x m delta_r up to this atom */
- tensor vir_r_m_dr, /* sum r x m delta_r */
- int *xerror,
- t_vetavars *vetavar /* variables for pressure control */
+void csettle(gmx_settledata_t settled,
+ int nsettle, /* Number of settles */
+ t_iatom iatoms[], /* The settle iatom list */
+ const struct t_pbc *pbc, /* PBC data pointer, can be NULL */
+ real b4[], /* Old coordinates */
+ real after[], /* New coords, to be settled */
+ real invdt, /* 1/delta_t */
+ real *v, /* Also constrain v if v!=NULL */
+ int calcvir_atom_end, /* Calculate r x m delta_r up to this atom */
+ tensor vir_r_m_dr, /* sum r x m delta_r */
+ int *xerror,
+ t_vetavars *vetavar /* variables for pressure control */
);
void settle_proj(gmx_settledata_t settled, int econq,
int nsettle, t_iatom iatoms[],
- const t_pbc *pbc, /* PBC data pointer, can be NULL */
+ const struct t_pbc *pbc, /* PBC data pointer, can be NULL */
rvec x[],
rvec *der, rvec *derp,
int CalcVirAtomEnd, tensor vir_r_m_dder,
gmx_lincsdata_t lincsd, t_mdatoms *md,
t_commrec *cr,
rvec *x, rvec *xprime, rvec *min_proj,
- matrix box, t_pbc *pbc,
+ matrix box, struct t_pbc *pbc,
real lambda, real *dvdlambda,
real invdt, rvec *v,
gmx_bool bCalcVir, tensor vir_r_m_dr,
#ifndef _disre_h
#define _disre_h
-#include "sysstuff.h"
+#include <stdio.h>
+
#include "typedefs.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_pbc;
+
void init_disres(FILE *fplog, const gmx_mtop_t *mtop,
t_inputrec *ir, const t_commrec *cr,
t_fcdata *fcd, t_state *state, gmx_bool bIsREMD);
*/
void calc_disres_R_6(int nfa, const t_iatom *fa, const t_iparams ip[],
- const rvec *x, const t_pbc *pbc,
+ const rvec *x, const struct t_pbc *pbc,
t_fcdata *fcd, history_t *hist);
/* Calculates r and r^-3 (inst. and time averaged) for all pairs
* and the ensemble averaged r^-6 (inst. and time averaged) for all restraints
#include "vsite.h"
#include "genborn.h"
+#include "../timing/wallcycle.h"
+
#ifdef __cplusplus
extern "C" {
#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _ebin_h
#define _ebin_h
-#include "sysstuff.h"
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "../legacyheaders/types/energy.h"
#include "../fileio/enxio.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#include "typedefs.h"
#include "types/force_flags.h"
-#include "pbc.h"
#include "network.h"
#include "tgroup.h"
#include "vsite.h"
#include "genborn.h"
+#include "../timing/wallcycle.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_graph;
+struct t_pbc;
+
void gmx_print_sepdvdl(FILE *fplog, const char *s, real v, real dvdlambda);
void calc_vir(int nxf, rvec x[], rvec f[], tensor vir,
/* Calculate virial for nxf atoms, and add it to vir */
void f_calc_vir(int i0, int i1, rvec x[], rvec f[], tensor vir,
- t_graph *g, rvec shift_vec[]);
+ struct t_graph *g, rvec shift_vec[]);
/* Calculate virial taking periodicity into account */
-real RF_excl_correction(const t_forcerec *fr, t_graph *g,
+real RF_excl_correction(const t_forcerec *fr, struct t_graph *g,
const t_mdatoms *mdatoms, const t_blocka *excl,
- rvec x[], rvec f[], rvec *fshift, const t_pbc *pbc,
+ rvec x[], rvec f[], rvec *fshift, const struct t_pbc *pbc,
real lambda, real *dvdlambda);
/* Calculate the reaction-field energy correction for this node:
* epsfac q_i q_j (k_rf r_ij^2 - c_rf)
tensor vir_force,
t_mdatoms *mdatoms,
gmx_enerdata_t *enerd, t_fcdata *fcd,
- real *lambda, t_graph *graph,
+ real *lambda, struct t_graph *graph,
t_forcerec *fr,
gmx_vsite_t *vsite, rvec mu_tot,
double t, FILE *field, gmx_edsam_t ed,
matrix box,
t_lambda *fepvals,
real *lambda,
- t_graph *graph,
+ struct t_graph *graph,
t_blocka *excl,
rvec mu_tot[2],
int flags,
#define STILL_P5INV (1.0/STILL_P5)
#define STILL_PIP5 (M_PI*STILL_P5)
+struct t_graph;
+struct t_pbc;
/* Initialise GB stuff */
int init_gb(gmx_genborn_t **p_born,
/* Bonded GB interactions */
real gb_bonds_tab(rvec x[], rvec f[], rvec fshift[], real *charge, real *p_gbtabscale,
real *invsqrta, real *dvda, real *GBtab, t_idef *idef, real epsilon_r,
- real gb_epsilon_solvent, real facel, const t_pbc *pbc, const t_graph *graph);
+ real gb_epsilon_solvent, real facel, const struct t_pbc *pbc,
+ const struct t_graph *graph);
void
calc_gb_forces(t_commrec *cr, t_mdatoms *md, gmx_genborn_t *born, gmx_localtop_t *top,
rvec x[], rvec f[], t_forcerec *fr, t_idef *idef, int gb_algorithm, int sa_algorithm, t_nrnb *nrnb,
- const t_pbc *pbc, const t_graph *graph, gmx_enerdata_t *enerd);
+ const struct t_pbc *pbc, const struct t_graph *graph, gmx_enerdata_t *enerd);
int
make_gb_nblist(t_commrec *cr, int gb_algorithm,
rvec x[], matrix box,
- t_forcerec *fr, t_idef *idef, t_graph *graph, gmx_genborn_t *born);
+ t_forcerec *fr, t_idef *idef, struct t_graph *graph, gmx_genborn_t *born);
void
make_local_gb(const t_commrec *cr, gmx_genborn_t *born, int gb_algorithm);
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2012, The GROMACS development team.
- * Copyright (c) 2012,2014, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-
-#ifndef _fatal_collective_h
-#define _fatal_collective_h
-
-#include "typedefs.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-void
-gmx_fatal_collective(int f_errno, const char *file, int line,
- const t_commrec *cr, gmx_domdec_t *dd,
- const char *fmt, ...);
-/* As gmx_fatal declared in gmx_fatal.h,
- * but only the master process prints the error message.
- * This should only be called one of the following two situations:
- * 1) On all nodes in cr->mpi_comm_mysim, with cr!=NULL,dd==NULL.
- * 2) On all nodes in dd->mpi_comm_all, with cr==NULL,dd!=NULL.
- * This will call MPI_Finalize instead of MPI_Abort when possible,
- * This is useful for handling errors in code that is executed identically
- * for all processes.
- */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _fatal_collective_h */
#ifndef _gmx_ga2la_h
#define _gmx_ga2la_h
-#include "typedefs.h"
#include "types/commrec.h"
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/smalloc.h"
#ifdef __cplusplus
#ifndef _gmx_hash_h
#define _gmx_hash_h
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "types/commrec.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
#ifdef __cplusplus
extern "C" {
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_OMP_NTHREADS
-#define GMX_OMP_NTHREADS
+#ifndef GMX_OMP_NTHREADS_H
+#define GMX_OMP_NTHREADS_H
#include <stdio.h>
-#include "typedefs.h"
+
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-/*! Enum values corresponding to multithreaded algorithmic modules. */
+struct t_commrec;
+
+/** Enum values corresponding to multithreaded algorithmic modules. */
typedef enum module_nth
{
/* Default is meant to be used in OMP regions outside the named
emntNR
} module_nth_t;
-/*! Initializes the per-module thread count. It is compatible with tMPI,
- * thread-safety is ensured (for the features available with tMPI).
- * This function should caled only once during the initialization of mdrun. */
-void gmx_omp_nthreads_init(FILE *fplog, t_commrec *cr,
+/*! \brief
+ * Initializes the per-module thread count.
+ *
+ * It is compatible with tMPI, thread-safety is ensured (for the features
+ * available with tMPI).
+ * This function should caled only once during the initialization of mdrun. */
+void gmx_omp_nthreads_init(FILE *fplog, struct t_commrec *cr,
int nthreads_hw_avail,
int omp_nthreads_req,
int omp_nthreads_pme_req,
gmx_bool bCurrNodePMEOnly,
gmx_bool bFullOmpSupport);
-/*! Returns the number of threads to be used in the given module m. */
+/*! \brief
+ * Returns the number of threads to be used in the given module \p mod. */
int gmx_omp_nthreads_get(int mod);
-/*! \brief Sets the number of threads to be used in module. Intended
- * for use in testing. */
+/*! \brief Sets the number of threads to be used in module.
+ *
+ * Intended for use in testing. */
void gmx_omp_nthreads_set(int mod, int nthreads);
-/*! Read the OMP_NUM_THREADS env. var. and check against the value set on the command line. */
+/*! \brief
+ * Read the OMP_NUM_THREADS env. var. and check against the value set on the
+ * command line. */
void gmx_omp_nthreads_read_env(int *nthreads_omp,
gmx_bool bIsSimMaster);
}
#endif
-#endif /* GMX_OMP_NTHREADS */
+#endif
*/
#ifndef GMX_THREAD_AFFINITY_H_
#define GMX_THREAD_AFFINITY_H_
-#include "typedefs.h"
+
+#include <stdio.h>
+
+#include "types/hw_info.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
} /* fixes auto-indentation problems */
#endif
+struct t_commrec;
+
/* Sets the thread affinity using the requested setting stored in hw_opt.
* The hardware topologu is requested from hwinfo, when present.
*/
void
-gmx_set_thread_affinity(FILE *fplog,
- const t_commrec *cr,
- gmx_hw_opt_t *hw_opt,
- const gmx_hw_info_t *hwinfo);
+gmx_set_thread_affinity(FILE *fplog,
+ const struct t_commrec *cr,
+ gmx_hw_opt_t *hw_opt,
+ const gmx_hw_info_t *hwinfo);
/* Check the process affinity mask and if it is found to be non-zero,
* will honor it and disable mdrun internal affinity setting.
* made by the OpenMP library.
*
* Note that this will only work on Linux as we use a GNU feature.
+ * With bAfterOpenmpInit false, it will also detect whether OpenMP environment
+ * variables for setting the affinity are set.
*/
void
-gmx_check_thread_affinity_set(FILE *fplog, const t_commrec *cr,
+gmx_check_thread_affinity_set(FILE *fplog, const struct t_commrec *cr,
gmx_hw_opt_t *hw_opt, int ncpus,
gmx_bool bAfterOpenmpInit);
#ifdef GMX_GPU
#define FUNC_TERM_INT ;
+#define FUNC_TERM_SIZE_T ;
#define FUNC_TERM_VOID ;
#define FUNC_QUALIFIER
#else
#define FUNC_TERM_INT {return -1; }
+#define FUNC_TERM_SIZE_T {return 0; }
#define FUNC_TERM_VOID {}
#define FUNC_QUALIFIER static
#endif
void get_gpu_device_info_string(char gmx_unused *s, const gmx_gpu_info_t gmx_unused *gpu_info, int gmx_unused index) FUNC_TERM_VOID
FUNC_QUALIFIER
-size_t sizeof_cuda_dev_info(void) FUNC_TERM_INT
+size_t sizeof_cuda_dev_info(void) FUNC_TERM_SIZE_T
#ifdef __cplusplus
}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _macros_h
#define _macros_h
-#include "typedefs.h" /* for real definition only */
-
/* no extern "C" for this header because it only defines Macros */
-/*
- * With the macros below you don't
- * have to use an index if you don't wan't to. You can eg. use
- * angle.C0[23] instead if angle.c[0][23].
- * In a similar fashion, you can use angle.AI[3] instead of
- * angle.a[0][3]
- */
#ifndef __cplusplus
-#define AI a[0]
-#define AJ a[1]
-#define AK a[2]
-#define AL a[3]
-#define AM a[4]
-#define C0 c[0]
-#define C1 c[1]
-#define C2 c[2]
+#include <stdlib.h>
#ifndef min
#define min(a, b) (((a) < (b)) ? (a) : (b) )
extern "C" {
#endif
-int gmx_gethostname(char *name, size_t len);
-/* Sets the hostname to the value given by gethostname, if available,
- * and to "unknown" otherwise. name should have at least size len.
- * Returns 0 on success, -1 on error.
- */
-
void gmx_log_open(const char *fn, const t_commrec *cr,
gmx_bool bMasterOnly, gmx_bool bAppendFiles, FILE**);
/* Open the log file, if necessary (nprocs > 1) the logfile name is
#define _md_logging_h
#include <stdio.h>
-#include "typedefs.h"
#ifdef __cplusplus
extern "C" {
#endif
-void md_print_info(const t_commrec *cr, FILE *fplog,
+struct t_commrec;
+
+void md_print_info(const struct t_commrec *cr, FILE *fplog,
const char *fmt, ...);
/* Print an general information message to stderr on the master node
* and to fplog if fplog!=NULL.
* the arguments after that contain the values to be printed, as in printf.
*/
-void md_print_warn(const t_commrec *cr, FILE *fplog,
+void md_print_warn(const struct t_commrec *cr, FILE *fplog,
const char *fmt, ...);
/* As md_print_info above, but for important notices or warnings.
* The only difference with md_print_info is that a newline is printed
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "sim_util.h"
#include "vcm.h"
+#include "../timing/wallcycle.h"
+
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _mdatoms_h
#define _mdatoms_h
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "types/inputrec.h"
+#include "types/mdatom.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
-t_mdatoms *init_mdatoms(FILE *fp, gmx_mtop_t *mtop, gmx_bool bFreeEnergy);
+struct gmx_mtop_t;
+
+t_mdatoms *init_mdatoms(FILE *fp, struct gmx_mtop_t *mtop, gmx_bool bFreeEnergy);
-void atoms2md(gmx_mtop_t *mtop, t_inputrec *ir,
+void atoms2md(struct gmx_mtop_t *mtop, t_inputrec *ir,
int nindex, int *index,
int homenr,
t_mdatoms *md);
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _mdebin_h
#define _mdebin_h
+#include <stdio.h>
+
#include "typedefs.h"
-#include "sysstuff.h"
#include "ebin.h"
#include "../fileio/enxio.h"
#include "types/state.h"
#include "network.h"
#include "sim_util.h"
#include "tgroup.h"
-#include "../fileio/filenm.h"
-#include "mshift.h"
#include "mdebin.h"
#include "vcm.h"
#include "vsite.h"
#include "types/membedt.h"
#include "types/globsig.h"
+#include "../fileio/filenm.h"
+#include "../timing/wallcycle.h"
+
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _mvdata_h
#define _mvdata_h
-#include "typedefs.h"
+#include "types/inputrec.h"
+#include "types/state.h"
#ifdef __cplusplus
extern "C" {
#endif
-void bcast_ir_mtop(const t_commrec *cr,
- t_inputrec *inputrec, gmx_mtop_t *mtop);
+struct gmx_mtop_t;
+struct t_commrec;
+
+void bcast_ir_mtop(const struct t_commrec *cr,
+ t_inputrec *inputrec, struct gmx_mtop_t *mtop);
/* Broadcasts ir and mtop from the master to all nodes in cr->mpi_comm_mygroup.
*/
-void bcast_state(const t_commrec *cr, t_state *state);
+void bcast_state(const struct t_commrec *cr, t_state *state);
/* Broadcasts state from the master to all nodes in cr->mpi_comm_mygroup.
*/
extern "C" {
#endif
-/*! Initializes the data structures related to CUDA nonbonded calculations. */
+/** Initializes the data structures related to CUDA nonbonded calculations. */
FUNC_QUALIFIER
void nbnxn_cuda_init(FILE gmx_unused *fplog,
nbnxn_cuda_ptr_t gmx_unused *p_cu_nb,
/* true of both local and non-local are don on GPU */
gmx_bool gmx_unused bLocalAndNonlocal) FUNC_TERM
-/*! Initializes simulation constant data. */
+/** Initializes simulation constant data. */
FUNC_QUALIFIER
void nbnxn_cuda_init_const(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const interaction_const_t gmx_unused *ic,
const nonbonded_verlet_group_t gmx_unused *nbv_group) FUNC_TERM
-/*! Initializes pair-list data for GPU, called at every pair search step. */
+/** Initializes pair-list data for GPU, called at every pair search step. */
FUNC_QUALIFIER
void nbnxn_cuda_init_pairlist(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const nbnxn_pairlist_t gmx_unused *h_nblist,
int gmx_unused iloc) FUNC_TERM
-/*! Initializes atom-data on the GPU, called at every pair search step. */
+/** Initializes atom-data on the GPU, called at every pair search step. */
FUNC_QUALIFIER
void nbnxn_cuda_init_atomdata(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const nbnxn_atomdata_t gmx_unused *atomdata) FUNC_TERM
void nbnxn_cuda_pme_loadbal_update_param(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const interaction_const_t gmx_unused *ic) FUNC_TERM
-/*! Uploads shift vector to the GPU if the box is dynamic (otherwise just returns). */
+/** Uploads shift vector to the GPU if the box is dynamic (otherwise just returns). */
FUNC_QUALIFIER
void nbnxn_cuda_upload_shiftvec(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const nbnxn_atomdata_t gmx_unused *nbatom) FUNC_TERM
-/*! Clears GPU outputs: nonbonded force, shift force and energy. */
+/** Clears GPU outputs: nonbonded force, shift force and energy. */
FUNC_QUALIFIER
void nbnxn_cuda_clear_outputs(nbnxn_cuda_ptr_t gmx_unused cu_nb,
int gmx_unused flags) FUNC_TERM
-/*! Frees all GPU resources used for the nonbonded calculations. */
+/** Frees all GPU resources used for the nonbonded calculations. */
FUNC_QUALIFIER
void nbnxn_cuda_free(nbnxn_cuda_ptr_t gmx_unused cu_nb) FUNC_TERM
-/*! Returns the GPU timings structure or NULL if GPU is not used or timing is off. */
+/** Returns the GPU timings structure or NULL if GPU is not used or timing is off. */
FUNC_QUALIFIER
wallclock_gpu_t * nbnxn_cuda_get_timings(nbnxn_cuda_ptr_t gmx_unused cu_nb)
#ifdef GMX_GPU
}
#endif
-/*! Resets nonbonded GPU timings. */
+/** Resets nonbonded GPU timings. */
FUNC_QUALIFIER
void nbnxn_cuda_reset_timings(nbnxn_cuda_ptr_t gmx_unused cu_nb) FUNC_TERM
-/*! Calculates the minimum size of proximity lists to improve SM load balance
- with CUDA non-bonded kernels. */
+/** Calculates the minimum size of proximity lists to improve SM load balance
+ * with CUDA non-bonded kernels. */
FUNC_QUALIFIER
int nbnxn_cuda_min_ci_balanced(nbnxn_cuda_ptr_t gmx_unused cu_nb)
#ifdef GMX_GPU
}
#endif
-/*! Returns if analytical Ewald CUDA kernels are used. */
+/** Returns if analytical Ewald CUDA kernels are used. */
FUNC_QUALIFIER
gmx_bool nbnxn_cuda_is_kernel_ewald_analytical(const nbnxn_cuda_ptr_t gmx_unused cu_nb)
#ifdef GMX_GPU
#include <stdio.h>
-#include "types/simple.h"
-#include "typedefs.h"
-#include "main.h"
-#include "gmx_fatal.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/fatalerror.h"
#ifdef __cplusplus
extern "C" {
#endif
-t_commrec *init_commrec(void);
+struct gmx_domdec_t;
+struct gmx_multisim_t;
+struct t_commrec;
+
+struct t_commrec *init_commrec(void);
/* Allocate, initialize and return the commrec. */
-t_commrec *reinitialize_commrec_for_this_thread(const t_commrec *cro);
+struct t_commrec *reinitialize_commrec_for_this_thread(const struct t_commrec *cro);
/* Initialize communication records for thread-parallel simulations.
Must be called on all threads before any communication takes place by
the individual threads. Copies the original commrec to
thread-local versions (a small memory leak results because we don't
deallocate the old shared version). */
-void gmx_fill_commrec_from_mpi(t_commrec *cr);
+void gmx_fill_commrec_from_mpi(struct t_commrec *cr);
/* Continues t_commrec construction */
-int gmx_node_num(void);
-/* return the number of nodes in the ring */
-
-int gmx_node_rank(void);
-/* return the rank of the node */
-
-int gmx_physicalnode_id_hash(void);
-/* Return a non-negative hash that is, hopefully, unique for each physical node.
- * This hash is useful for determining hardware locality.
- */
-
-void gmx_setup_nodecomm(FILE *fplog, t_commrec *cr);
+void gmx_setup_nodecomm(FILE *fplog, struct t_commrec *cr);
/* Sets up fast global communication for clusters with multi-core nodes */
-void gmx_init_intranode_counters(t_commrec *cr);
+void gmx_init_intranode_counters(struct t_commrec *cr);
/* Initializes intra-physical-node MPI process/thread counts and ID. */
-gmx_bool gmx_mpi_initialized(void);
-/* return TRUE when MPI_Init has been called.
- * return FALSE when MPI_Init has not been called OR
- * when GROMACS was compiled without MPI support.
- */
-
-void gmx_barrier(const t_commrec *cr);
+void gmx_barrier(const struct t_commrec *cr);
/* Wait till all processes in cr->mpi_comm_mygroup have reached the barrier */
-void gmx_bcast(int nbytes, void *b, const t_commrec *cr);
+void gmx_bcast(int nbytes, void *b, const struct t_commrec *cr);
/* Broadcast nbytes bytes from the master to cr->mpi_comm_mygroup */
-void gmx_bcast_sim(int nbytes, void *b, const t_commrec *cr);
+void gmx_bcast_sim(int nbytes, void *b, const struct t_commrec *cr);
/* Broadcast nbytes bytes from the sim master to cr->mpi_comm_mysim */
-void gmx_sumi(int nr, int r[], const t_commrec *cr);
+void gmx_sumi(int nr, int r[], const struct t_commrec *cr);
/* Calculate the global sum of an array of ints */
-void gmx_sumli(int nr, gmx_int64_t r[], const t_commrec *cr);
+void gmx_sumli(int nr, gmx_int64_t r[], const struct t_commrec *cr);
/* Calculate the global sum of an array of large ints */
-void gmx_sumf(int nr, float r[], const t_commrec *cr);
+void gmx_sumf(int nr, float r[], const struct t_commrec *cr);
/* Calculate the global sum of an array of floats */
-void gmx_sumd(int nr, double r[], const t_commrec *cr);
+void gmx_sumd(int nr, double r[], const struct t_commrec *cr);
/* Calculate the global sum of an array of doubles */
-void gmx_sumi_sim(int nr, int r[], const gmx_multisim_t *ms);
+void gmx_sumi_sim(int nr, int r[], const struct gmx_multisim_t *ms);
/* Calculate the sum over the simulations of an array of ints */
-void gmx_sumli_sim(int nr, gmx_int64_t r[], const gmx_multisim_t *ms);
+void gmx_sumli_sim(int nr, gmx_int64_t r[], const struct gmx_multisim_t *ms);
/* Calculate the sum over the simulations of an array of large ints */
-void gmx_sumf_sim(int nr, float r[], const gmx_multisim_t *ms);
+void gmx_sumf_sim(int nr, float r[], const struct gmx_multisim_t *ms);
/* Calculate the sum over the simulations of an array of floats */
-void gmx_sumd_sim(int nr, double r[], const gmx_multisim_t *ms);
+void gmx_sumd_sim(int nr, double r[], const struct gmx_multisim_t *ms);
/* Calculate the sum over the simulations of an array of doubles */
-void gmx_abort(int nodeid, int nnodes, int errorno);
-/* Abort the parallel run */
-
#ifdef GMX_DOUBLE
#define gmx_sum gmx_sumd
#define gmx_sum_sim gmx_sumd_sim
#define gmx_sum_sim gmx_sumf_sim
#endif
+gmx_bool gmx_fexist_master(const char *fname, struct t_commrec *cr);
+/* Return TRUE when fname exists, FALSE otherwise, bcast from master to others */
+
+void
+gmx_fatal_collective(int f_errno, const char *file, int line,
+ const struct t_commrec *cr, struct gmx_domdec_t *dd,
+ const char *fmt, ...);
+/* As gmx_fatal declared in utility/fatalerror.h,
+ * but only the master process prints the error message.
+ * This should only be called one of the following two situations:
+ * 1) On all nodes in cr->mpi_comm_mysim, with cr!=NULL,dd==NULL.
+ * 2) On all nodes in dd->mpi_comm_all, with cr==NULL,dd!=NULL.
+ * This will call MPI_Finalize instead of MPI_Abort when possible,
+ * This is useful for handling errors in code that is executed identically
+ * for all processes.
+ */
+
+/* This doesn't currently work if enabled (needs some header cleanup). */
#ifdef DEBUG_GMX
#define debug_gmx() do { FILE *fp = debug ? debug : stderr; \
if (bDebugMode()) { fprintf(fp, "rank=%d, %s %d\n", gmx_mpi_initialized() ? gmx_node_rank() : -1, __FILE__, __LINE__); } fflush(fp); } while (0)
#define _nonbonded_h
#include "typedefs.h"
-#include "pbc.h"
#include "network.h"
#include "tgroup.h"
#include "genborn.h"
} /* fixes auto-indentation problems */
#endif
+struct t_graph;
+struct t_pbc;
void
*/
real
do_nonbonded_listed(int ftype, int nbonds, const t_iatom iatoms[], const t_iparams iparams[],
- const rvec x[], rvec f[], rvec fshift[], const t_pbc *pbc, const t_graph *g,
+ const rvec x[], rvec f[], rvec fshift[],
+ const struct t_pbc *pbc, const struct t_graph *g,
real *lambda, real *dvdl, const t_mdatoms *md, const t_forcerec *fr,
gmx_grppairener_t *grppener, int *global_atom_index);
#define _ns_h
#include <stdio.h>
-#include "sysstuff.h"
+
#include "typedefs.h"
-#include "pbc.h"
#include "tgroup.h"
#include "network.h"
-
#ifdef __cplusplus
extern "C" {
#endif
#ifndef _orires_h
#define _orires_h
-#include "sysstuff.h"
+#include <stdio.h>
+
#include "typedefs.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_pbc;
+
void init_orires(FILE *fplog, const gmx_mtop_t *mtop,
rvec x[],
const t_inputrec *ir,
real calc_orires_dev(const gmx_multisim_t *ms,
int nfa, const t_iatom fa[], const t_iparams ip[],
const t_mdatoms *md, const rvec x[],
- const t_pbc *pbc, t_fcdata *fcd, history_t *hist);
+ const struct t_pbc *pbc, t_fcdata *fcd, history_t *hist);
/*
* Calculates the time averaged D matrices, the S matrix for each experiment.
* Returns the weighted RMS deviation of the orientation restraints.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _perf_est_h
#define _perf_est_h
-#include "typedefs.h"
+#include "types/inputrec.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
-int n_bonded_dx(gmx_mtop_t *mtop, gmx_bool bExcl);
+struct gmx_mtop_t;
+
+int n_bonded_dx(struct gmx_mtop_t *mtop, gmx_bool bExcl);
/* Returns the number of pbc_rvec_sub calls required for bonded interactions.
* This number is also roughly proportional to the computational cost.
*/
-float pme_load_estimate(gmx_mtop_t *mtop, t_inputrec *ir, matrix box);
+float pme_load_estimate(struct gmx_mtop_t *mtop, t_inputrec *ir, matrix box);
/* Returns an estimate for the relative load of the PME mesh calculation
* in the total force calculation.
* This estimate is reasonable for recent Intel and AMD x86_64 CPUs.
extern "C" {
#endif
-/*! Allocates nbytes of page-locked memory. */
+/** Allocates nbytes of page-locked memory. */
void pmalloc(void gmx_unused **h_ptr, size_t gmx_unused nbytes) FUNC_TERM
-/*! Allocates nbytes of page-locked memory with write-combining. */
+/** Allocates nbytes of page-locked memory with write-combining. */
void pmalloc_wc(void gmx_unused **h_ptr, size_t gmx_unused nbytes) FUNC_TERM
-/*! Frees page locked memory allocated with pmalloc. */
+/** Frees page locked memory allocated with pmalloc. */
void pfree(void gmx_unused *h_ptr) FUNC_TERM
#ifdef __cplusplus
#include <stdio.h>
#include "typedefs.h"
#include "../math/gmxcomplex.h"
+#include "../timing/wallcycle.h"
#include "../timing/walltime_accounting.h"
#include "../legacyheaders/network.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#define _QMMM_h
#include "typedefs.h"
-#include "pbc.h"
#include "network.h"
#include "tgroup.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _rbin_h
#define _rbin_h
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "network.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_commrec;
+
typedef struct {
int nreal;
int maxreal;
int add_bind(t_bin *b, int nr, double r[]);
/* Add reals to the bin. Returns index */
-void sum_bin(t_bin *b, t_commrec *cr);
+void sum_bin(t_bin *b, struct t_commrec *cr);
/* Globally sum the reals in the bin */
void extract_binr(t_bin *b, int index, int nr, real r[]);
#include <string.h>
-#include "typedefs.h"
+#include "../utility/basedefinitions.h"
#include "warninp.h"
#ifdef __cplusplus
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "../timing/wallcycle.h"
+
#include "typedefs.h"
#include "vsite.h"
extern "C" {
#endif
+struct t_graph;
+
/* Initialization function, also predicts the initial shell postions.
* If x!=NULL, the shells are predict for the global coordinates x.
*/
tensor force_vir,
t_mdatoms *md,
t_nrnb *nrnb, gmx_wallcycle_t wcycle,
- t_graph *graph,
+ struct t_graph *graph,
gmx_groups_t *groups,
gmx_shellfc_t shfc,
t_forcerec *fr,
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <signal.h>
-#include "typedefs.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#include "vcm.h"
#include "../fileio/enxio.h"
#include "../fileio/mdoutf.h"
+#include "../timing/wallcycle.h"
#include "../timing/walltime_accounting.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_graph;
+
typedef struct gmx_global_stat *gmx_global_stat_t;
void do_pbc_first(FILE *log, matrix box, t_forcerec *fr,
- t_graph *graph, rvec x[]);
+ struct t_graph *graph, rvec x[]);
void do_pbc_first_mtop(FILE *fplog, int ePBC, matrix box,
gmx_mtop_t *mtop, rvec x[]);
#ifndef _splitter_h
#define _splitter_h
-#include "typedefs.h"
-#include "types/inputrec.h"
+#include <stdio.h>
+
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_blocka;
+struct t_idef;
+
void gen_sblocks(FILE *fp, int at_start, int at_end,
- t_idef *idef, t_blocka *sblock,
+ struct t_idef *idef, struct t_blocka *sblock,
gmx_bool bSettle);
/* Generate shake blocks from the constraint list. Set bSettle to yes for shake
* blocks including settles. You normally do not want this.
#define NOTSET -12345
#include <sys/types.h>
-#include "sysstuff.h"
+
#include "types/simple.h"
#include "types/enums.h"
-#include "types/block.h"
-#include "types/symtab.h"
-#include "types/idef.h"
-#include "types/atoms.h"
#include "../fileio/trx.h"
-#include "types/topology.h"
+#include "../topology/topology.h"
#include "types/energy.h"
#include "types/inputrec.h"
-#include "types/ishift.h"
-#include "types/graph.h"
#include "types/nrnb.h"
#include "types/nblist.h"
#include "types/nbnxn_pairlist.h"
#include "types/forcerec.h"
#include "types/fcdata.h"
#include "types/mdatom.h"
-#include "types/pbc.h"
#include "types/ifunc.h"
#include "types/group.h"
#include "types/state.h"
#include "types/shellfc.h"
#include "types/constr.h"
-#include "types/matrix.h"
#include "types/oenv.h"
+#include "types/commrec_fwd.h"
#ifdef __cplusplus
extern "C" {
#endif
-/*
- * Memory (re)allocation can be VERY slow, especially with some
- * MPI libraries that replace the standard malloc and realloc calls.
- * To avoid slow memory allocation we use over_alloc to set the memory
- * allocation size for large data blocks. Since this scales the size
- * with a factor, we use log(n) realloc calls instead of n.
- * This can reduce allocation times from minutes to seconds.
- */
-/* This factor leads to 4 realloc calls to double the array size */
-#define OVER_ALLOC_FAC 1.19
-
-void set_over_alloc_dd(gmx_bool set);
-/* Turns over allocation for variable size atoms/cg/top arrays on or off,
- * default is off.
- */
-
-int over_alloc_dd(int n);
-/* Returns n when domain decomposition over allocation is off.
- * Returns OVER_ALLOC_FAC*n + 100 when over allocation in on.
- * This is to avoid frequent reallocation
- * during domain decomposition in mdrun.
- */
-
-/* Over allocation for small data types: int, real etc. */
-#define over_alloc_small(n) (int)(OVER_ALLOC_FAC*(n) + 8000)
-
-/* Over allocation for large data types: complex structs */
-#define over_alloc_large(n) (int)(OVER_ALLOC_FAC*(n) + 1000)
-
int gmx_int64_to_int(gmx_int64_t step, const char *warn);
/* Convert a gmx_int64_t value to int.
* If warn!=NULL a warning message will be written
* "WARNING during %s:", where warn is printed in %s.
*/
-#define STEPSTRSIZE 22
-
-char *gmx_step_str(gmx_int64_t i, char *buf);
-/* Prints a gmx_int64_t value in buf and returns the pointer to buf.
- * buf should be large enough to contain i: STEPSTRSIZE (22) chars.
- * When multiple gmx_int64_t values are printed in the same printf call,
- * be sure to call gmx_step_str with different buffers.
- */
-
/* Functions to initiate and delete structures *
* These functions are defined in gmxlib/typedefs.c
*/
-void init_block(t_block *block);
-void init_blocka(t_blocka *block);
-void init_atom (t_atoms *at);
-void init_mtop(gmx_mtop_t *mtop);
-void init_top(t_topology *top);
void init_inputrec(t_inputrec *ir);
void init_energyhistory(energyhistory_t * enerhist);
void done_energyhistory(energyhistory_t * enerhist);
void init_df_history(df_history_t *dfhist, int nlambda);
void done_df_history(df_history_t *dfhist);
void copy_df_history(df_history_t * df_dest, df_history_t *df_source);
-
-void copy_blocka(const t_blocka *src, t_blocka *dest);
-
-void done_block(t_block *block);
-void done_blocka(t_blocka *block);
-void done_atom (t_atoms *at);
-void done_moltype(gmx_moltype_t *molt);
-void done_molblock(gmx_molblock_t *molb);
-void done_mtop(gmx_mtop_t *mtop, gmx_bool bDoneSymtab);
-void done_top(t_topology *top);
void done_inputrec(t_inputrec *ir);
void done_state(t_state *state);
void preserve_box_shape(t_inputrec *ir, matrix box_rel, matrix b);
/* Preserve the box shape, b can be box or boxv */
-void stupid_fill_block(t_block *grp, int natom, gmx_bool bOneIndexGroup);
-/* Fill a block structure with numbers identical to the index
- * (0, 1, 2, .. natom-1)
- * If bOneIndexGroup, then all atoms are lumped in one index group,
- * otherwise there is one atom per index entry
- */
-
-void stupid_fill_blocka(t_blocka *grp, int natom);
-/* Fill a block structure with numbers identical to the index
- * (0, 1, 2, .. natom-1)
- * There is one atom per index entry
- */
-
-void init_t_atoms(t_atoms *atoms, int natoms, gmx_bool bPdbinfo);
-/* allocate memory for the arrays, set nr to natoms and nres to 0
- * set pdbinfo to NULL or allocate memory for it */
-
-t_atoms *copy_t_atoms(t_atoms *src);
-/* copy an atoms struct from src to a new one */
-
-void add_t_atoms(t_atoms *atoms, int natom_extra, int nres_extra);
-/* allocate extra space for more atoms and or residues */
-
-void t_atoms_set_resinfo(t_atoms *atoms, int atom_ind, t_symtab *symtab,
- const char *resname, int resnr, unsigned char ic,
- int chainnum, char chainid);
-/* Set the residue name, number, insertion code and chain identifier
- * of atom index atom_ind.
- */
-
-void free_t_atoms(t_atoms *atoms, gmx_bool bFreeNames);
-/* Free all the arrays and set the nr and nres to 0.
- * bFreeNames tells if to free the atom and residue name strings,
- * don't free them if they still need to be used in e.g. the topology struct.
- */
-
-t_atoms *mtop2atoms(gmx_mtop_t *mtop);
-/* generate a t_atoms struct for the system from gmx_mtop_t */
-
real max_cutoff(real cutoff1, real cutoff2);
/* Returns the maximum of the cut-off's, taking into account that 0=inf. */
-/* Following are forward declarations for structures in commrec.h */
-typedef struct t_commrec t_commrec;
-typedef struct gmx_domdec_t gmx_domdec_t;
-typedef struct gmx_multisim_t gmx_multisim_t;
-typedef struct gmx_domdec_zones_t gmx_domdec_zones_t;
-typedef struct gmx_ddbox_t gmx_ddbox_t;
-
#ifdef __cplusplus
}
#endif
#include "../../utility/gmxmpi.h"
#include "../typedefs.h"
-#include "idef.h"
#ifdef __cplusplus
extern "C" {
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _dlb_h
-#define _dlb_h
+#ifndef GMX_TYPES_COMMREC_FWD_H
+#define GMX_TYPES_COMMREC_FWD_H
-#include "typedefs.h"
+typedef struct t_commrec t_commrec;
+typedef struct gmx_domdec_t gmx_domdec_t;
+typedef struct gmx_multisim_t gmx_multisim_t;
+typedef struct gmx_domdec_zones_t gmx_domdec_zones_t;
+typedef struct gmx_ddbox_t gmx_ddbox_t;
-extern void count_nb(t_commrec *cr, t_nsborder *nsb, t_block *cgs, int nns,
- int nlr, t_idef *idef, int ngner);
-
-#endif /* _dlb_h */
+#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_TYPES_ENERGY_H
+#define GMX_TYPES_ENERGY_H
+
#include "simple.h"
#ifdef __cplusplus
#ifdef __cplusplus
}
#endif
+
+#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
double **v;
} t_oriresdata;
+typedef struct {
+ int n; /* n+1 is the number of points */
+ real scale; /* distance between two points */
+ real *data; /* the actual table data, per point there are 4 numbers */
+} bondedtable_t;
+
/*
* Data struct used in the force calculation routines
* for storing the tables for bonded interactions and
#include "ns.h"
#include "genborn.h"
#include "qmmmrec.h"
-#include "idef.h"
+#include "../../topology/idef.h"
#include "nb_verlet.h"
#include "interaction_const.h"
#include "hw_info.h"
+++ /dev/null
-/*
- * This file is part of the GROMACS molecular simulation package.
- *
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
- * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
- * and including many others, as listed in the AUTHORS file in the
- * top-level source directory and at http://www.gromacs.org.
- *
- * GROMACS is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * GROMACS is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with GROMACS; if not, see
- * http://www.gnu.org/licenses, or write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * If you want to redistribute modifications to GROMACS, please
- * consider that scientific software is very special. Version
- * control is crucial - bugs must be traceable. We will be happy to
- * consider code for inclusion in the official distribution, but
- * derived work must not be called official GROMACS. Details are found
- * in the README & COPYING files - if they are missing, get the
- * official version at http://www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org.
- */
-
-#ifndef _types_graph_h
-#define _types_graph_h
-
-#include "idef.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-typedef enum {
- egcolWhite, egcolGrey, egcolBlack, egcolNR
-} egCol;
-
-typedef struct {
- int at0; /* The first atom the graph was constructed for */
- int at1; /* The last atom the graph was constructed for */
- int nnodes; /* The number of nodes, nnodes=at_end-at_start */
- int nbound; /* The number of nodes with edges */
- int at_start; /* The first connected atom in this graph */
- int at_end; /* The last+1 connected atom in this graph */
- int *nedge; /* For each node the number of edges */
- atom_id **edge; /* For each node, the actual edges (bidirect.) */
- gmx_bool bScrewPBC; /* Screw boundary conditions */
- ivec *ishift; /* Shift for each particle */
- int negc;
- egCol *egc; /* color of each node */
-} t_graph;
-
-
-#define SHIFT_IVEC(g, i) ((g)->ishift[i])
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* _types_graph_h */
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _ifunc_h
#define _ifunc_h
-#include "idef.h"
+#include "../../topology/idef.h"
#include "mdatom.h"
#include "fcdata.h"
-#include "graph.h"
-#include "pbc.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_graph;
+struct t_pbc;
typedef real t_ifunc (int nbonds, const t_iatom iatoms[],
const t_iparams iparams[],
const rvec x[], rvec f[], rvec fshift[],
- const t_pbc *pbc, const t_graph *g,
+ const struct t_pbc *pbc, const struct t_graph *g,
real lambda, real *dvdlambda,
const t_mdatoms *md, t_fcdata *fcd,
int *ddgatindex);
#ifndef _inputrec_h_
#define _inputrec_h_
+#include <stdio.h>
#include "simple.h"
#include "enums.h"
-#include "../sysstuff.h"
#include "../../swap/enums.h"
#ifdef __cplusplus
#endif
-/*! Nonbonded NxN kernel types: plain C, CPU SIMD, GPU CUDA, GPU emulation */
+/** Nonbonded NxN kernel types: plain C, CPU SIMD, GPU CUDA, GPU emulation */
typedef enum
{
nbnxnkNotSet = 0,
nbnxnkNR
} nbnxn_kernel_type;
-/*! Return a string indentifying the kernel type */
+/** Return a string indentifying the kernel type */
const char *lookup_nbnxn_kernel_name(int kernel_type);
enum {
t_nrnb;
-typedef struct gmx_wallcycle *gmx_wallcycle_t;
-
#ifdef __cplusplus
}
#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2011,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_LEGACYHEADERS_TYPES_RGB_H
+#define GMX_LEGACYHEADERS_TYPES_RGB_H
-#ifndef _sysstuff_h
-#define _sysstuff_h
+#include "../../utility/real.h"
-#ifndef _386_
-#include <stdlib.h>
-#endif
-#include <stdio.h>
-#include <errno.h>
-#include <signal.h>
-#include <limits.h>
-#include <time.h>
+typedef struct {
+ real r, g, b;
+} t_rgb;
-#endif /* _sysstuff_h */
+#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
#ifndef _simple_h
#define _simple_h
-/* Information about integer data type sizes */
-#include <limits.h>
-#define __STDC_LIMIT_MACROS
-#include <stdint.h>
-#ifndef _MSC_VER
-#define __STDC_FORMAT_MACROS
-#include <inttypes.h>
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-#if 0
-}
-#endif
-
-
-#define XX 0 /* Defines for indexing in */
-#define YY 1 /* vectors */
-#define ZZ 2
-#define DIM 3 /* Dimension of vectors */
-#define XXXX 0 /* defines to index matrices */
-#define XXYY 1
-#define XXZZ 2
-#define YYXX 3
-#define YYYY 4
-#define YYZZ 5
-#define ZZXX 6
-#define ZZYY 7
-#define ZZZZ 8
-
-/* There is no standard size for 'bool' in C++, so when
- * we previously defined it to int for C code the data types
- * (and structs) would have different size depending on your compiler,
- * both at gromacs build time and when you use the library.
- * The only way around this is to NOT assume anything about the C++ type,
- * so we cannot use the name 'bool' in our C code anymore.
- */
-
-typedef int gmx_bool;
-
-#ifndef FALSE
-# define FALSE 0
-#endif
-#ifndef TRUE
-# define TRUE 1
-#endif
-#define BOOL_NR 2
-
+#include "../../math/vectypes.h"
+#include "../../utility/basedefinitions.h"
+#include "../../utility/real.h"
typedef int atom_id; /* To indicate an atoms id */
#define NO_ATID (atom_id)(~0) /* Use this to indicate invalid atid */
-/*! \brief Double precision accuracy */
-#define GMX_DOUBLE_EPS 2.2204460492503131e-16
-
-/*! \brief Maximum double precision value - reduced 1 unit in last digit for MSVC */
-#define GMX_DOUBLE_MAX 1.7976931348623157e+308
-
-/*! \brief Minimum double precision value */
-#define GMX_DOUBLE_MIN 2.2250738585072014e-308
-
-/*! \brief Single precision accuracy */
-#define GMX_FLOAT_EPS 1.19209290e-07F
-
-/*! \brief Maximum single precision value - reduced 1 unit in last digit for MSVC */
-#define GMX_FLOAT_MAX 3.40282346E+38F
-
-/*! \brief Minimum single precision value */
-#define GMX_FLOAT_MIN 1.175494351E-38F
-
-
-/* Check whether we already have a real type! */
-#ifdef GMX_DOUBLE
-
-#ifndef HAVE_REAL
-typedef double real;
-#define HAVE_REAL
-#endif
-
-#define GMX_MPI_REAL MPI_DOUBLE
-#define GMX_REAL_EPS GMX_DOUBLE_EPS
-#define GMX_REAL_MIN GMX_DOUBLE_MIN
-#define GMX_REAL_MAX GMX_DOUBLE_MAX
-#define gmx_real_fullprecision_pfmt "%21.14e"
-#else
-
-#ifndef HAVE_REAL
-typedef float real;
-#define HAVE_REAL
-#endif
-
-#define GMX_MPI_REAL MPI_FLOAT
-#define GMX_REAL_EPS GMX_FLOAT_EPS
-#define GMX_REAL_MIN GMX_FLOAT_MIN
-#define GMX_REAL_MAX GMX_FLOAT_MAX
-#define gmx_real_fullprecision_pfmt "%14.7e"
-#endif
-
-typedef real rvec[DIM];
-
-typedef double dvec[DIM];
-
-typedef real matrix[DIM][DIM];
-
-typedef real tensor[DIM][DIM];
-
-typedef int ivec[DIM];
-
-typedef int imatrix[DIM][DIM];
-
-#ifdef _MSC_VER
-typedef __int32 gmx_int32_t;
-#define GMX_PRId32 "I32d"
-#define GMX_SCNd32 "I32d"
-
-typedef __int64 gmx_int64_t;
-#define GMX_PRId64 "I64d"
-#define GMX_SCNd64 "I64d"
-
-typedef unsigned __int32 gmx_uint32_t;
-#define GMX_PRIu32 "I32u"
-#define GMX_SCNu32 "I32u"
-
-typedef unsigned __int64 gmx_uint64_t;
-#define GMX_PRIu64 "I64u"
-#define GMX_SCNu64 "I64u"
-#else
-typedef int32_t gmx_int32_t;
-#define GMX_PRId32 PRId32
-#define GMX_SCNd32 SCNd32
-
-typedef int64_t gmx_int64_t;
-#define GMX_PRId64 PRId64
-#define GMX_SCNd64 SCNd64
-
-typedef uint32_t gmx_uint32_t;
-#define GMX_PRIu32 PRIu32
-#define GMX_SCNu32 SCNu32
-
-typedef uint64_t gmx_uint64_t;
-#define GMX_PRIu64 PRIu64
-#define GMX_SCNu64 SCNu64
-#endif
-
-#define GMX_INT32_MAX INT32_MAX
-#define GMX_INT32_MIN INT32_MIN
-
-#define GMX_INT64_MAX INT64_MAX
-#define GMX_INT64_MIN INT64_MIN
-
-#define GMX_UINT32_MAX UINT32_MAX
-#define GMX_UINT32_MIN UINT32_MIN
-
-#define GMX_UINT64_MAX UINT64_MAX
-#define GMX_UINT64_MIN UINT64_MIN
-
-#if !defined __cplusplus && _MSC_VER
-#define gmx_inline __inline
-#else
-/* C++ or C99 */
-#define gmx_inline inline
-#endif
-
-/* ICC, GCC, MSVC, Pathscale, PGI, XLC support __restrict.
- * Any other compiler can be added here. We cannot
- * use restrict because it is in C99 but not in C++ */
-#define gmx_restrict __restrict
-
-/*
- * These attributes suppress compiler warnings about unused function arguments
- * by marking them as possibly unused. Some arguments are unused but
- * have to be retained to preserve a function signature
- * that must match that of another function.
- * Some arguments are only used in *some* code paths (e.g. MPI)
- */
-
-#ifndef gmx_unused
-#ifdef __GNUC__
-/* GCC, clang, and some ICC pretending to be GCC */
-# define gmx_unused __attribute__ ((unused))
-#elif (defined(__INTEL_COMPILER) || defined(__ECC)) && !defined(_MSC_VER)
-/* ICC on *nix */
-# define gmx_unused __attribute__ ((unused))
-#elif defined _MSC_VER
-/* MSVC */
-# define gmx_unused /*@unused@*/
-#elif defined(__xlC__)
-/* IBM */
-# define gmx_unused __attribute__ ((unused))
-#else
-# define gmx_unused
-#endif
-#endif
-
-/* Standard sizes for char* string buffers */
-#define STRLEN 4096
-#define BIG_STRLEN 1048576
-
-
-#ifdef __cplusplus
-}
-#endif
-
#endif
#define _update_h
#include "typedefs.h"
-#include "mshift.h"
#include "tgroup.h"
#include "network.h"
-#include "vec.h"
+#include "../timing/wallcycle.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_graph;
+
/* Abstract type for stochastic dynamics */
typedef struct gmx_update *gmx_update_t;
t_mdatoms *md,
t_state *state,
gmx_bool bMolPBC,
- t_graph *graph,
+ struct t_graph *graph,
rvec force[], /* forces on home particles */
t_idef *idef,
tensor vir_part,
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _vcm_h
#define _vcm_h
-#include "sysstuff.h"
-#include "typedefs.h"
+#include <stdio.h>
+
+#include "types/inputrec.h"
+#include "types/mdatom.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_groups_t;
typedef struct {
int nr; /* Number of groups */
char **group_name; /* These two are copies to pointers in */
} t_vcm;
-t_vcm *init_vcm(FILE *fp, gmx_groups_t *groups, t_inputrec *ir);
+t_vcm *init_vcm(FILE *fp, struct gmx_groups_t *groups, t_inputrec *ir);
/* Do a per group center of mass things */
void calc_vcm_grp(int start, int homenr, t_mdatoms *md,
#ifndef _viewit_h
#define _viewit_h
-#include "typedefs.h"
+#include "types/oenv.h"
#include "../fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#endif
-
void do_view(const output_env_t oenv, const char *fn, const char *opts);
/* forks off appropriate command to view file.
* currently eps, xpm, xvg and pdb are supported
#define _vsite_h
#include <stdio.h>
+
#include "typedefs.h"
+#include "../pbcutil/ishift.h"
#ifdef __cplusplus
extern "C" {
int th_ind_nalloc; /* Size of th_ind */
} gmx_vsite_t;
+struct t_graph;
+
void construct_vsites(gmx_vsite_t *vsite,
rvec x[],
real dt, rvec v[],
rvec x[], rvec f[], rvec *fshift,
gmx_bool VirCorr, matrix vir,
t_nrnb *nrnb, t_idef *idef,
- int ePBC, gmx_bool bMolPBC, t_graph *g, matrix box,
+ int ePBC, gmx_bool bMolPBC, struct t_graph *g, matrix box,
t_commrec *cr);
/* Spread the force operating on the vsite atoms on the surrounding atoms.
* If fshift!=NULL also update the shift forces.
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _warninp_h
#define _warninp_h
-#include "typedefs.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#
# This file is part of the GROMACS molecular simulation package.
#
-# Copyright (c) 2012,2013, by the GROMACS development team, led by
+# Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
# and including many others, as listed in the AUTHORS file in the
# top-level source directory and at http://www.gromacs.org.
set(LINEARALGEBRA_PUBLIC_HEADERS
eigensolver.h
matrix.h
- mtxio.h
sparsematrix.h)
gmx_install_headers(linearalgebra ${LINEARALGEBRA_PUBLIC_HEADERS})
*/
#include "eigensolver.h"
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-
#include "gromacs/linearalgebra/sparsematrix.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/real.h"
#include "gromacs/utility/smalloc.h"
#include "gmx_lapack.h"
#ifndef GMX_LINEARALGEBRA_EIGENSOLVER_H
#define GMX_LINEARALGEBRA_EIGENSOLVER_H
-#include "../legacyheaders/types/simple.h"
+#include "../utility/real.h"
#include "sparsematrix.h"
* This file is part of the GROMACS molecular simulation package.
*
* Copyright (c) 1991-2004 David van der Spoel, Erik Lindahl, University of Groningen.
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <math.h>
#include <string.h>
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
+
#include "gmx_arpack.h"
#include "gmx_blas.h"
#include "gmx_lapack.h"
+
static void
F77_FUNC(dstqrb, DSTQRB) (int * n,
double * d__,
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "config.h"
#endif
+/* These are not required by this file, but by the internal BLAS
+ * implementation. In principle, they could be included in each file
+ * that requires them, but this is simpler. Since the header is internal
+ * to the linearyalgebra/ module, the added complexity may not be worth it. */
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
+
/* Suppress Cygwin compiler warnings from using newlib version of
* ctype.h */
#ifdef GMX_CYGWIN
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <math.h>
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
double
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
float
#include <math.h>
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
void
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "config.h"
#endif
+/* These are not required by this file, but by the internal LAPACK
+ * implementation. In principle, they could be included in each file
+ * that requires them, but this is simpler. Since the header is internal
+ * to the linearyalgebra/ module, the added complexity may not be worth it. */
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
+
/* Suppress Cygwin compiler warnings from using newlib version of
* ctype.h */
#ifdef GMX_CYGWIN
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dbdsdc,DBDSDC)(const char *uplo,
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dbdsqr,DBDSQR)(const char *uplo,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlaed6,DLAED6)(int *kniter,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
double
F77_FUNC(dlapy2,DLAPY2)(double * x, double * y)
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlarf,DLARF)(const char *side,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlartg,DLARTG)(double *f,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlasd2,DLASD2)(int *nl,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlasd4,DLASD4)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlasq1,DLASQ1)(int *n,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#ifdef _MSC_VER
#pragma warning(disable: 4723) /*division by zero - is used on purpose here*/
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlasq6,DLASQ6)(int *i0,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
void
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dlasv2,DLASV2)(double *f,
#include <ctype.h>
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dorml2,DORML2)(const char *side,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dstebz,DSTEBZ)(const char *range,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dstegr,DSTEGR)(const char *jobz,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dstein,DSTEIN)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dsterf,DSTERF)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(dtrtri,DTRTRI)(const char *uplo,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(sbdsdc,SBDSDC)(const char *uplo,
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(sbdsqr,SBDSQR)(const char *uplo,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slaed6,SLAED6)(int *kniter,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
float
F77_FUNC(slapy2,SLAPY2)(float * x, float * y)
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slarf,SLARF)(const char *side,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slartg,SLARTG)(float *f,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slasd2,SLASD2)(int *nl,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slasd4,SLASD4)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slasq1,SLASQ1)(int *n,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#ifdef _MSC_VER
#pragma warning(disable: 4723) /*division by zero - is used on purpose here*/
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slasq6,SLASQ6)(int *i0,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
void
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
void
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(slasv2,SLASV2)(float *f,
#include <ctype.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_lapack.h"
void
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(sstebz,SSTEBZ)(const char *range,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(sstegr,SSTEGR)(const char *jobz,
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(sstein,SSTEIN)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(ssterf,SSTERF)(int *n,
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include <ctype.h>
#include <math.h>
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
#include "../gmx_blas.h"
#include "../gmx_lapack.h"
#include "../gmx_lapack.h"
#include "lapack_limits.h"
-#include "types/simple.h"
+#include "gromacs/utility/real.h"
void
F77_FUNC(strtri,STRTRI)(const char *uplo,
#include <stdio.h>
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
#include "gmx_lapack.h"
{
ax += a0[i]*a[j][i];
}
- chi2 += sqr(y[j]-ax);
+ chi2 += (y[j] - ax) * (y[j] - ax);
}
sfree(atx);
#include <math.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
static gmx_inline
#ifndef GMX_LINEARALGEBRA_NRJAC_H
#define GMX_LINEARALGEBRA_NRJAC_H
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C" {
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <stdio.h>
-#include "../legacyheaders/types/simple.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "gromacs/math/3dtransforms.h"
+
+#include <math.h>
+#include <stdio.h>
+
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/fatalerror.h"
+
+#define N 4
+
+void gmx_mat4_copy(mat4 a, mat4 b)
+{
+ for (int i = 0; i < N; ++i)
+ {
+ for (int j = 0; j < N; ++j)
+ {
+ b[i][j] = a[i][j];
+ }
+ }
+}
+
+void gmx_mat4_transform_point(mat4 m, rvec x, vec4 v)
+{
+ int i;
+
+ for (i = 0; (i < N); i++)
+ {
+ v[i] = m[XX][i]*x[XX]+m[YY][i]*x[YY]+m[ZZ][i]*x[ZZ]+m[WW][i];
+ }
+}
+
+void gmx_mat4_mmul(mat4 A, mat4 B, mat4 C)
+{
+ int i, j, k;
+
+ for (i = 0; i < N; i++)
+ {
+ for (j = 0; j < N; j++)
+ {
+ A[i][j] = 0;
+ for (k = 0; (k < N); k++)
+ {
+ A[i][j] += B[i][k]*C[k][j];
+ }
+ }
+ }
+}
+
+void gmx_mat4_init_unity(mat4 m)
+{
+ int i, j;
+
+ for (i = 0; (i < N); i++)
+ {
+ for (j = 0; (j < N); j++)
+ {
+ if (i == j)
+ {
+ m[i][j] = 1.0;
+ }
+ else
+ {
+ m[i][j] = 0.0;
+ }
+ }
+ }
+}
+
+void gmx_mat4_init_rotation(int axis, real angle, mat4 A)
+{
+ gmx_mat4_init_unity(A);
+
+ switch (axis)
+ {
+ case XX:
+ A[YY][YY] = cos(angle);
+ A[YY][ZZ] = -sin(angle);
+ A[ZZ][YY] = sin(angle);
+ A[ZZ][ZZ] = cos(angle);
+ break;
+ case YY:
+ A[XX][XX] = cos(angle);
+ A[XX][ZZ] = sin(angle);
+ A[ZZ][XX] = -sin(angle);
+ A[ZZ][ZZ] = cos(angle);
+ break;
+ case ZZ:
+ A[XX][XX] = cos(angle);
+ A[XX][YY] = -sin(angle);
+ A[YY][XX] = sin(angle);
+ A[YY][YY] = cos(angle);
+ break;
+ default:
+ gmx_fatal(FARGS, "Error: invalid axis: %d", axis);
+ }
+}
+
+void gmx_mat4_init_translation(real tx, real ty, real tz, mat4 A)
+{
+ gmx_mat4_init_unity(A);
+ A[3][XX] = tx;
+ A[3][YY] = ty;
+ A[3][ZZ] = tz;
+}
+
+void gmx_mat4_print(FILE *fp, const char *s, mat4 A)
+{
+ int i, j;
+
+ if (fp)
+ {
+ fprintf(fp, "%s: ", s);
+ for (i = 0; i < N; i++)
+ {
+ fprintf(fp, "\t");
+ for (j = 0; j < N; j++)
+ {
+ fprintf(fp, "%10.5f", A[i][j]);
+ }
+ fprintf(fp, "\n");
+ }
+ }
+}
+
+void gmx_vec4_print(FILE *fp, const char *s, vec4 a)
+{
+ int j;
+
+ if (fp)
+ {
+ fprintf(fp, "%s: ", s);
+ for (j = 0; j < N; j++)
+ {
+ fprintf(fp, "%10.5f", a[j]);
+ }
+ fprintf(fp, "\n");
+ }
+}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _pbc_h
-#define _pbc_h
+#ifndef GMX_MATH_3DTRANSFORMS_H
+#define GMX_MATH_3DTRANSFORMS_H
+#include <stdio.h>
-#include "simple.h"
+#include "../utility/real.h"
+#include "vectypes.h"
#ifdef __cplusplus
extern "C" {
#endif
-/* Maximum number of combinations of single triclinic box vectors
- * required to shift atoms that are within a brick of the size of
- * the diagonal of the box to within the maximum cut-off distance.
+/** Index for the fourth dimension for `vec4`. */
+#define WW 3
+
+/*! \brief
+ * 4D vector type used in 3D transformations.
+ *
+ * In \Gromacs, only a limited set of 3D transformations are used, and all of
+ * them operate on coordinates, so the fourth element is assumed to be one and
+ * ignored in all contexts.
+ */
+typedef real vec4[4];
+
+/*! \brief
+ * 4D matrix type used in 3D transformations.
+ */
+typedef real mat4[4][4];
+
+void gmx_mat4_copy(mat4 a, mat4 b);
+
+void gmx_mat4_transform_point(mat4 m, rvec x, vec4 v);
+
+/*! \brief
+ * Computes the product of two `mat4` matrices as A = B * C.
+ *
+ * Note that the order of operands is different from mmul() in vec.h!
*/
-#define MAX_NTRICVEC 12
-
-typedef struct {
- int ePBC;
- int ndim_ePBC;
- int ePBCDX;
- int dim;
- matrix box;
- rvec fbox_diag;
- rvec hbox_diag;
- rvec mhbox_diag;
- real max_cutoff2;
- gmx_bool bLimitDistance;
- real limit_distance2;
- int ntric_vec;
- ivec tric_shift[MAX_NTRICVEC];
- rvec tric_vec[MAX_NTRICVEC];
-} t_pbc;
+void gmx_mat4_mmul(mat4 A, mat4 B, mat4 C);
+
+void gmx_mat4_init_unity(mat4 m);
+
+void gmx_mat4_init_rotation(int axis, real angle, mat4 A);
+
+void gmx_mat4_init_translation(real tx, real ty, real tz, mat4 A);
+
+void gmx_mat4_print(FILE *fp, const char *s, mat4 A);
+
+void gmx_vec4_print(FILE *fp, const char *s, vec4 a);
#ifdef __cplusplus
}
set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${MATH_SOURCES} PARENT_SCOPE)
set(MATH_PUBLIC_HEADERS
- 3dview.h
+ 3dtransforms.h
gmxcomplex.h
do_fit.h
+ units.h
utilities.h
+ vec.h
+ vectypes.h
)
gmx_install_headers(math ${MATH_PUBLIC_HEADERS})
*/
#include "do_fit.h"
-#include "gromacs/math/utilities.h"
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "vec.h"
-#include "txtdump.h"
-
#include "gromacs/linearalgebra/nrjac.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
real calc_similar_ind(gmx_bool bRho, int nind, atom_id *index, real mass[],
#define GMX_MATH_DO_FIT_H
#include "../legacyheaders/types/simple.h"
+#include "../utility/real.h"
+
+#include "vectypes.h"
#ifdef __cplusplus
extern "C" {
#define GMX_MATH_GMXCOMPLEX_H
#include <math.h>
-#include "../legacyheaders/types/simple.h"
+
+#include "../utility/real.h"
+
+#include "vectypes.h"
typedef struct {
real re, im;
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/* This file is completely threadsafe - keep it that way! */
+#include "gromacs/math/vec.h"
+
+/** Exponential lookup table - 256 floats */
+const unsigned int gmx_invsqrt_exptab[256] = {
+ 0x5f000000, 0x5e800000, 0x5e800000, 0x5e000000,
+ 0x5e000000, 0x5d800000, 0x5d800000, 0x5d000000,
+ 0x5d000000, 0x5c800000, 0x5c800000, 0x5c000000,
+ 0x5c000000, 0x5b800000, 0x5b800000, 0x5b000000,
+ 0x5b000000, 0x5a800000, 0x5a800000, 0x5a000000,
+ 0x5a000000, 0x59800000, 0x59800000, 0x59000000,
+ 0x59000000, 0x58800000, 0x58800000, 0x58000000,
+ 0x58000000, 0x57800000, 0x57800000, 0x57000000,
+ 0x57000000, 0x56800000, 0x56800000, 0x56000000,
+ 0x56000000, 0x55800000, 0x55800000, 0x55000000,
+ 0x55000000, 0x54800000, 0x54800000, 0x54000000,
+ 0x54000000, 0x53800000, 0x53800000, 0x53000000,
+ 0x53000000, 0x52800000, 0x52800000, 0x52000000,
+ 0x52000000, 0x51800000, 0x51800000, 0x51000000,
+ 0x51000000, 0x50800000, 0x50800000, 0x50000000,
+ 0x50000000, 0x4f800000, 0x4f800000, 0x4f000000,
+ 0x4f000000, 0x4e800000, 0x4e800000, 0x4e000000,
+ 0x4e000000, 0x4d800000, 0x4d800000, 0x4d000000,
+ 0x4d000000, 0x4c800000, 0x4c800000, 0x4c000000,
+ 0x4c000000, 0x4b800000, 0x4b800000, 0x4b000000,
+ 0x4b000000, 0x4a800000, 0x4a800000, 0x4a000000,
+ 0x4a000000, 0x49800000, 0x49800000, 0x49000000,
+ 0x49000000, 0x48800000, 0x48800000, 0x48000000,
+ 0x48000000, 0x47800000, 0x47800000, 0x47000000,
+ 0x47000000, 0x46800000, 0x46800000, 0x46000000,
+ 0x46000000, 0x45800000, 0x45800000, 0x45000000,
+ 0x45000000, 0x44800000, 0x44800000, 0x44000000,
+ 0x44000000, 0x43800000, 0x43800000, 0x43000000,
+ 0x43000000, 0x42800000, 0x42800000, 0x42000000,
+ 0x42000000, 0x41800000, 0x41800000, 0x41000000,
+ 0x41000000, 0x40800000, 0x40800000, 0x40000000,
+ 0x40000000, 0x3f800000, 0x3f800000, 0x3f000000,
+ 0x3f000000, 0x3e800000, 0x3e800000, 0x3e000000,
+ 0x3e000000, 0x3d800000, 0x3d800000, 0x3d000000,
+ 0x3d000000, 0x3c800000, 0x3c800000, 0x3c000000,
+ 0x3c000000, 0x3b800000, 0x3b800000, 0x3b000000,
+ 0x3b000000, 0x3a800000, 0x3a800000, 0x3a000000,
+ 0x3a000000, 0x39800000, 0x39800000, 0x39000000,
+ 0x39000000, 0x38800000, 0x38800000, 0x38000000,
+ 0x38000000, 0x37800000, 0x37800000, 0x37000000,
+ 0x37000000, 0x36800000, 0x36800000, 0x36000000,
+ 0x36000000, 0x35800000, 0x35800000, 0x35000000,
+ 0x35000000, 0x34800000, 0x34800000, 0x34000000,
+ 0x34000000, 0x33800000, 0x33800000, 0x33000000,
+ 0x33000000, 0x32800000, 0x32800000, 0x32000000,
+ 0x32000000, 0x31800000, 0x31800000, 0x31000000,
+ 0x31000000, 0x30800000, 0x30800000, 0x30000000,
+ 0x30000000, 0x2f800000, 0x2f800000, 0x2f000000,
+ 0x2f000000, 0x2e800000, 0x2e800000, 0x2e000000,
+ 0x2e000000, 0x2d800000, 0x2d800000, 0x2d000000,
+ 0x2d000000, 0x2c800000, 0x2c800000, 0x2c000000,
+ 0x2c000000, 0x2b800000, 0x2b800000, 0x2b000000,
+ 0x2b000000, 0x2a800000, 0x2a800000, 0x2a000000,
+ 0x2a000000, 0x29800000, 0x29800000, 0x29000000,
+ 0x29000000, 0x28800000, 0x28800000, 0x28000000,
+ 0x28000000, 0x27800000, 0x27800000, 0x27000000,
+ 0x27000000, 0x26800000, 0x26800000, 0x26000000,
+ 0x26000000, 0x25800000, 0x25800000, 0x25000000,
+ 0x25000000, 0x24800000, 0x24800000, 0x24000000,
+ 0x24000000, 0x23800000, 0x23800000, 0x23000000,
+ 0x23000000, 0x22800000, 0x22800000, 0x22000000,
+ 0x22000000, 0x21800000, 0x21800000, 0x21000000,
+ 0x21000000, 0x20800000, 0x20800000, 0x20000000,
+ 0x20000000, 0x1f800000, 0x1f800000, 0x1f000000
+};
+
+/** Mantissa lookup table - 4096 floats */
+const unsigned int gmx_invsqrt_fracttab[4096] = {
+ 0x3504f3, 0x34f9a4, 0x34ee57, 0x34e30c, 0x34d7c3, 0x34cc7c, 0x34c137, 0x34b5f5,
+ 0x34aab4, 0x349f76, 0x34943a, 0x348900, 0x347dc7, 0x347291, 0x34675e, 0x345c2c,
+ 0x3450fc, 0x3445ce, 0x343aa3, 0x342f79, 0x342452, 0x34192c, 0x340e09, 0x3402e8,
+ 0x33f7c9, 0x33ecac, 0x33e191, 0x33d678, 0x33cb61, 0x33c04c, 0x33b539, 0x33aa28,
+ 0x339f19, 0x33940d, 0x338902, 0x337df9, 0x3372f3, 0x3367ee, 0x335cec, 0x3351eb,
+ 0x3346ed, 0x333bf0, 0x3330f6, 0x3325fd, 0x331b07, 0x331013, 0x330520, 0x32fa30,
+ 0x32ef41, 0x32e455, 0x32d96b, 0x32ce82, 0x32c39c, 0x32b8b7, 0x32add5, 0x32a2f5,
+ 0x329816, 0x328d3a, 0x32825f, 0x327787, 0x326cb0, 0x3261dc, 0x325709, 0x324c38,
+ 0x32416a, 0x32369d, 0x322bd2, 0x32210a, 0x321643, 0x320b7e, 0x3200bb, 0x31f5fa,
+ 0x31eb3b, 0x31e07e, 0x31d5c3, 0x31cb0a, 0x31c053, 0x31b59d, 0x31aaea, 0x31a038,
+ 0x319589, 0x318adb, 0x318030, 0x317586, 0x316ade, 0x316038, 0x315594, 0x314af2,
+ 0x314052, 0x3135b4, 0x312b18, 0x31207d, 0x3115e5, 0x310b4e, 0x3100b9, 0x30f627,
+ 0x30eb96, 0x30e107, 0x30d67a, 0x30cbee, 0x30c165, 0x30b6dd, 0x30ac58, 0x30a1d4,
+ 0x309752, 0x308cd2, 0x308254, 0x3077d8, 0x306d5e, 0x3062e5, 0x30586e, 0x304dfa,
+ 0x304387, 0x303916, 0x302ea7, 0x302439, 0x3019ce, 0x300f64, 0x3004fc, 0x2ffa96,
+ 0x2ff032, 0x2fe5d0, 0x2fdb6f, 0x2fd111, 0x2fc6b4, 0x2fbc59, 0x2fb200, 0x2fa7a9,
+ 0x2f9d53, 0x2f9300, 0x2f88ae, 0x2f7e5e, 0x2f7410, 0x2f69c3, 0x2f5f79, 0x2f5530,
+ 0x2f4ae9, 0x2f40a4, 0x2f3661, 0x2f2c1f, 0x2f21df, 0x2f17a1, 0x2f0d65, 0x2f032b,
+ 0x2ef8f2, 0x2eeebc, 0x2ee487, 0x2eda53, 0x2ed022, 0x2ec5f2, 0x2ebbc5, 0x2eb199,
+ 0x2ea76e, 0x2e9d46, 0x2e931f, 0x2e88fa, 0x2e7ed7, 0x2e74b5, 0x2e6a96, 0x2e6078,
+ 0x2e565c, 0x2e4c41, 0x2e4229, 0x2e3812, 0x2e2dfd, 0x2e23e9, 0x2e19d8, 0x2e0fc8,
+ 0x2e05ba, 0x2dfbad, 0x2df1a3, 0x2de79a, 0x2ddd93, 0x2dd38d, 0x2dc989, 0x2dbf87,
+ 0x2db587, 0x2dab89, 0x2da18c, 0x2d9791, 0x2d8d97, 0x2d83a0, 0x2d79aa, 0x2d6fb6,
+ 0x2d65c3, 0x2d5bd2, 0x2d51e3, 0x2d47f6, 0x2d3e0a, 0x2d3420, 0x2d2a38, 0x2d2051,
+ 0x2d166c, 0x2d0c89, 0x2d02a8, 0x2cf8c8, 0x2ceeea, 0x2ce50d, 0x2cdb33, 0x2cd15a,
+ 0x2cc782, 0x2cbdad, 0x2cb3d9, 0x2caa06, 0x2ca036, 0x2c9667, 0x2c8c99, 0x2c82ce,
+ 0x2c7904, 0x2c6f3b, 0x2c6575, 0x2c5bb0, 0x2c51ed, 0x2c482b, 0x2c3e6b, 0x2c34ad,
+ 0x2c2af0, 0x2c2135, 0x2c177b, 0x2c0dc4, 0x2c040e, 0x2bfa59, 0x2bf0a6, 0x2be6f5,
+ 0x2bdd46, 0x2bd398, 0x2bc9eb, 0x2bc041, 0x2bb698, 0x2bacf0, 0x2ba34b, 0x2b99a6,
+ 0x2b9004, 0x2b8663, 0x2b7cc4, 0x2b7326, 0x2b698a, 0x2b5ff0, 0x2b5657, 0x2b4cc0,
+ 0x2b432a, 0x2b3996, 0x2b3004, 0x2b2673, 0x2b1ce4, 0x2b1357, 0x2b09cb, 0x2b0040,
+ 0x2af6b7, 0x2aed30, 0x2ae3ab, 0x2ada27, 0x2ad0a4, 0x2ac724, 0x2abda4, 0x2ab427,
+ 0x2aaaab, 0x2aa130, 0x2a97b7, 0x2a8e40, 0x2a84ca, 0x2a7b56, 0x2a71e3, 0x2a6872,
+ 0x2a5f03, 0x2a5595, 0x2a4c29, 0x2a42be, 0x2a3955, 0x2a2fed, 0x2a2687, 0x2a1d23,
+ 0x2a13c0, 0x2a0a5e, 0x2a00fe, 0x29f7a0, 0x29ee43, 0x29e4e8, 0x29db8e, 0x29d236,
+ 0x29c8e0, 0x29bf8b, 0x29b637, 0x29ace5, 0x29a395, 0x299a46, 0x2990f8, 0x2987ad,
+ 0x297e62, 0x297519, 0x296bd2, 0x29628c, 0x295948, 0x295005, 0x2946c4, 0x293d85,
+ 0x293446, 0x292b0a, 0x2921cf, 0x291895, 0x290f5d, 0x290626, 0x28fcf1, 0x28f3be,
+ 0x28ea8c, 0x28e15b, 0x28d82c, 0x28cefe, 0x28c5d2, 0x28bca8, 0x28b37f, 0x28aa57,
+ 0x28a131, 0x28980c, 0x288ee9, 0x2885c7, 0x287ca7, 0x287389, 0x286a6b, 0x286150,
+ 0x285835, 0x284f1c, 0x284605, 0x283cef, 0x2833db, 0x282ac8, 0x2821b7, 0x2818a7,
+ 0x280f98, 0x28068b, 0x27fd80, 0x27f475, 0x27eb6d, 0x27e266, 0x27d960, 0x27d05c,
+ 0x27c759, 0x27be57, 0x27b557, 0x27ac59, 0x27a35c, 0x279a60, 0x279166, 0x27886d,
+ 0x277f76, 0x277680, 0x276d8c, 0x276499, 0x275ba7, 0x2752b7, 0x2749c9, 0x2740db,
+ 0x2737f0, 0x272f05, 0x27261c, 0x271d35, 0x27144f, 0x270b6a, 0x270287, 0x26f9a5,
+ 0x26f0c4, 0x26e7e5, 0x26df08, 0x26d62c, 0x26cd51, 0x26c477, 0x26bba0, 0x26b2c9,
+ 0x26a9f4, 0x26a120, 0x26984e, 0x268f7d, 0x2686ad, 0x267ddf, 0x267512, 0x266c47,
+ 0x26637d, 0x265ab4, 0x2651ed, 0x264927, 0x264063, 0x2637a0, 0x262ede, 0x26261e,
+ 0x261d5f, 0x2614a2, 0x260be6, 0x26032b, 0x25fa72, 0x25f1ba, 0x25e903, 0x25e04e,
+ 0x25d79a, 0x25cee7, 0x25c636, 0x25bd87, 0x25b4d8, 0x25ac2b, 0x25a37f, 0x259ad5,
+ 0x25922c, 0x258985, 0x2580de, 0x257839, 0x256f96, 0x2566f4, 0x255e53, 0x2555b3,
+ 0x254d15, 0x254479, 0x253bdd, 0x253343, 0x252aaa, 0x252213, 0x25197d, 0x2510e8,
+ 0x250855, 0x24ffc3, 0x24f732, 0x24eea3, 0x24e615, 0x24dd88, 0x24d4fc, 0x24cc72,
+ 0x24c3ea, 0x24bb62, 0x24b2dc, 0x24aa57, 0x24a1d4, 0x249952, 0x2490d1, 0x248852,
+ 0x247fd3, 0x247756, 0x246edb, 0x246661, 0x245de8, 0x245570, 0x244cfa, 0x244485,
+ 0x243c11, 0x24339f, 0x242b2e, 0x2422be, 0x241a4f, 0x2411e2, 0x240976, 0x24010c,
+ 0x23f8a2, 0x23f03a, 0x23e7d4, 0x23df6e, 0x23d70a, 0x23cea7, 0x23c646, 0x23bde6,
+ 0x23b587, 0x23ad29, 0x23a4cc, 0x239c71, 0x239417, 0x238bbf, 0x238368, 0x237b12,
+ 0x2372bd, 0x236a69, 0x236217, 0x2359c6, 0x235177, 0x234928, 0x2340db, 0x23388f,
+ 0x233045, 0x2327fb, 0x231fb3, 0x23176c, 0x230f27, 0x2306e2, 0x22fe9f, 0x22f65e,
+ 0x22ee1d, 0x22e5de, 0x22dda0, 0x22d563, 0x22cd28, 0x22c4ed, 0x22bcb4, 0x22b47c,
+ 0x22ac46, 0x22a411, 0x229bdd, 0x2293aa, 0x228b78, 0x228348, 0x227b19, 0x2272eb,
+ 0x226abe, 0x226293, 0x225a69, 0x225240, 0x224a18, 0x2241f2, 0x2239cc, 0x2231a8,
+ 0x222985, 0x222164, 0x221944, 0x221124, 0x220907, 0x2200ea, 0x21f8ce, 0x21f0b4,
+ 0x21e89b, 0x21e083, 0x21d86d, 0x21d057, 0x21c843, 0x21c030, 0x21b81e, 0x21b00e,
+ 0x21a7fe, 0x219ff0, 0x2197e3, 0x218fd8, 0x2187cd, 0x217fc4, 0x2177bc, 0x216fb5,
+ 0x2167af, 0x215faa, 0x2157a7, 0x214fa5, 0x2147a4, 0x213fa4, 0x2137a5, 0x212fa8,
+ 0x2127ac, 0x211fb1, 0x2117b7, 0x210fbe, 0x2107c7, 0x20ffd0, 0x20f7db, 0x20efe7,
+ 0x20e7f5, 0x20e003, 0x20d813, 0x20d023, 0x20c835, 0x20c048, 0x20b85d, 0x20b072,
+ 0x20a889, 0x20a0a1, 0x2098ba, 0x2090d4, 0x2088ef, 0x20810b, 0x207929, 0x207148,
+ 0x206968, 0x206189, 0x2059ab, 0x2051cf, 0x2049f3, 0x204219, 0x203a40, 0x203268,
+ 0x202a91, 0x2022bb, 0x201ae7, 0x201313, 0x200b41, 0x200370, 0x1ffba0, 0x1ff3d1,
+ 0x1fec04, 0x1fe437, 0x1fdc6c, 0x1fd4a2, 0x1fccd9, 0x1fc511, 0x1fbd4a, 0x1fb584,
+ 0x1fadc0, 0x1fa5fc, 0x1f9e3a, 0x1f9679, 0x1f8eb9, 0x1f86fa, 0x1f7f3c, 0x1f777f,
+ 0x1f6fc4, 0x1f680a, 0x1f6050, 0x1f5898, 0x1f50e1, 0x1f492b, 0x1f4176, 0x1f39c3,
+ 0x1f3210, 0x1f2a5f, 0x1f22af, 0x1f1aff, 0x1f1351, 0x1f0ba4, 0x1f03f8, 0x1efc4e,
+ 0x1ef4a4, 0x1eecfb, 0x1ee554, 0x1eddae, 0x1ed608, 0x1ece64, 0x1ec6c1, 0x1ebf1f,
+ 0x1eb77f, 0x1eafdf, 0x1ea840, 0x1ea0a3, 0x1e9906, 0x1e916b, 0x1e89d1, 0x1e8238,
+ 0x1e7aa0, 0x1e7309, 0x1e6b73, 0x1e63de, 0x1e5c4a, 0x1e54b8, 0x1e4d26, 0x1e4596,
+ 0x1e3e06, 0x1e3678, 0x1e2eeb, 0x1e275f, 0x1e1fd4, 0x1e184a, 0x1e10c1, 0x1e0939,
+ 0x1e01b3, 0x1dfa2d, 0x1df2a8, 0x1deb25, 0x1de3a2, 0x1ddc21, 0x1dd4a1, 0x1dcd22,
+ 0x1dc5a3, 0x1dbe26, 0x1db6aa, 0x1daf2f, 0x1da7b6, 0x1da03d, 0x1d98c5, 0x1d914e,
+ 0x1d89d9, 0x1d8264, 0x1d7af1, 0x1d737e, 0x1d6c0d, 0x1d649c, 0x1d5d2d, 0x1d55bf,
+ 0x1d4e52, 0x1d46e5, 0x1d3f7a, 0x1d3810, 0x1d30a7, 0x1d293f, 0x1d21d8, 0x1d1a73,
+ 0x1d130e, 0x1d0baa, 0x1d0447, 0x1cfce6, 0x1cf585, 0x1cee25, 0x1ce6c7, 0x1cdf69,
+ 0x1cd80d, 0x1cd0b1, 0x1cc957, 0x1cc1fe, 0x1cbaa5, 0x1cb34e, 0x1cabf8, 0x1ca4a2,
+ 0x1c9d4e, 0x1c95fb, 0x1c8ea9, 0x1c8758, 0x1c8008, 0x1c78b8, 0x1c716a, 0x1c6a1d,
+ 0x1c62d1, 0x1c5b86, 0x1c543c, 0x1c4cf3, 0x1c45ab, 0x1c3e65, 0x1c371f, 0x1c2fda,
+ 0x1c2896, 0x1c2153, 0x1c1a11, 0x1c12d0, 0x1c0b90, 0x1c0452, 0x1bfd14, 0x1bf5d7,
+ 0x1bee9b, 0x1be760, 0x1be027, 0x1bd8ee, 0x1bd1b6, 0x1bca7f, 0x1bc349, 0x1bbc15,
+ 0x1bb4e1, 0x1badae, 0x1ba67c, 0x1b9f4c, 0x1b981c, 0x1b90ed, 0x1b89bf, 0x1b8292,
+ 0x1b7b67, 0x1b743c, 0x1b6d12, 0x1b65e9, 0x1b5ec1, 0x1b579a, 0x1b5074, 0x1b4950,
+ 0x1b422c, 0x1b3b09, 0x1b33e7, 0x1b2cc6, 0x1b25a6, 0x1b1e87, 0x1b1769, 0x1b104c,
+ 0x1b0930, 0x1b0215, 0x1afafb, 0x1af3e2, 0x1aecc9, 0x1ae5b2, 0x1ade9c, 0x1ad787,
+ 0x1ad073, 0x1ac95f, 0x1ac24d, 0x1abb3c, 0x1ab42b, 0x1aad1c, 0x1aa60d, 0x1a9f00,
+ 0x1a97f3, 0x1a90e8, 0x1a89dd, 0x1a82d4, 0x1a7bcb, 0x1a74c3, 0x1a6dbd, 0x1a66b7,
+ 0x1a5fb2, 0x1a58ae, 0x1a51ab, 0x1a4aa9, 0x1a43a8, 0x1a3ca8, 0x1a35a9, 0x1a2eab,
+ 0x1a27ae, 0x1a20b1, 0x1a19b6, 0x1a12bc, 0x1a0bc2, 0x1a04ca, 0x19fdd2, 0x19f6dc,
+ 0x19efe6, 0x19e8f2, 0x19e1fe, 0x19db0b, 0x19d419, 0x19cd28, 0x19c638, 0x19bf49,
+ 0x19b85b, 0x19b16e, 0x19aa82, 0x19a396, 0x199cac, 0x1995c3, 0x198eda, 0x1987f3,
+ 0x19810c, 0x197a26, 0x197342, 0x196c5e, 0x19657b, 0x195e99, 0x1957b8, 0x1950d8,
+ 0x1949f8, 0x19431a, 0x193c3d, 0x193560, 0x192e85, 0x1927aa, 0x1920d1, 0x1919f8,
+ 0x191320, 0x190c49, 0x190573, 0x18fe9e, 0x18f7ca, 0x18f0f7, 0x18ea24, 0x18e353,
+ 0x18dc82, 0x18d5b3, 0x18cee4, 0x18c816, 0x18c149, 0x18ba7d, 0x18b3b2, 0x18ace8,
+ 0x18a61f, 0x189f56, 0x18988f, 0x1891c8, 0x188b03, 0x18843e, 0x187d7a, 0x1876b7,
+ 0x186ff5, 0x186934, 0x186274, 0x185bb4, 0x1854f6, 0x184e38, 0x18477c, 0x1840c0,
+ 0x183a05, 0x18334b, 0x182c92, 0x1825da, 0x181f23, 0x18186c, 0x1811b7, 0x180b02,
+ 0x18044e, 0x17fd9b, 0x17f6e9, 0x17f038, 0x17e988, 0x17e2d9, 0x17dc2a, 0x17d57d,
+ 0x17ced0, 0x17c824, 0x17c179, 0x17bacf, 0x17b426, 0x17ad7e, 0x17a6d6, 0x17a030,
+ 0x17998a, 0x1792e5, 0x178c41, 0x17859e, 0x177efc, 0x17785b, 0x1771ba, 0x176b1b,
+ 0x17647c, 0x175dde, 0x175741, 0x1750a5, 0x174a0a, 0x17436f, 0x173cd6, 0x17363d,
+ 0x172fa5, 0x17290f, 0x172278, 0x171be3, 0x17154f, 0x170ebb, 0x170829, 0x170197,
+ 0x16fb06, 0x16f476, 0x16ede7, 0x16e759, 0x16e0cb, 0x16da3e, 0x16d3b3, 0x16cd28,
+ 0x16c69e, 0x16c014, 0x16b98c, 0x16b305, 0x16ac7e, 0x16a5f8, 0x169f73, 0x1698ef,
+ 0x16926c, 0x168be9, 0x168568, 0x167ee7, 0x167867, 0x1671e8, 0x166b6a, 0x1664ec,
+ 0x165e70, 0x1657f4, 0x165179, 0x164aff, 0x164486, 0x163e0d, 0x163796, 0x16311f,
+ 0x162aa9, 0x162434, 0x161dc0, 0x16174d, 0x1610da, 0x160a68, 0x1603f8, 0x15fd88,
+ 0x15f718, 0x15f0aa, 0x15ea3c, 0x15e3d0, 0x15dd64, 0x15d6f9, 0x15d08e, 0x15ca25,
+ 0x15c3bc, 0x15bd55, 0x15b6ee, 0x15b087, 0x15aa22, 0x15a3be, 0x159d5a, 0x1596f7,
+ 0x159095, 0x158a34, 0x1583d3, 0x157d74, 0x157715, 0x1570b7, 0x156a5a, 0x1563fd,
+ 0x155da2, 0x155747, 0x1550ed, 0x154a94, 0x15443c, 0x153de4, 0x15378e, 0x153138,
+ 0x152ae3, 0x15248e, 0x151e3b, 0x1517e8, 0x151197, 0x150b45, 0x1504f5, 0x14fea6,
+ 0x14f857, 0x14f209, 0x14ebbc, 0x14e570, 0x14df25, 0x14d8da, 0x14d290, 0x14cc47,
+ 0x14c5ff, 0x14bfb7, 0x14b971, 0x14b32b, 0x14ace6, 0x14a6a1, 0x14a05e, 0x149a1b,
+ 0x1493d9, 0x148d98, 0x148758, 0x148118, 0x147ada, 0x14749c, 0x146e5f, 0x146822,
+ 0x1461e7, 0x145bac, 0x145572, 0x144f38, 0x144900, 0x1442c8, 0x143c91, 0x14365b,
+ 0x143026, 0x1429f1, 0x1423be, 0x141d8b, 0x141758, 0x141127, 0x140af6, 0x1404c6,
+ 0x13fe97, 0x13f869, 0x13f23b, 0x13ec0f, 0x13e5e3, 0x13dfb7, 0x13d98d, 0x13d363,
+ 0x13cd3a, 0x13c712, 0x13c0eb, 0x13bac4, 0x13b49e, 0x13ae79, 0x13a855, 0x13a231,
+ 0x139c0e, 0x1395ec, 0x138fcb, 0x1389ab, 0x13838b, 0x137d6c, 0x13774e, 0x137130,
+ 0x136b13, 0x1364f8, 0x135edc, 0x1358c2, 0x1352a8, 0x134c8f, 0x134677, 0x134060,
+ 0x133a49, 0x133433, 0x132e1e, 0x13280a, 0x1321f6, 0x131be3, 0x1315d1, 0x130fc0,
+ 0x1309af, 0x13039f, 0x12fd90, 0x12f782, 0x12f174, 0x12eb67, 0x12e55b, 0x12df50,
+ 0x12d945, 0x12d33b, 0x12cd32, 0x12c72a, 0x12c122, 0x12bb1b, 0x12b515, 0x12af10,
+ 0x12a90b, 0x12a307, 0x129d04, 0x129702, 0x129100, 0x128aff, 0x1284ff, 0x127eff,
+ 0x127900, 0x127302, 0x126d05, 0x126708, 0x12610d, 0x125b11, 0x125517, 0x124f1d,
+ 0x124925, 0x12432c, 0x123d35, 0x12373e, 0x123148, 0x122b53, 0x12255e, 0x121f6b,
+ 0x121978, 0x121385, 0x120d94, 0x1207a3, 0x1201b3, 0x11fbc3, 0x11f5d4, 0x11efe6,
+ 0x11e9f9, 0x11e40d, 0x11de21, 0x11d836, 0x11d24b, 0x11cc62, 0x11c679, 0x11c090,
+ 0x11baa9, 0x11b4c2, 0x11aedc, 0x11a8f7, 0x11a312, 0x119d2e, 0x11974b, 0x119168,
+ 0x118b87, 0x1185a6, 0x117fc5, 0x1179e5, 0x117407, 0x116e28, 0x11684b, 0x11626e,
+ 0x115c92, 0x1156b6, 0x1150dc, 0x114b02, 0x114529, 0x113f50, 0x113978, 0x1133a1,
+ 0x112dca, 0x1127f5, 0x112220, 0x111c4b, 0x111678, 0x1110a5, 0x110ad3, 0x110501,
+ 0x10ff30, 0x10f960, 0x10f391, 0x10edc2, 0x10e7f4, 0x10e226, 0x10dc5a, 0x10d68e,
+ 0x10d0c3, 0x10caf8, 0x10c52e, 0x10bf65, 0x10b99c, 0x10b3d5, 0x10ae0e, 0x10a847,
+ 0x10a281, 0x109cbc, 0x1096f8, 0x109134, 0x108b72, 0x1085af, 0x107fee, 0x107a2d,
+ 0x10746d, 0x106ead, 0x1068ee, 0x106330, 0x105d73, 0x1057b6, 0x1051fa, 0x104c3e,
+ 0x104684, 0x1040ca, 0x103b10, 0x103558, 0x102fa0, 0x1029e8, 0x102432, 0x101e7c,
+ 0x1018c6, 0x101312, 0x100d5e, 0x1007ab, 0x1001f8, 0xffc46, 0xff695, 0xff0e4,
+ 0xfeb35, 0xfe585, 0xfdfd7, 0xfda29, 0xfd47c, 0xfcecf, 0xfc923, 0xfc378,
+ 0xfbdce, 0xfb824, 0xfb27b, 0xfacd2, 0xfa72a, 0xfa183, 0xf9bdd, 0xf9637,
+ 0xf9092, 0xf8aed, 0xf854a, 0xf7fa6, 0xf7a04, 0xf7462, 0xf6ec1, 0xf6920,
+ 0xf6381, 0xf5de1, 0xf5843, 0xf52a5, 0xf4d08, 0xf476b, 0xf41cf, 0xf3c34,
+ 0xf369a, 0xf3100, 0xf2b66, 0xf25ce, 0xf2036, 0xf1a9f, 0xf1508, 0xf0f72,
+ 0xf09dd, 0xf0448, 0xefeb4, 0xef921, 0xef38e, 0xeedfc, 0xee86b, 0xee2da,
+ 0xedd4a, 0xed7ba, 0xed22b, 0xecc9d, 0xec710, 0xec183, 0xebbf7, 0xeb66b,
+ 0xeb0e0, 0xeab56, 0xea5cc, 0xea043, 0xe9abb, 0xe9533, 0xe8fac, 0xe8a26,
+ 0xe84a0, 0xe7f1b, 0xe7996, 0xe7413, 0xe6e8f, 0xe690d, 0xe638b, 0xe5e0a,
+ 0xe5889, 0xe5309, 0xe4d8a, 0xe480b, 0xe428d, 0xe3d0f, 0xe3792, 0xe3216,
+ 0xe2c9b, 0xe2720, 0xe21a5, 0xe1c2c, 0xe16b3, 0xe113a, 0xe0bc3, 0xe064c,
+ 0xe00d5, 0xdfb5f, 0xdf5ea, 0xdf075, 0xdeb01, 0xde58e, 0xde01b, 0xddaa9,
+ 0xdd538, 0xdcfc7, 0xdca57, 0xdc4e7, 0xdbf78, 0xdba0a, 0xdb49c, 0xdaf2f,
+ 0xda9c2, 0xda457, 0xd9eeb, 0xd9981, 0xd9417, 0xd8ead, 0xd8945, 0xd83dc,
+ 0xd7e75, 0xd790e, 0xd73a8, 0xd6e42, 0xd68dd, 0xd6379, 0xd5e15, 0xd58b2,
+ 0xd534f, 0xd4ded, 0xd488c, 0xd432b, 0xd3dcb, 0xd386c, 0xd330d, 0xd2dae,
+ 0xd2851, 0xd22f4, 0xd1d97, 0xd183b, 0xd12e0, 0xd0d86, 0xd082c, 0xd02d2,
+ 0xcfd79, 0xcf821, 0xcf2ca, 0xced73, 0xce81c, 0xce2c7, 0xcdd72, 0xcd81d,
+ 0xcd2c9, 0xccd76, 0xcc823, 0xcc2d1, 0xcbd7f, 0xcb82f, 0xcb2de, 0xcad8f,
+ 0xca83f, 0xca2f1, 0xc9da3, 0xc9856, 0xc9309, 0xc8dbd, 0xc8871, 0xc8326,
+ 0xc7ddc, 0xc7892, 0xc7349, 0xc6e01, 0xc68b9, 0xc6372, 0xc5e2b, 0xc58e5,
+ 0xc539f, 0xc4e5a, 0xc4916, 0xc43d2, 0xc3e8f, 0xc394c, 0xc340a, 0xc2ec9,
+ 0xc2988, 0xc2448, 0xc1f08, 0xc19c9, 0xc148b, 0xc0f4d, 0xc0a10, 0xc04d3,
+ 0xbff97, 0xbfa5b, 0xbf521, 0xbefe6, 0xbeaad, 0xbe573, 0xbe03b, 0xbdb03,
+ 0xbd5cb, 0xbd095, 0xbcb5e, 0xbc629, 0xbc0f4, 0xbbbbf, 0xbb68b, 0xbb158,
+ 0xbac25, 0xba6f3, 0xba1c1, 0xb9c90, 0xb9760, 0xb9230, 0xb8d01, 0xb87d2,
+ 0xb82a4, 0xb7d76, 0xb7849, 0xb731d, 0xb6df1, 0xb68c6, 0xb639b, 0xb5e71,
+ 0xb5948, 0xb541f, 0xb4ef6, 0xb49cf, 0xb44a7, 0xb3f81, 0xb3a5b, 0xb3535,
+ 0xb3010, 0xb2aec, 0xb25c8, 0xb20a5, 0xb1b82, 0xb1660, 0xb113e, 0xb0c1d,
+ 0xb06fd, 0xb01dd, 0xafcbe, 0xaf79f, 0xaf281, 0xaed64, 0xae847, 0xae32a,
+ 0xade0e, 0xad8f3, 0xad3d8, 0xacebe, 0xac9a4, 0xac48b, 0xabf73, 0xaba5b,
+ 0xab544, 0xab02d, 0xaab17, 0xaa601, 0xaa0ec, 0xa9bd7, 0xa96c3, 0xa91b0,
+ 0xa8c9d, 0xa878a, 0xa8279, 0xa7d67, 0xa7857, 0xa7347, 0xa6e37, 0xa6928,
+ 0xa641a, 0xa5f0c, 0xa59fe, 0xa54f2, 0xa4fe5, 0xa4ada, 0xa45ce, 0xa40c4,
+ 0xa3bba, 0xa36b0, 0xa31a7, 0xa2c9f, 0xa2797, 0xa2290, 0xa1d89, 0xa1883,
+ 0xa137d, 0xa0e78, 0xa0974, 0xa0470, 0x9ff6c, 0x9fa69, 0x9f567, 0x9f065,
+ 0x9eb64, 0x9e663, 0x9e163, 0x9dc63, 0x9d764, 0x9d266, 0x9cd68, 0x9c86a,
+ 0x9c36d, 0x9be71, 0x9b975, 0x9b47a, 0x9af7f, 0x9aa85, 0x9a58b, 0x9a092,
+ 0x99b9a, 0x996a1, 0x991aa, 0x98cb3, 0x987bd, 0x982c7, 0x97dd1, 0x978dc,
+ 0x973e8, 0x96ef4, 0x96a01, 0x9650e, 0x9601c, 0x95b2b, 0x9563a, 0x95149,
+ 0x94c59, 0x94769, 0x9427a, 0x93d8c, 0x9389e, 0x933b1, 0x92ec4, 0x929d8,
+ 0x924ec, 0x92001, 0x91b16, 0x9162c, 0x91142, 0x90c59, 0x90770, 0x90288,
+ 0x8fda1, 0x8f8ba, 0x8f3d3, 0x8eeed, 0x8ea08, 0x8e523, 0x8e03e, 0x8db5b,
+ 0x8d677, 0x8d194, 0x8ccb2, 0x8c7d0, 0x8c2ef, 0x8be0e, 0x8b92e, 0x8b44e,
+ 0x8af6f, 0x8aa91, 0x8a5b2, 0x8a0d5, 0x89bf8, 0x8971b, 0x8923f, 0x88d64,
+ 0x88889, 0x883ae, 0x87ed4, 0x879fb, 0x87522, 0x87049, 0x86b71, 0x8669a,
+ 0x861c3, 0x85ced, 0x85817, 0x85341, 0x84e6d, 0x84998, 0x844c5, 0x83ff1,
+ 0x83b1e, 0x8364c, 0x8317a, 0x82ca9, 0x827d8, 0x82308, 0x81e39, 0x81969,
+ 0x8149b, 0x80fcd, 0x80aff, 0x80632, 0x80165, 0x7fc99, 0x7f7cd, 0x7f302,
+ 0x7ee37, 0x7e96d, 0x7e4a4, 0x7dfdb, 0x7db12, 0x7d64a, 0x7d182, 0x7ccbb,
+ 0x7c7f5, 0x7c32f, 0x7be69, 0x7b9a4, 0x7b4df, 0x7b01b, 0x7ab58, 0x7a695,
+ 0x7a1d2, 0x79d10, 0x7984f, 0x7938e, 0x78ecd, 0x78a0d, 0x7854d, 0x7808e,
+ 0x77bd0, 0x77712, 0x77254, 0x76d97, 0x768da, 0x7641e, 0x75f63, 0x75aa8,
+ 0x755ed, 0x75133, 0x74c79, 0x747c0, 0x74308, 0x73e50, 0x73998, 0x734e1,
+ 0x7302a, 0x72b74, 0x726be, 0x72209, 0x71d55, 0x718a0, 0x713ed, 0x70f3a,
+ 0x70a87, 0x705d5, 0x70123, 0x6fc72, 0x6f7c1, 0x6f311, 0x6ee61, 0x6e9b2,
+ 0x6e503, 0x6e055, 0x6dba7, 0x6d6f9, 0x6d24d, 0x6cda0, 0x6c8f4, 0x6c449,
+ 0x6bf9e, 0x6baf4, 0x6b64a, 0x6b1a0, 0x6acf7, 0x6a84f, 0x6a3a7, 0x69eff,
+ 0x69a58, 0x695b2, 0x6910c, 0x68c66, 0x687c1, 0x6831d, 0x67e78, 0x679d5,
+ 0x67532, 0x6708f, 0x66bed, 0x6674b, 0x662aa, 0x65e09, 0x65969, 0x654c9,
+ 0x65029, 0x64b8a, 0x646ec, 0x6424e, 0x63db1, 0x63914, 0x63477, 0x62fdb,
+ 0x62b40, 0x626a5, 0x6220a, 0x61d70, 0x618d6, 0x6143d, 0x60fa4, 0x60b0c,
+ 0x60674, 0x601dd, 0x5fd46, 0x5f8b0, 0x5f41a, 0x5ef85, 0x5eaf0, 0x5e65b,
+ 0x5e1c7, 0x5dd34, 0x5d8a1, 0x5d40e, 0x5cf7c, 0x5caea, 0x5c659, 0x5c1c9,
+ 0x5bd38, 0x5b8a9, 0x5b419, 0x5af8a, 0x5aafc, 0x5a66e, 0x5a1e1, 0x59d54,
+ 0x598c7, 0x5943b, 0x58fb0, 0x58b24, 0x5869a, 0x58210, 0x57d86, 0x578fd,
+ 0x57474, 0x56feb, 0x56b64, 0x566dc, 0x56255, 0x55dcf, 0x55949, 0x554c3,
+ 0x5503e, 0x54bb9, 0x54735, 0x542b1, 0x53e2e, 0x539ab, 0x53529, 0x530a7,
+ 0x52c25, 0x527a4, 0x52324, 0x51ea4, 0x51a24, 0x515a5, 0x51126, 0x50ca8,
+ 0x5082a, 0x503ad, 0x4ff30, 0x4fab4, 0x4f638, 0x4f1bc, 0x4ed41, 0x4e8c6,
+ 0x4e44c, 0x4dfd3, 0x4db59, 0x4d6e0, 0x4d268, 0x4cdf0, 0x4c979, 0x4c502,
+ 0x4c08b, 0x4bc15, 0x4b79f, 0x4b32a, 0x4aeb5, 0x4aa41, 0x4a5cd, 0x4a15a,
+ 0x49ce7, 0x49874, 0x49402, 0x48f91, 0x48b1f, 0x486af, 0x4823e, 0x47dce,
+ 0x4795f, 0x474f0, 0x47082, 0x46c14, 0x467a6, 0x46339, 0x45ecc, 0x45a60,
+ 0x455f4, 0x45189, 0x44d1e, 0x448b3, 0x44449, 0x43fdf, 0x43b76, 0x4370d,
+ 0x432a5, 0x42e3d, 0x429d6, 0x4256f, 0x42108, 0x41ca2, 0x4183c, 0x413d7,
+ 0x40f72, 0x40b0e, 0x406aa, 0x40247, 0x3fde4, 0x3f981, 0x3f51f, 0x3f0bd,
+ 0x3ec5c, 0x3e7fb, 0x3e39b, 0x3df3b, 0x3dadb, 0x3d67c, 0x3d21d, 0x3cdbf,
+ 0x3c961, 0x3c504, 0x3c0a7, 0x3bc4a, 0x3b7ee, 0x3b393, 0x3af37, 0x3aadd,
+ 0x3a682, 0x3a228, 0x39dcf, 0x39976, 0x3951d, 0x390c5, 0x38c6d, 0x38816,
+ 0x383bf, 0x37f69, 0x37b13, 0x376bd, 0x37268, 0x36e13, 0x369bf, 0x3656b,
+ 0x36117, 0x35cc4, 0x35872, 0x3541f, 0x34fce, 0x34b7c, 0x3472b, 0x342db,
+ 0x33e8b, 0x33a3b, 0x335ec, 0x3319d, 0x32d4f, 0x32901, 0x324b3, 0x32066,
+ 0x31c1a, 0x317cd, 0x31381, 0x30f36, 0x30aeb, 0x306a1, 0x30256, 0x2fe0d,
+ 0x2f9c3, 0x2f57a, 0x2f132, 0x2ecea, 0x2e8a2, 0x2e45b, 0x2e014, 0x2dbce,
+ 0x2d788, 0x2d343, 0x2cefd, 0x2cab9, 0x2c675, 0x2c231, 0x2bded, 0x2b9aa,
+ 0x2b568, 0x2b125, 0x2ace4, 0x2a8a2, 0x2a461, 0x2a021, 0x29be1, 0x297a1,
+ 0x29362, 0x28f23, 0x28ae4, 0x286a6, 0x28269, 0x27e2c, 0x279ef, 0x275b2,
+ 0x27176, 0x26d3b, 0x26900, 0x264c5, 0x2608b, 0x25c51, 0x25817, 0x253de,
+ 0x24fa6, 0x24b6d, 0x24735, 0x242fe, 0x23ec7, 0x23a90, 0x2365a, 0x23224,
+ 0x22def, 0x229ba, 0x22585, 0x22151, 0x21d1d, 0x218ea, 0x214b7, 0x21084,
+ 0x20c52, 0x20821, 0x203ef, 0x1ffbe, 0x1fb8e, 0x1f75e, 0x1f32e, 0x1eeff,
+ 0x1ead0, 0x1e6a1, 0x1e273, 0x1de45, 0x1da18, 0x1d5eb, 0x1d1bf, 0x1cd93,
+ 0x1c967, 0x1c53c, 0x1c111, 0x1bce6, 0x1b8bc, 0x1b493, 0x1b069, 0x1ac40,
+ 0x1a818, 0x1a3f0, 0x19fc8, 0x19ba1, 0x1977a, 0x19354, 0x18f2d, 0x18b08,
+ 0x186e2, 0x182be, 0x17e99, 0x17a75, 0x17651, 0x1722e, 0x16e0b, 0x169e9,
+ 0x165c6, 0x161a5, 0x15d83, 0x15963, 0x15542, 0x15122, 0x14d02, 0x148e3,
+ 0x144c4, 0x140a5, 0x13c87, 0x13869, 0x1344c, 0x1302f, 0x12c12, 0x127f6,
+ 0x123da, 0x11fbf, 0x11ba4, 0x11789, 0x1136f, 0x10f55, 0x10b3c, 0x10723,
+ 0x1030a, 0xfef2, 0xfada, 0xf6c2, 0xf2ab, 0xee95, 0xea7e, 0xe668,
+ 0xe253, 0xde3e, 0xda29, 0xd614, 0xd200, 0xcded, 0xc9da, 0xc5c7,
+ 0xc1b4, 0xbda2, 0xb990, 0xb57f, 0xb16e, 0xad5e, 0xa94e, 0xa53e,
+ 0xa12e, 0x9d1f, 0x9911, 0x9503, 0x90f5, 0x8ce7, 0x88da, 0x84ce,
+ 0x80c1, 0x7cb5, 0x78aa, 0x749f, 0x7094, 0x6c89, 0x687f, 0x6476,
+ 0x606d, 0x5c64, 0x585b, 0x5453, 0x504b, 0x4c44, 0x483d, 0x4436,
+ 0x4030, 0x3c2a, 0x3825, 0x3420, 0x301b, 0x2c17, 0x2813, 0x240f,
+ 0x200c, 0x1c09, 0x1807, 0x1405, 0x1003, 0xc02, 0x801, 0x400,
+ 0x7fffff, 0x7ff001, 0x7fe006, 0x7fd00d, 0x7fc018, 0x7fb025, 0x7fa036, 0x7f9049,
+ 0x7f8060, 0x7f7079, 0x7f6095, 0x7f50b5, 0x7f40d7, 0x7f30fc, 0x7f2124, 0x7f114f,
+ 0x7f017e, 0x7ef1af, 0x7ee1e2, 0x7ed219, 0x7ec253, 0x7eb290, 0x7ea2d0, 0x7e9312,
+ 0x7e8358, 0x7e73a0, 0x7e63eb, 0x7e543a, 0x7e448b, 0x7e34df, 0x7e2536, 0x7e1590,
+ 0x7e05ec, 0x7df64c, 0x7de6ae, 0x7dd714, 0x7dc77c, 0x7db7e7, 0x7da855, 0x7d98c6,
+ 0x7d893a, 0x7d79b0, 0x7d6a2a, 0x7d5aa6, 0x7d4b25, 0x7d3ba7, 0x7d2c2c, 0x7d1cb3,
+ 0x7d0d3e, 0x7cfdcb, 0x7cee5b, 0x7cdeee, 0x7ccf84, 0x7cc01d, 0x7cb0b8, 0x7ca156,
+ 0x7c91f7, 0x7c829b, 0x7c7342, 0x7c63eb, 0x7c5497, 0x7c4546, 0x7c35f8, 0x7c26ad,
+ 0x7c1764, 0x7c081e, 0x7bf8db, 0x7be99b, 0x7bda5d, 0x7bcb23, 0x7bbbeb, 0x7bacb5,
+ 0x7b9d83, 0x7b8e53, 0x7b7f26, 0x7b6ffc, 0x7b60d4, 0x7b51b0, 0x7b428e, 0x7b336e,
+ 0x7b2452, 0x7b1538, 0x7b0621, 0x7af70c, 0x7ae7fb, 0x7ad8ec, 0x7ac9e0, 0x7abad6,
+ 0x7aabcf, 0x7a9ccb, 0x7a8dca, 0x7a7ecb, 0x7a6fcf, 0x7a60d5, 0x7a51df, 0x7a42eb,
+ 0x7a33f9, 0x7a250b, 0x7a161f, 0x7a0735, 0x79f84f, 0x79e96b, 0x79da89, 0x79cbab,
+ 0x79bccf, 0x79adf5, 0x799f1f, 0x79904a, 0x798179, 0x7972aa, 0x7963de, 0x795515,
+ 0x79464e, 0x793789, 0x7928c8, 0x791a09, 0x790b4c, 0x78fc92, 0x78eddb, 0x78df27,
+ 0x78d075, 0x78c1c5, 0x78b319, 0x78a46e, 0x7895c7, 0x788722, 0x78787f, 0x7869e0,
+ 0x785b42, 0x784ca8, 0x783e10, 0x782f7a, 0x7820e7, 0x781257, 0x7803c9, 0x77f53e,
+ 0x77e6b5, 0x77d82f, 0x77c9ab, 0x77bb2a, 0x77acac, 0x779e30, 0x778fb6, 0x77813f,
+ 0x7772cb, 0x776459, 0x7755ea, 0x77477d, 0x773913, 0x772aab, 0x771c46, 0x770de3,
+ 0x76ff83, 0x76f125, 0x76e2ca, 0x76d472, 0x76c61b, 0x76b7c8, 0x76a977, 0x769b28,
+ 0x768cdc, 0x767e92, 0x76704b, 0x766206, 0x7653c4, 0x764584, 0x763747, 0x76290c,
+ 0x761ad3, 0x760c9d, 0x75fe6a, 0x75f039, 0x75e20a, 0x75d3de, 0x75c5b5, 0x75b78e,
+ 0x75a969, 0x759b46, 0x758d27, 0x757f09, 0x7570ee, 0x7562d6, 0x7554bf, 0x7546ac,
+ 0x75389a, 0x752a8c, 0x751c7f, 0x750e75, 0x75006d, 0x74f268, 0x74e465, 0x74d665,
+ 0x74c867, 0x74ba6b, 0x74ac72, 0x749e7b, 0x749087, 0x748295, 0x7474a5, 0x7466b8,
+ 0x7458cd, 0x744ae4, 0x743cfe, 0x742f1a, 0x742139, 0x74135a, 0x74057d, 0x73f7a3,
+ 0x73e9cb, 0x73dbf5, 0x73ce22, 0x73c051, 0x73b282, 0x73a4b6, 0x7396ec, 0x738925,
+ 0x737b60, 0x736d9d, 0x735fdc, 0x73521e, 0x734462, 0x7336a9, 0x7328f1, 0x731b3c,
+ 0x730d8a, 0x72ffd9, 0x72f22c, 0x72e480, 0x72d6d7, 0x72c92f, 0x72bb8b, 0x72ade8,
+ 0x72a048, 0x7292aa, 0x72850f, 0x727775, 0x7269de, 0x725c4a, 0x724eb7, 0x724127,
+ 0x723399, 0x72260e, 0x721884, 0x720afd, 0x71fd79, 0x71eff6, 0x71e276, 0x71d4f8,
+ 0x71c77c, 0x71ba02, 0x71ac8b, 0x719f16, 0x7191a3, 0x718433, 0x7176c5, 0x716959,
+ 0x715bef, 0x714e87, 0x714122, 0x7133bf, 0x71265e, 0x711900, 0x710ba3, 0x70fe49,
+ 0x70f0f1, 0x70e39b, 0x70d648, 0x70c8f6, 0x70bba7, 0x70ae5a, 0x70a110, 0x7093c7,
+ 0x708681, 0x70793d, 0x706bfb, 0x705ebb, 0x70517d, 0x704442, 0x703709, 0x7029d2,
+ 0x701c9d, 0x700f6a, 0x70023a, 0x6ff50c, 0x6fe7e0, 0x6fdab6, 0x6fcd8e, 0x6fc068,
+ 0x6fb345, 0x6fa624, 0x6f9904, 0x6f8be7, 0x6f7ecd, 0x6f71b4, 0x6f649d, 0x6f5789,
+ 0x6f4a77, 0x6f3d67, 0x6f3059, 0x6f234d, 0x6f1643, 0x6f093c, 0x6efc36, 0x6eef33,
+ 0x6ee232, 0x6ed533, 0x6ec836, 0x6ebb3b, 0x6eae42, 0x6ea14c, 0x6e9457, 0x6e8765,
+ 0x6e7a74, 0x6e6d86, 0x6e609a, 0x6e53b0, 0x6e46c8, 0x6e39e3, 0x6e2cff, 0x6e201d,
+ 0x6e133e, 0x6e0661, 0x6df985, 0x6decac, 0x6ddfd5, 0x6dd300, 0x6dc62d, 0x6db95c,
+ 0x6dac8d, 0x6d9fc0, 0x6d92f5, 0x6d862d, 0x6d7966, 0x6d6ca2, 0x6d5fdf, 0x6d531f,
+ 0x6d4660, 0x6d39a4, 0x6d2cea, 0x6d2032, 0x6d137c, 0x6d06c7, 0x6cfa15, 0x6ced65,
+ 0x6ce0b7, 0x6cd40b, 0x6cc761, 0x6cbab9, 0x6cae14, 0x6ca170, 0x6c94ce, 0x6c882e,
+ 0x6c7b90, 0x6c6ef5, 0x6c625b, 0x6c55c3, 0x6c492d, 0x6c3c9a, 0x6c3008, 0x6c2378,
+ 0x6c16ea, 0x6c0a5f, 0x6bfdd5, 0x6bf14d, 0x6be4c8, 0x6bd844, 0x6bcbc2, 0x6bbf42,
+ 0x6bb2c5, 0x6ba649, 0x6b99cf, 0x6b8d57, 0x6b80e2, 0x6b746e, 0x6b67fc, 0x6b5b8c,
+ 0x6b4f1e, 0x6b42b2, 0x6b3648, 0x6b29e0, 0x6b1d7a, 0x6b1116, 0x6b04b4, 0x6af854,
+ 0x6aebf5, 0x6adf99, 0x6ad33f, 0x6ac6e6, 0x6aba90, 0x6aae3b, 0x6aa1e9, 0x6a9598,
+ 0x6a8949, 0x6a7cfd, 0x6a70b2, 0x6a6469, 0x6a5822, 0x6a4bdd, 0x6a3f9a, 0x6a3359,
+ 0x6a271a, 0x6a1adc, 0x6a0ea1, 0x6a0267, 0x69f630, 0x69e9fa, 0x69ddc6, 0x69d195,
+ 0x69c565, 0x69b937, 0x69ad0b, 0x69a0e0, 0x6994b8, 0x698892, 0x697c6d, 0x69704a,
+ 0x69642a, 0x69580b, 0x694bee, 0x693fd3, 0x6933ba, 0x6927a2, 0x691b8d, 0x690f79,
+ 0x690368, 0x68f758, 0x68eb4a, 0x68df3e, 0x68d334, 0x68c72b, 0x68bb25, 0x68af20,
+ 0x68a31d, 0x68971d, 0x688b1d, 0x687f20, 0x687325, 0x68672c, 0x685b34, 0x684f3e,
+ 0x68434a, 0x683758, 0x682b68, 0x681f7a, 0x68138d, 0x6807a2, 0x67fbb9, 0x67efd2,
+ 0x67e3ed, 0x67d80a, 0x67cc28, 0x67c048, 0x67b46a, 0x67a88e, 0x679cb4, 0x6790dc,
+ 0x678505, 0x677930, 0x676d5d, 0x67618c, 0x6755bd, 0x6749ef, 0x673e23, 0x673259,
+ 0x672691, 0x671acb, 0x670f06, 0x670343, 0x66f782, 0x66ebc3, 0x66e006, 0x66d44a,
+ 0x66c891, 0x66bcd8, 0x66b122, 0x66a56e, 0x6699bb, 0x668e0a, 0x66825b, 0x6676ae,
+ 0x666b02, 0x665f58, 0x6653b0, 0x66480a, 0x663c66, 0x6630c3, 0x662522, 0x661983,
+ 0x660de5, 0x66024a, 0x65f6b0, 0x65eb17, 0x65df81, 0x65d3ec, 0x65c859, 0x65bcc8,
+ 0x65b139, 0x65a5ab, 0x659a1f, 0x658e95, 0x65830d, 0x657786, 0x656c01, 0x65607e,
+ 0x6554fc, 0x65497c, 0x653dfe, 0x653282, 0x652707, 0x651b8e, 0x651017, 0x6504a2,
+ 0x64f92e, 0x64edbc, 0x64e24c, 0x64d6dd, 0x64cb70, 0x64c005, 0x64b49c, 0x64a934,
+ 0x649dce, 0x64926a, 0x648707, 0x647ba6, 0x647047, 0x6464ea, 0x64598e, 0x644e34,
+ 0x6442db, 0x643784, 0x642c2f, 0x6420dc, 0x64158a, 0x640a3a, 0x63feec, 0x63f39f,
+ 0x63e854, 0x63dd0b, 0x63d1c3, 0x63c67d, 0x63bb39, 0x63aff7, 0x63a4b6, 0x639976,
+ 0x638e39, 0x6382fd, 0x6377c3, 0x636c8a, 0x636153, 0x63561e, 0x634aea, 0x633fb8,
+ 0x633488, 0x632959, 0x631e2c, 0x631301, 0x6307d7, 0x62fcaf, 0x62f189, 0x62e664,
+ 0x62db41, 0x62d01f, 0x62c500, 0x62b9e1, 0x62aec5, 0x62a3aa, 0x629890, 0x628d79,
+ 0x628263, 0x62774e, 0x626c3b, 0x62612a, 0x62561b, 0x624b0d, 0x624000, 0x6234f6,
+ 0x6229ed, 0x621ee5, 0x6213df, 0x6208db, 0x61fdd8, 0x61f2d7, 0x61e7d8, 0x61dcda,
+ 0x61d1de, 0x61c6e3, 0x61bbea, 0x61b0f3, 0x61a5fd, 0x619b09, 0x619016, 0x618525,
+ 0x617a36, 0x616f48, 0x61645b, 0x615971, 0x614e88, 0x6143a0, 0x6138ba, 0x612dd6,
+ 0x6122f3, 0x611812, 0x610d32, 0x610254, 0x60f778, 0x60ec9d, 0x60e1c4, 0x60d6ec,
+ 0x60cc16, 0x60c141, 0x60b66e, 0x60ab9c, 0x60a0cc, 0x6095fe, 0x608b31, 0x608066,
+ 0x60759c, 0x606ad4, 0x60600e, 0x605549, 0x604a85, 0x603fc3, 0x603503, 0x602a44,
+ 0x601f87, 0x6014cb, 0x600a11, 0x5fff58, 0x5ff4a1, 0x5fe9eb, 0x5fdf37, 0x5fd485,
+ 0x5fc9d4, 0x5fbf24, 0x5fb476, 0x5fa9ca, 0x5f9f1f, 0x5f9476, 0x5f89ce, 0x5f7f28,
+ 0x5f7483, 0x5f69df, 0x5f5f3e, 0x5f549d, 0x5f49ff, 0x5f3f62, 0x5f34c6, 0x5f2a2c,
+ 0x5f1f93, 0x5f14fc, 0x5f0a66, 0x5effd2, 0x5ef53f, 0x5eeaae, 0x5ee01f, 0x5ed591,
+ 0x5ecb04, 0x5ec079, 0x5eb5ef, 0x5eab67, 0x5ea0e0, 0x5e965b, 0x5e8bd8, 0x5e8155,
+ 0x5e76d5, 0x5e6c55, 0x5e61d8, 0x5e575c, 0x5e4ce1, 0x5e4268, 0x5e37f0, 0x5e2d79,
+ 0x5e2305, 0x5e1891, 0x5e0e1f, 0x5e03af, 0x5df940, 0x5deed3, 0x5de467, 0x5dd9fc,
+ 0x5dcf93, 0x5dc52b, 0x5dbac5, 0x5db061, 0x5da5fd, 0x5d9b9c, 0x5d913b, 0x5d86dc,
+ 0x5d7c7f, 0x5d7223, 0x5d67c9, 0x5d5d70, 0x5d5318, 0x5d48c2, 0x5d3e6d, 0x5d341a,
+ 0x5d29c8, 0x5d1f78, 0x5d1529, 0x5d0adc, 0x5d0090, 0x5cf645, 0x5cebfc, 0x5ce1b4,
+ 0x5cd76e, 0x5ccd29, 0x5cc2e6, 0x5cb8a4, 0x5cae63, 0x5ca424, 0x5c99e6, 0x5c8faa,
+ 0x5c856f, 0x5c7b36, 0x5c70fe, 0x5c66c7, 0x5c5c92, 0x5c525e, 0x5c482c, 0x5c3dfb,
+ 0x5c33cc, 0x5c299d, 0x5c1f71, 0x5c1546, 0x5c0b1c, 0x5c00f3, 0x5bf6cc, 0x5beca7,
+ 0x5be282, 0x5bd85f, 0x5bce3e, 0x5bc41e, 0x5bb9ff, 0x5bafe2, 0x5ba5c6, 0x5b9bac,
+ 0x5b9193, 0x5b877b, 0x5b7d65, 0x5b7350, 0x5b693d, 0x5b5f2a, 0x5b551a, 0x5b4b0a,
+ 0x5b40fd, 0x5b36f0, 0x5b2ce5, 0x5b22db, 0x5b18d3, 0x5b0ecc, 0x5b04c6, 0x5afac2,
+ 0x5af0bf, 0x5ae6bd, 0x5adcbd, 0x5ad2be, 0x5ac8c1, 0x5abec5, 0x5ab4ca, 0x5aaad1,
+ 0x5aa0d9, 0x5a96e2, 0x5a8ced, 0x5a82f9, 0x5a7906, 0x5a6f15, 0x5a6525, 0x5a5b37,
+ 0x5a514a, 0x5a475e, 0x5a3d74, 0x5a338b, 0x5a29a3, 0x5a1fbd, 0x5a15d8, 0x5a0bf4,
+ 0x5a0212, 0x59f831, 0x59ee51, 0x59e473, 0x59da96, 0x59d0ba, 0x59c6e0, 0x59bd07,
+ 0x59b330, 0x59a959, 0x599f84, 0x5995b1, 0x598bde, 0x59820e, 0x59783e, 0x596e70,
+ 0x5964a3, 0x595ad7, 0x59510d, 0x594744, 0x593d7c, 0x5933b6, 0x5929f1, 0x59202d,
+ 0x59166b, 0x590caa, 0x5902ea, 0x58f92b, 0x58ef6e, 0x58e5b3, 0x58dbf8, 0x58d23f,
+ 0x58c887, 0x58bed0, 0x58b51b, 0x58ab67, 0x58a1b4, 0x589803, 0x588e53, 0x5884a4,
+ 0x587af7, 0x58714b, 0x5867a0, 0x585df6, 0x58544e, 0x584aa7, 0x584101, 0x58375d,
+ 0x582dba, 0x582418, 0x581a77, 0x5810d8, 0x58073a, 0x57fd9d, 0x57f402, 0x57ea68,
+ 0x57e0cf, 0x57d737, 0x57cda1, 0x57c40c, 0x57ba78, 0x57b0e6, 0x57a754, 0x579dc5,
+ 0x579436, 0x578aa9, 0x57811c, 0x577792, 0x576e08, 0x576480, 0x575af9, 0x575173,
+ 0x5747ee, 0x573e6b, 0x5734e9, 0x572b68, 0x5721e9, 0x57186b, 0x570eee, 0x570572,
+ 0x56fbf8, 0x56f27e, 0x56e906, 0x56df90, 0x56d61a, 0x56cca6, 0x56c333, 0x56b9c1,
+ 0x56b051, 0x56a6e2, 0x569d74, 0x569407, 0x568a9b, 0x568131, 0x5677c8, 0x566e60,
+ 0x5664fa, 0x565b95, 0x565231, 0x5648ce, 0x563f6c, 0x56360c, 0x562cad, 0x56234f,
+ 0x5619f2, 0x561097, 0x56073c, 0x55fde3, 0x55f48c, 0x55eb35, 0x55e1e0, 0x55d88c,
+ 0x55cf39, 0x55c5e7, 0x55bc97, 0x55b347, 0x55a9f9, 0x55a0ad, 0x559761, 0x558e17,
+ 0x5584cd, 0x557b86, 0x55723f, 0x5568f9, 0x555fb5, 0x555672, 0x554d30, 0x5543ef,
+ 0x553ab0, 0x553171, 0x552834, 0x551ef8, 0x5515be, 0x550c84, 0x55034c, 0x54fa15,
+ 0x54f0df, 0x54e7aa, 0x54de77, 0x54d544, 0x54cc13, 0x54c2e3, 0x54b9b4, 0x54b087,
+ 0x54a75a, 0x549e2f, 0x549505, 0x548bdc, 0x5482b5, 0x54798e, 0x547069, 0x546745,
+ 0x545e22, 0x545500, 0x544be0, 0x5442c0, 0x5439a2, 0x543085, 0x542769, 0x541e4f,
+ 0x541535, 0x540c1d, 0x540306, 0x53f9f0, 0x53f0db, 0x53e7c7, 0x53deb5, 0x53d5a3,
+ 0x53cc93, 0x53c384, 0x53ba76, 0x53b169, 0x53a85e, 0x539f54, 0x53964a, 0x538d42,
+ 0x53843b, 0x537b36, 0x537231, 0x53692e, 0x53602b, 0x53572a, 0x534e2a, 0x53452b,
+ 0x533c2e, 0x533331, 0x532a36, 0x53213b, 0x531842, 0x530f4a, 0x530654, 0x52fd5e,
+ 0x52f469, 0x52eb76, 0x52e284, 0x52d993, 0x52d0a3, 0x52c7b4, 0x52bec6, 0x52b5d9,
+ 0x52acee, 0x52a404, 0x529b1b, 0x529233, 0x52894c, 0x528066, 0x527781, 0x526e9e,
+ 0x5265bb, 0x525cda, 0x5253fa, 0x524b1b, 0x52423d, 0x523960, 0x523084, 0x5227aa,
+ 0x521ed0, 0x5215f8, 0x520d21, 0x52044b, 0x51fb76, 0x51f2a2, 0x51e9cf, 0x51e0fe,
+ 0x51d82d, 0x51cf5e, 0x51c68f, 0x51bdc2, 0x51b4f6, 0x51ac2b, 0x51a361, 0x519a98,
+ 0x5191d1, 0x51890a, 0x518045, 0x517780, 0x516ebd, 0x5165fb, 0x515d3a, 0x51547a,
+ 0x514bbb, 0x5142fd, 0x513a41, 0x513185, 0x5128cb, 0x512011, 0x511759, 0x510ea2,
+ 0x5105ec, 0x50fd36, 0x50f483, 0x50ebd0, 0x50e31e, 0x50da6d, 0x50d1be, 0x50c90f,
+ 0x50c062, 0x50b7b5, 0x50af0a, 0x50a660, 0x509db7, 0x50950f, 0x508c68, 0x5083c2,
+ 0x507b1d, 0x507279, 0x5069d7, 0x506135, 0x505894, 0x504ff5, 0x504757, 0x503eb9,
+ 0x50361d, 0x502d82, 0x5024e8, 0x501c4f, 0x5013b7, 0x500b20, 0x50028a, 0x4ff9f5,
+ 0x4ff162, 0x4fe8cf, 0x4fe03d, 0x4fd7ad, 0x4fcf1d, 0x4fc68f, 0x4fbe01, 0x4fb575,
+ 0x4facea, 0x4fa460, 0x4f9bd7, 0x4f934e, 0x4f8ac7, 0x4f8241, 0x4f79bc, 0x4f7139,
+ 0x4f68b6, 0x4f6034, 0x4f57b3, 0x4f4f33, 0x4f46b5, 0x4f3e37, 0x4f35bb, 0x4f2d3f,
+ 0x4f24c5, 0x4f1c4b, 0x4f13d3, 0x4f0b5b, 0x4f02e5, 0x4efa70, 0x4ef1fb, 0x4ee988,
+ 0x4ee116, 0x4ed8a5, 0x4ed035, 0x4ec7c6, 0x4ebf58, 0x4eb6ea, 0x4eae7e, 0x4ea613,
+ 0x4e9daa, 0x4e9541, 0x4e8cd9, 0x4e8472, 0x4e7c0c, 0x4e73a7, 0x4e6b43, 0x4e62e1,
+ 0x4e5a7f, 0x4e521e, 0x4e49be, 0x4e4160, 0x4e3902, 0x4e30a5, 0x4e284a, 0x4e1fef,
+ 0x4e1796, 0x4e0f3d, 0x4e06e5, 0x4dfe8f, 0x4df639, 0x4dede5, 0x4de591, 0x4ddd3f,
+ 0x4dd4ed, 0x4dcc9d, 0x4dc44d, 0x4dbbff, 0x4db3b1, 0x4dab65, 0x4da319, 0x4d9acf,
+ 0x4d9285, 0x4d8a3d, 0x4d81f5, 0x4d79af, 0x4d7169, 0x4d6925, 0x4d60e2, 0x4d589f,
+ 0x4d505e, 0x4d481d, 0x4d3fde, 0x4d379f, 0x4d2f62, 0x4d2725, 0x4d1eea, 0x4d16af,
+ 0x4d0e76, 0x4d063d, 0x4cfe05, 0x4cf5cf, 0x4ced99, 0x4ce565, 0x4cdd31, 0x4cd4fe,
+ 0x4ccccd, 0x4cc49c, 0x4cbc6c, 0x4cb43e, 0x4cac10, 0x4ca3e3, 0x4c9bb8, 0x4c938d,
+ 0x4c8b63, 0x4c833a, 0x4c7b12, 0x4c72eb, 0x4c6ac6, 0x4c62a1, 0x4c5a7d, 0x4c525a,
+ 0x4c4a38, 0x4c4217, 0x4c39f7, 0x4c31d7, 0x4c29b9, 0x4c219c, 0x4c1980, 0x4c1165,
+ 0x4c094b, 0x4c0131, 0x4bf919, 0x4bf102, 0x4be8eb, 0x4be0d6, 0x4bd8c1, 0x4bd0ae,
+ 0x4bc89b, 0x4bc089, 0x4bb879, 0x4bb069, 0x4ba85a, 0x4ba04d, 0x4b9840, 0x4b9034,
+ 0x4b8829, 0x4b801f, 0x4b7816, 0x4b700e, 0x4b6807, 0x4b6001, 0x4b57fc, 0x4b4ff7,
+ 0x4b47f4, 0x4b3ff2, 0x4b37f0, 0x4b2ff0, 0x4b27f0, 0x4b1ff2, 0x4b17f4, 0x4b0ff7,
+ 0x4b07fc, 0x4b0001, 0x4af807, 0x4af00e, 0x4ae816, 0x4ae01f, 0x4ad829, 0x4ad034,
+ 0x4ac83f, 0x4ac04c, 0x4ab85a, 0x4ab068, 0x4aa878, 0x4aa088, 0x4a989a, 0x4a90ac,
+ 0x4a88bf, 0x4a80d3, 0x4a78e8, 0x4a70fe, 0x4a6915, 0x4a612d, 0x4a5946, 0x4a5160,
+ 0x4a497a, 0x4a4196, 0x4a39b2, 0x4a31d0, 0x4a29ee, 0x4a220d, 0x4a1a2d, 0x4a124f,
+ 0x4a0a71, 0x4a0294, 0x49fab7, 0x49f2dc, 0x49eb02, 0x49e328, 0x49db50, 0x49d378,
+ 0x49cba2, 0x49c3cc, 0x49bbf7, 0x49b423, 0x49ac50, 0x49a47e, 0x499cad, 0x4994dd,
+ 0x498d0d, 0x49853f, 0x497d71, 0x4975a5, 0x496dd9, 0x49660e, 0x495e44, 0x49567b,
+ 0x494eb3, 0x4946ec, 0x493f25, 0x493760, 0x492f9b, 0x4927d8, 0x492015, 0x491853,
+ 0x491092, 0x4908d2, 0x490113, 0x48f955, 0x48f198, 0x48e9db, 0x48e21f, 0x48da65,
+ 0x48d2ab, 0x48caf2, 0x48c33a, 0x48bb83, 0x48b3cd, 0x48ac18, 0x48a463, 0x489cb0,
+ 0x4894fd, 0x488d4b, 0x48859a, 0x487dea, 0x48763b, 0x486e8d, 0x4866df, 0x485f33,
+ 0x485787, 0x484fdd, 0x484833, 0x48408a, 0x4838e2, 0x48313b, 0x482994, 0x4821ef,
+ 0x481a4a, 0x4812a6, 0x480b04, 0x480362, 0x47fbc1, 0x47f420, 0x47ec81, 0x47e4e3,
+ 0x47dd45, 0x47d5a8, 0x47ce0c, 0x47c672, 0x47bed7, 0x47b73e, 0x47afa6, 0x47a80e,
+ 0x47a078, 0x4798e2, 0x47914d, 0x4789b9, 0x478226, 0x477a93, 0x477302, 0x476b71,
+ 0x4763e2, 0x475c53, 0x4754c5, 0x474d37, 0x4745ab, 0x473e20, 0x473695, 0x472f0b,
+ 0x472783, 0x471ffa, 0x471873, 0x4710ed, 0x470968, 0x4701e3, 0x46fa5f, 0x46f2dc,
+ 0x46eb5a, 0x46e3d9, 0x46dc59, 0x46d4d9, 0x46cd5a, 0x46c5dd, 0x46be60, 0x46b6e4,
+ 0x46af68, 0x46a7ee, 0x46a074, 0x4698fb, 0x469184, 0x468a0c, 0x468296, 0x467b21,
+ 0x4673ac, 0x466c39, 0x4664c6, 0x465d54, 0x4655e3, 0x464e72, 0x464703, 0x463f94,
+ 0x463826, 0x4630b9, 0x46294d, 0x4621e2, 0x461a77, 0x46130e, 0x460ba5, 0x46043d,
+ 0x45fcd6, 0x45f56f, 0x45ee0a, 0x45e6a5, 0x45df41, 0x45d7de, 0x45d07c, 0x45c91a,
+ 0x45c1ba, 0x45ba5a, 0x45b2fb, 0x45ab9d, 0x45a440, 0x459ce4, 0x459588, 0x458e2d,
+ 0x4586d3, 0x457f7a, 0x457822, 0x4570ca, 0x456974, 0x45621e, 0x455ac9, 0x455374,
+ 0x454c21, 0x4544ce, 0x453d7d, 0x45362c, 0x452edb, 0x45278c, 0x45203e, 0x4518f0,
+ 0x4511a3, 0x450a57, 0x45030c, 0x44fbc1, 0x44f477, 0x44ed2e, 0x44e5e6, 0x44de9f,
+ 0x44d759, 0x44d013, 0x44c8ce, 0x44c18a, 0x44ba47, 0x44b305, 0x44abc3, 0x44a482,
+ 0x449d42, 0x449603, 0x448ec5, 0x448787, 0x44804a, 0x44790e, 0x4471d3, 0x446a99,
+ 0x44635f, 0x445c26, 0x4454ee, 0x444db7, 0x444681, 0x443f4b, 0x443816, 0x4430e2,
+ 0x4429af, 0x44227c, 0x441b4b, 0x44141a, 0x440cea, 0x4405ba, 0x43fe8c, 0x43f75e,
+ 0x43f031, 0x43e905, 0x43e1da, 0x43daaf, 0x43d385, 0x43cc5c, 0x43c534, 0x43be0d,
+ 0x43b6e6, 0x43afc0, 0x43a89b, 0x43a177, 0x439a54, 0x439331, 0x438c0f, 0x4384ee,
+ 0x437dcd, 0x4376ae, 0x436f8f, 0x436871, 0x436154, 0x435a37, 0x43531b, 0x434c00,
+ 0x4344e6, 0x433dcd, 0x4336b4, 0x432f9c, 0x432885, 0x43216f, 0x431a5a, 0x431345,
+ 0x430c31, 0x43051e, 0x42fe0b, 0x42f6f9, 0x42efe9, 0x42e8d8, 0x42e1c9, 0x42daba,
+ 0x42d3ad, 0x42cca0, 0x42c593, 0x42be88, 0x42b77d, 0x42b073, 0x42a96a, 0x42a261,
+ 0x429b59, 0x429452, 0x428d4c, 0x428647, 0x427f42, 0x42783e, 0x42713b, 0x426a39,
+ 0x426337, 0x425c36, 0x425536, 0x424e37, 0x424738, 0x42403a, 0x42393d, 0x423241,
+ 0x422b45, 0x42244a, 0x421d50, 0x421657, 0x420f5e, 0x420866, 0x42016f, 0x41fa79,
+ 0x41f383, 0x41ec8e, 0x41e59a, 0x41dea7, 0x41d7b4, 0x41d0c2, 0x41c9d1, 0x41c2e1,
+ 0x41bbf1, 0x41b503, 0x41ae14, 0x41a727, 0x41a03a, 0x41994e, 0x419263, 0x418b79,
+ 0x41848f, 0x417da6, 0x4176be, 0x416fd7, 0x4168f0, 0x41620a, 0x415b25, 0x415440,
+ 0x414d5c, 0x414679, 0x413f97, 0x4138b6, 0x4131d5, 0x412af5, 0x412415, 0x411d37,
+ 0x411659, 0x410f7c, 0x41089f, 0x4101c3, 0x40fae9, 0x40f40e, 0x40ed35, 0x40e65c,
+ 0x40df84, 0x40d8ad, 0x40d1d6, 0x40cb00, 0x40c42b, 0x40bd57, 0x40b683, 0x40afb0,
+ 0x40a8de, 0x40a20c, 0x409b3b, 0x40946b, 0x408d9c, 0x4086cd, 0x408000, 0x407932,
+ 0x407266, 0x406b9a, 0x4064cf, 0x405e05, 0x40573b, 0x405072, 0x4049aa, 0x4042e3,
+ 0x403c1c, 0x403556, 0x402e91, 0x4027cc, 0x402109, 0x401a45, 0x401383, 0x400cc1,
+ 0x400600, 0x3fff40, 0x3ff880, 0x3ff1c2, 0x3feb03, 0x3fe446, 0x3fdd89, 0x3fd6cd,
+ 0x3fd012, 0x3fc957, 0x3fc29d, 0x3fbbe4, 0x3fb52c, 0x3fae74, 0x3fa7bd, 0x3fa107,
+ 0x3f9a51, 0x3f939c, 0x3f8ce8, 0x3f8634, 0x3f7f81, 0x3f78cf, 0x3f721e, 0x3f6b6d,
+ 0x3f64bd, 0x3f5e0e, 0x3f575f, 0x3f50b1, 0x3f4a04, 0x3f4357, 0x3f3cac, 0x3f3601,
+ 0x3f2f56, 0x3f28ac, 0x3f2203, 0x3f1b5b, 0x3f14b3, 0x3f0e0c, 0x3f0766, 0x3f00c1,
+ 0x3efa1c, 0x3ef377, 0x3eecd4, 0x3ee631, 0x3edf8f, 0x3ed8ee, 0x3ed24d, 0x3ecbad,
+ 0x3ec50e, 0x3ebe6f, 0x3eb7d1, 0x3eb134, 0x3eaa97, 0x3ea3fb, 0x3e9d60, 0x3e96c6,
+ 0x3e902c, 0x3e8993, 0x3e82fa, 0x3e7c62, 0x3e75cb, 0x3e6f35, 0x3e689f, 0x3e620a,
+ 0x3e5b76, 0x3e54e2, 0x3e4e4f, 0x3e47bd, 0x3e412b, 0x3e3a9a, 0x3e340a, 0x3e2d7a,
+ 0x3e26eb, 0x3e205d, 0x3e19cf, 0x3e1342, 0x3e0cb6, 0x3e062b, 0x3dffa0, 0x3df916,
+ 0x3df28c, 0x3dec03, 0x3de57b, 0x3ddef4, 0x3dd86d, 0x3dd1e7, 0x3dcb61, 0x3dc4dc,
+ 0x3dbe58, 0x3db7d5, 0x3db152, 0x3daad0, 0x3da44f, 0x3d9dce, 0x3d974e, 0x3d90ce,
+ 0x3d8a4f, 0x3d83d1, 0x3d7d54, 0x3d76d7, 0x3d705b, 0x3d69e0, 0x3d6365, 0x3d5ceb,
+ 0x3d5671, 0x3d4ff9, 0x3d4980, 0x3d4309, 0x3d3c92, 0x3d361c, 0x3d2fa7, 0x3d2932,
+ 0x3d22be, 0x3d1c4a, 0x3d15d7, 0x3d0f65, 0x3d08f4, 0x3d0283, 0x3cfc13, 0x3cf5a3,
+ 0x3cef34, 0x3ce8c6, 0x3ce259, 0x3cdbec, 0x3cd57f, 0x3ccf14, 0x3cc8a9, 0x3cc23f,
+ 0x3cbbd5, 0x3cb56c, 0x3caf04, 0x3ca89c, 0x3ca235, 0x3c9bcf, 0x3c9569, 0x3c8f04,
+ 0x3c889f, 0x3c823c, 0x3c7bd8, 0x3c7576, 0x3c6f14, 0x3c68b3, 0x3c6253, 0x3c5bf3,
+ 0x3c5593, 0x3c4f35, 0x3c48d7, 0x3c427a, 0x3c3c1d, 0x3c35c1, 0x3c2f66, 0x3c290b,
+ 0x3c22b1, 0x3c1c57, 0x3c15ff, 0x3c0fa7, 0x3c094f, 0x3c02f8, 0x3bfca2, 0x3bf64c,
+ 0x3beff7, 0x3be9a3, 0x3be34f, 0x3bdcfc, 0x3bd6aa, 0x3bd058, 0x3bca07, 0x3bc3b7,
+ 0x3bbd67, 0x3bb718, 0x3bb0c9, 0x3baa7b, 0x3ba42e, 0x3b9de1, 0x3b9795, 0x3b914a,
+ 0x3b8aff, 0x3b84b5, 0x3b7e6c, 0x3b7823, 0x3b71db, 0x3b6b93, 0x3b654c, 0x3b5f06,
+ 0x3b58c0, 0x3b527b, 0x3b4c36, 0x3b45f3, 0x3b3faf, 0x3b396d, 0x3b332b, 0x3b2cea,
+ 0x3b26a9, 0x3b2069, 0x3b1a2a, 0x3b13eb, 0x3b0dad, 0x3b076f, 0x3b0132, 0x3afaf6,
+ 0x3af4ba, 0x3aee7f, 0x3ae845, 0x3ae20b, 0x3adbd2, 0x3ad599, 0x3acf61, 0x3ac92a,
+ 0x3ac2f3, 0x3abcbd, 0x3ab688, 0x3ab053, 0x3aaa1f, 0x3aa3eb, 0x3a9db8, 0x3a9786,
+ 0x3a9154, 0x3a8b23, 0x3a84f2, 0x3a7ec2, 0x3a7893, 0x3a7264, 0x3a6c36, 0x3a6609,
+ 0x3a5fdc, 0x3a59b0, 0x3a5384, 0x3a4d59, 0x3a472f, 0x3a4105, 0x3a3adc, 0x3a34b4,
+ 0x3a2e8c, 0x3a2864, 0x3a223e, 0x3a1c18, 0x3a15f2, 0x3a0fcd, 0x3a09a9, 0x3a0385,
+ 0x39fd62, 0x39f740, 0x39f11e, 0x39eafd, 0x39e4dc, 0x39debc, 0x39d89d, 0x39d27e,
+ 0x39cc60, 0x39c642, 0x39c025, 0x39ba09, 0x39b3ed, 0x39add2, 0x39a7b7, 0x39a19d,
+ 0x399b84, 0x39956b, 0x398f53, 0x39893b, 0x398324, 0x397d0e, 0x3976f8, 0x3970e3,
+ 0x396ace, 0x3964ba, 0x395ea7, 0x395894, 0x395282, 0x394c70, 0x39465f, 0x39404f,
+ 0x393a3f, 0x393430, 0x392e21, 0x392813, 0x392206, 0x391bf9, 0x3915ed, 0x390fe1,
+ 0x3909d6, 0x3903cb, 0x38fdc1, 0x38f7b8, 0x38f1af, 0x38eba7, 0x38e5a0, 0x38df99,
+ 0x38d993, 0x38d38d, 0x38cd88, 0x38c783, 0x38c17f, 0x38bb7c, 0x38b579, 0x38af77,
+ 0x38a975, 0x38a374, 0x389d73, 0x389774, 0x389174, 0x388b76, 0x388577, 0x387f7a,
+ 0x38797d, 0x387381, 0x386d85, 0x38678a, 0x38618f, 0x385b95, 0x38559b, 0x384fa2,
+ 0x3849aa, 0x3843b2, 0x383dbb, 0x3837c5, 0x3831cf, 0x382bd9, 0x3825e4, 0x381ff0,
+ 0x3819fd, 0x381409, 0x380e17, 0x380825, 0x380234, 0x37fc43, 0x37f653, 0x37f063,
+ 0x37ea74, 0x37e485, 0x37de97, 0x37d8aa, 0x37d2bd, 0x37ccd1, 0x37c6e5, 0x37c0fa,
+ 0x37bb10, 0x37b526, 0x37af3d, 0x37a954, 0x37a36c, 0x379d84, 0x37979d, 0x3791b6,
+ 0x378bd0, 0x3785eb, 0x378006, 0x377a22, 0x37743e, 0x376e5b, 0x376879, 0x376297,
+ 0x375cb5, 0x3756d5, 0x3750f4, 0x374b15, 0x374535, 0x373f57, 0x373979, 0x37339b,
+ 0x372dbf, 0x3727e2, 0x372206, 0x371c2b, 0x371651, 0x371077, 0x370a9d, 0x3704c4,
+ 0x36feec, 0x36f914, 0x36f33d, 0x36ed66, 0x36e790, 0x36e1ba, 0x36dbe5, 0x36d611,
+ 0x36d03d, 0x36ca69, 0x36c497, 0x36bec4, 0x36b8f3, 0x36b321, 0x36ad51, 0x36a781,
+ 0x36a1b1, 0x369be2, 0x369614, 0x369046, 0x368a79, 0x3684ac, 0x367ee0, 0x367915,
+ 0x36734a, 0x366d7f, 0x3667b5, 0x3661ec, 0x365c23, 0x36565b, 0x365093, 0x364acc,
+ 0x364505, 0x363f3f, 0x363979, 0x3633b4, 0x362df0, 0x36282c, 0x362269, 0x361ca6,
+ 0x3616e4, 0x361122, 0x360b61, 0x3605a0, 0x35ffe0, 0x35fa20, 0x35f461, 0x35eea3,
+ 0x35e8e5, 0x35e328, 0x35dd6b, 0x35d7af, 0x35d1f3, 0x35cc38, 0x35c67d, 0x35c0c3,
+ 0x35bb09, 0x35b550, 0x35af98, 0x35a9e0, 0x35a429, 0x359e72, 0x3598bb, 0x359306,
+ 0x358d50, 0x35879c, 0x3581e8, 0x357c34, 0x357681, 0x3570ce, 0x356b1c, 0x35656b,
+ 0x355fba, 0x355a09, 0x355459, 0x354eaa, 0x3548fb, 0x35434d, 0x353d9f, 0x3537f2,
+ 0x353245, 0x352c99, 0x3526ee, 0x352143, 0x351b98, 0x3515ee, 0x351045, 0x350a9c
+};
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2008, The GROMACS development team.
- * Copyright (c) 2011,2014, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "units.h"
+
#include <stdio.h>
+
#include "gromacs/utility/cstringutil.h"
-#include "physics.h"
double convert2gmx(double x, int unit)
{
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-#ifndef _physics_h
-#define _physics_h
+#ifndef GMX_MATH_UNITS_H
+#define GMX_MATH_UNITS_H
/*
* Physical constants to be used in Gromacs.
* be anywhere else in the code.
*/
-#include "../math/utilities.h"
+#include "utilities.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-
-#endif /* _physics_h */
+#endif
#include <config.h>
#endif
+#include <assert.h>
#include <math.h>
#include <limits.h>
#ifdef HAVE__FINITE
#include <float.h>
#endif
-#include <assert.h>
int gmx_nint(real a)
{
{
if (x < 0)
{
- return (-pow(-x, 1.0/DIM));
+ return (-pow(-x, 1.0/3.0));
}
else
{
- return (pow(x, 1.0/DIM));
+ return (pow(x, 1.0/3.0));
}
}
conv.d = x;
- /* In release-4-6 and later branches, only the test for
- * GMX_IEEE754_BIG_ENDIAN_WORD_ORDER will be required. */
-#if defined(IEEE754_BIG_ENDIAN_WORD_ORDER) || defined(GMX_IEEE754_BIG_ENDIAN_WORD_ORDER)
+#ifdef GMX_IEEE754_BIG_ENDIAN_WORD_ORDER
hx = conv.i[0];
#else
hx = conv.i[1];
conv.d = x;
- /* In release-4-6 and later branches, only the test for
- * GMX_IEEE754_BIG_ENDIAN_WORD_ORDER will be required. */
-#if defined(IEEE754_BIG_ENDIAN_WORD_ORDER) || defined(GMX_IEEE754_BIG_ENDIAN_WORD_ORDER)
+#ifdef GMX_IEEE754_BIG_ENDIAN_WORD_ORDER
conv.i[1] = 0;
#else
conv.i[0] = 0;
conv.d = x;
- /* In release-4-6 and later branches, only the test for
- * GMX_IEEE754_BIG_ENDIAN_WORD_ORDER will be required. */
-#if defined(IEEE754_BIG_ENDIAN_WORD_ORDER) || defined(GMX_IEEE754_BIG_ENDIAN_WORD_ORDER)
+#ifdef GMX_IEEE754_BIG_ENDIAN_WORD_ORDER
hx = conv.i[0];
#else
hx = conv.i[1];
conv.d = x;
- /* In release-4-6 and later branches, only the test for
- * GMX_IEEE754_BIG_ENDIAN_WORD_ORDER will be required. */
-#if defined(IEEE754_BIG_ENDIAN_WORD_ORDER) || defined(GMX_IEEE754_BIG_ENDIAN_WORD_ORDER)
+#ifdef GMX_IEEE754_BIG_ENDIAN_WORD_ORDER
conv.i[1] = 0;
#else
conv.i[0] = 0;
gmx_bool gmx_isnan(real x)
{
- /* cppcheck-suppress duplicateExpression */
return x != x;
}
#include <limits.h>
#include <math.h>
-#include "../legacyheaders/types/simple.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
unsigned int
gmx_log2i(unsigned int x);
-/*! /brief Multiply two large ints
+/*! \brief Multiply two large ints
*
- * \return False iff overflow occured
+ * \return False iff overflow occured
*/
gmx_bool
check_int_multiply_for_overflow(gmx_int64_t a,
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _vec_h
-#define _vec_h
+#ifndef GMX_MATH_VEC_H
+#define GMX_MATH_VEC_H
/*
collection of in-line ready operations:
#include <config.h>
#endif
-#include "types/simple.h"
-#include "../math/utilities.h"
-#include "typedefs.h"
-#include "sysstuff.h"
-#include "gmx_fatal.h"
#include <math.h>
-#include "physics.h"
+
+#include "units.h"
+#include "utilities.h"
+#include "vectypes.h"
+
+#include "../utility/basedefinitions.h"
+#include "../utility/fatalerror.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#define EXP_ADDR(val) (((val)&EXP_MASK)>>EXP_SHIFT)
#define FRACT_ADDR(val) (((val)&(FRACT_MASK|EXP_LSB))>>FRACT_SHIFT)
-extern const unsigned int *gmx_invsqrt_exptab;
-extern const unsigned int *gmx_invsqrt_fracttab;
+extern const unsigned int gmx_invsqrt_exptab[];
+extern const unsigned int gmx_invsqrt_fracttab[];
typedef union
{
#endif
-#endif /* _vec_h */
+#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_MATH_VECTYPES_H
+#define GMX_MATH_VECTYPES_H
-#ifndef _shift_h
-#define _shift_h
+#include "../utility/real.h"
-#include "typedefs.h"
+#define XX 0 /* Defines for indexing in */
+#define YY 1 /* vectors */
+#define ZZ 2
+#define DIM 3 /* Dimension of vectors */
-#ifdef __cplusplus
-extern "C" {
-#endif
+typedef real rvec[DIM];
-real *mk_shift_tab(int n, real r1, real rc, real dr, real *sfac);
-/* Return a table of length n, containing the parabolic
- * shift function from HJC Berendsen
- */
+typedef double dvec[DIM];
-#ifdef __cplusplus
-}
-#endif
+typedef real matrix[DIM][DIM];
+
+typedef real tensor[DIM][DIM];
-#endif /* _shift_h */
+typedef int ivec[DIM];
+
+typedef int imatrix[DIM][DIM];
+
+#endif
#include "adress.h"
#include "gromacs/math/utilities.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "types/simple.h"
#include "typedefs.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
real
adress_weight(rvec x,
#include "types/simple.h"
#include "typedefs.h"
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+struct t_pbc;
+
/** \brief calculates the AdResS weight of a particle
*
* \param[in] x position of the particle
real adressr,
real adressw,
rvec * ref,
- t_pbc * pbc,
+ struct t_pbc * pbc,
t_forcerec * fr);
/** \brief update the weight of all coarse-grained particles in several charge groups for com vsites
rvec x[],
t_forcerec * fr,
t_mdatoms * mdatoms,
- t_pbc * pbc);
+ struct t_pbc * pbc);
/** \brief update the weight of all coarse-grained particles for cog vsites
*
rvec x[],
t_forcerec * fr,
t_mdatoms * mdatoms,
- t_pbc * pbc);
+ struct t_pbc * pbc);
/** \brief update the weight of all coarse-grained particles in several charge groups for atom vsites
*
rvec x[],
t_forcerec * fr,
t_mdatoms * mdatoms,
- t_pbc * pbc);
+ struct t_pbc * pbc);
/** \brief update the weight on per atom basis of all coarse-grained particles in several charge groups for atom vsites
*
rvec x[],
t_forcerec * fr,
t_mdatoms * mdatoms,
- t_pbc * pbc);
+ struct t_pbc * pbc);
/** \brief add AdResS IC thermodynamic force to f_novirsum
*
rvec f[],
t_forcerec * fr,
t_mdatoms * mdatoms,
- t_pbc * pbc);
+ struct t_pbc * pbc);
/** \brief checks weather a cpu calculates only coarse-grained or explicit interactions
* \return boolean if coarse-grained or not
*/
gmx_bool egp_coarsegrained(t_forcerec * fr, int egp_nr);
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
#include "typedefs.h"
#include "network.h"
-#include "vec.h"
-#include "physics.h"
-#include "main.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
#include "calcmu.h"
#include "gmx_omp_nthreads.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <config.h>
#endif
-#include "sysstuff.h"
#include "force.h"
-#include "vec.h"
-#include "mshift.h"
#include "macros.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+
+#define XXXX 0
+#define XXYY 1
+#define XXZZ 2
+#define YYXX 3
+#define YYYY 4
+#define YYZZ 5
+#define ZZXX 6
+#define ZZYY 7
+#define ZZZZ 8
+
static void upd_vir(rvec vir, real dvx, real dvy, real dvz)
{
vir[XX] -= 0.5*dvx;
#endif
#include <math.h>
-#include "main.h"
+#include <stdlib.h>
+
+#include "types/commrec.h"
#include "constr.h"
#include "copyrite.h"
-#include "physics.h"
-#include "vec.h"
-#include "pbc.h"
-#include "gromacs/utility/smalloc.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "mdrun.h"
#include "nrnb.h"
#include "domdec.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_omp_nthreads.h"
#include "gromacs/fileio/gmxfio.h"
-#include "gmx_fatal.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
int b0; /* first constraint for this thread */
#endif
#include <assert.h>
+#include <stdlib.h>
#include "gromacs/fileio/confio.h"
#include "types/commrec.h"
#include "constr.h"
#include "copyrite.h"
-#include "invblock.h"
-#include "main.h"
#include "mdrun.h"
#include "nrnb.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
#include "names.h"
#include "txtdump.h"
#include "domdec.h"
#include "gromacs/fileio/pdbio.h"
#include "splitter.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "gmx_omp_nthreads.h"
#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/pulling/pull.h"
-#include "gmx_fatal.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/invblock.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct gmx_constr {
int ncon_tot; /* The total number of constraints */
j, constr->nblocks, ncons);
for (i = 0; (i < ncons); i++)
{
- fprintf(stderr, "i: %5d sb[i].blocknr: %5u\n", i, sb[i].blocknr);
+ fprintf(stderr, "i: %5d sb[i].blocknr: %5d\n", i, sb[i].blocknr);
}
for (j = 0; (j <= constr->nblocks); j++)
{
#include "types/commrec.h"
#include "gromacs/utility/smalloc.h"
#include "update.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "names.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "txtdump.h"
#include "nrnb.h"
#include "gromacs/random/random.h"
#include <math.h>
#include <stdio.h>
-#include "vec.h"
+
#include "constr.h"
-#include "gmx_fatal.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
typedef struct
{
#include <assert.h>
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "gmx_fatal_collective.h"
-#include "vec.h"
+#include "network.h"
+#include "gromacs/math/vec.h"
#include "domdec.h"
#include "domdec_network.h"
#include "nrnb.h"
-#include "pbc.h"
#include "chargegroup.h"
#include "constr.h"
#include "mdatoms.h"
#include "mdrun.h"
#include "nsgrid.h"
#include "shellfc.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_ga2la.h"
#include "macros.h"
#include "nbnxn_search.h"
#include "gmx_omp_nthreads.h"
#include "gpu_utils.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/pdbio.h"
+#include "gromacs/imd/imd.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pulling/pull.h"
+#include "gromacs/pulling/pull_rotation.h"
+#include "gromacs/swap/swapcoords.h"
#include "gromacs/timing/wallcycle.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
-#include "gromacs/swap/swapcoords.h"
#include "gromacs/utility/qsort_threadsafe.h"
-#include "gromacs/pulling/pull.h"
-#include "gromacs/pulling/pull_rotation.h"
-#include "gromacs/imd/imd.h"
+#include "gromacs/utility/smalloc.h"
#define DDRANK(dd, rank) (rank)
#define DDMASTERRANK(dd) (dd->masterrank)
snew(grid_r, 2*dd->nnodes);
}
- dd_gather(dd, 2*sizeof(rvec), grid_s[0], DDMASTER(dd) ? grid_r[0] : NULL);
+ dd_gather(dd, 2*sizeof(rvec), grid_s, DDMASTER(dd) ? grid_r : NULL);
if (DDMASTER(dd))
{
#endif
#include "typedefs.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "types/commrec.h"
#include "domdec.h"
#include "domdec_network.h"
#include "nsgrid.h"
#include "network.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
static void calc_cgcm_av_stddev(t_block *cgs, int n, rvec *x, rvec av, rvec stddev,
t_commrec *cr_sum)
#endif
#include <assert.h>
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "constr.h"
#include "types/commrec.h"
#include "domdec.h"
#include "domdec_network.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_ga2la.h"
#include "gmx_hash.h"
#include "gmx_omp_nthreads.h"
#include "macros.h"
-#include "gmx_fatal.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
int nsend;
#include "types/commrec.h"
#include "network.h"
#include "perf_est.h"
-#include "physics.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "names.h"
/* Margin for setting up the DD grid */
#endif
#include <string.h>
+
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
#include "types/commrec.h"
#include "domdec.h"
#include "domdec_network.h"
#include "names.h"
#include "network.h"
-#include "vec.h"
-#include "pbc.h"
#include "chargegroup.h"
-#include "gromacs/gmxlib/topsort.h"
-#include "mtop_util.h"
-#include "mshift.h"
#include "vsite.h"
#include "gmx_ga2la.h"
#include "force.h"
#include "gmx_omp_nthreads.h"
-#include "gmx_fatal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/topology/topsort.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* for dd_init_local_state */
#define NITEM_DD_INIT_LOCAL_STATE 5
#include <math.h>
#include <string.h>
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "ebin.h"
-#include "main.h"
#include "gromacs/math/utilities.h"
-#include "vec.h"
-#include "physics.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
t_ebin *mk_ebin(void)
{
#include <config.h>
#endif
-#include <stdio.h>
#include <math.h>
+#include <stdio.h>
+#include <stdlib.h>
+
#include "typedefs.h"
#include "types/commrec.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "physics.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/units.h"
#include "coulomb.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/math/gmxcomplex.h"
#define TOL 2e-5
#include <config.h>
#endif
-#include <stdio.h>
#include <math.h>
+#include <stdio.h>
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "names.h"
#include "gromacs/fileio/confio.h"
#include "txtdump.h"
-#include "pbc.h"
#include "chargegroup.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
-#include "mshift.h"
#include "mdrun.h"
#include "update.h"
-#include "physics.h"
-#include "main.h"
+#include "gromacs/math/units.h"
#include "mdatoms.h"
#include "force.h"
#include "bondf.h"
#include "network.h"
#include "calcmu.h"
#include "constr.h"
-#include "xvgr.h"
#include "gromacs/random/random.h"
#include "domdec.h"
#include "macros.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/xtcio.h"
#include "gromacs/timing/wallcycle.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
static void init_df_history_weights(df_history_t *dfhist, t_expanded *expand, int nlim)
#include <config.h>
#endif
+#include <assert.h>
#include <math.h>
#include <string.h>
-#include <assert.h>
-#include "sysstuff.h"
+
#include "typedefs.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
-#include "macros.h"
-#include "physics.h"
#include "force.h"
#include "nonbonded.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "coulomb.h"
#include "pme.h"
#include "qmmm.h"
#include "gmx_omp_nthreads.h"
+#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/timing/wallcycle.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
void ns(FILE *fp,
t_forcerec *fr,
where();
*cycles_pme = 0;
+ clear_mat(fr->vir_el_recip);
+ clear_mat(fr->vir_lj_recip);
+
+ /* Do long-range electrostatics and/or LJ-PME, including related short-range
+ * corrections.
+ */
if (EEL_FULL(fr->eeltype) || EVDW_PME(fr->vdwtype))
{
- real Vlr = 0, Vcorr = 0;
- real dvdl_long_range = 0;
- int status = 0;
+ real Vlr = 0, Vcorr = 0;
+ real dvdl_long_range = 0;
+ int status = 0;
+ real Vlr_q = 0, Vlr_lj = 0, Vcorr_q = 0, Vcorr_lj = 0;
+ real dvdl_long_range_q = 0, dvdl_long_range_lj = 0;
bSB = (ir->nwall == 2);
if (bSB)
svmul(ir->wall_ewald_zfac, boxs[ZZ], boxs[ZZ]);
box_size[ZZ] *= ir->wall_ewald_zfac;
}
- }
-
- /* Do long-range electrostatics and/or LJ-PME, including related short-range
- * corrections.
- */
-
- clear_mat(fr->vir_el_recip);
- clear_mat(fr->vir_lj_recip);
-
- if (EEL_FULL(fr->eeltype) || EVDW_PME(fr->vdwtype))
- {
- real Vlr_q = 0, Vlr_lj = 0, Vcorr_q = 0, Vcorr_lj = 0;
- real dvdl_long_range_q = 0, dvdl_long_range_lj = 0;
- int status = 0;
if (EEL_PME_EWALD(fr->eeltype) || EVDW_PME(fr->vdwtype))
{
PRINT_SEPDVDL("Ewald excl. corr. LJ", Vcorr_lj, dvdl_long_range_correction_lj);
enerd->dvdl_lin[efptCOUL] += dvdl_long_range_correction_q;
enerd->dvdl_lin[efptVDW] += dvdl_long_range_correction_lj;
- }
- if ((EEL_PME(fr->eeltype) || EVDW_PME(fr->vdwtype)))
- {
- if (cr->duty & DUTY_PME)
+ if ((EEL_PME(fr->eeltype) || EVDW_PME(fr->vdwtype)) && (cr->duty & DUTY_PME))
{
/* Do reciprocal PME for Coulomb and/or LJ. */
assert(fr->n_tpi >= 0);
#include <config.h>
#endif
+#include <assert.h>
#include <math.h>
#include <string.h>
-#include <assert.h>
-#include "sysstuff.h"
+
#include "typedefs.h"
#include "types/commrec.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/math/utilities.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "gmx_fatal.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "force.h"
#include "tables.h"
#include "nonbonded.h"
-#include "invblock.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
-#include "mshift.h"
#include "txtdump.h"
#include "coulomb.h"
#include "md_support.h"
#include "domdec.h"
#include "qmmm.h"
#include "copyrite.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "nbnxn_simd.h"
#include "nbnxn_search.h"
#include "nbnxn_atomdata.h"
#include "gmx_detect_hardware.h"
#include "inputrec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#include "types/nbnxn_cuda_types_ext.h"
#include "gpu_utils.h"
#include "nbnxn_cuda_data_mgmt.h"
#include "typedefs.h"
#include "types/commrec.h"
-#include "gromacs/utility/smalloc.h"
#include "genborn.h"
-#include "vec.h"
#include "gromacs/fileio/pdbio.h"
#include "names.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "domdec.h"
#include "network.h"
-#include "gmx_fatal.h"
-#include "mtop_util.h"
-#include "pbc.h"
+#include "gromacs/topology/mtop_util.h"
#include "nrnb.h"
#include "bondf.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/smalloc.h"
#ifdef GMX_SIMD_X86_SSE2_OR_HIGHER
# ifdef GMX_DOUBLE
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "network.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "genborn.h"
#include "genborn_allvsall.h"
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "network.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "genborn.h"
#include "genborn_allvsall.h"
#include <math.h>
#include "types/simple.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "network.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "genborn.h"
#include "genborn_allvsall.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "genborn.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/pdbio.h"
#include "names.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "domdec.h"
#include "network.h"
-#include "gmx_fatal.h"
-#include "mtop_util.h"
+#include "gromacs/utility/fatalerror.h"
#include "genborn.h"
#include "gromacs/utility/gmxmpi.h"
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
#include "genborn.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/pdbio.h"
#include "names.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "domdec.h"
#include "network.h"
-#include "gmx_fatal.h"
-#include "mtop_util.h"
+#include "gromacs/utility/fatalerror.h"
#include "genborn.h"
#include "gromacs/utility/gmxmpi.h"
#include "groupcoord.h"
#include "network.h"
-#include "pbc.h"
-#include "vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "gmx_ga2la.h"
#include "typedefs.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
-#include "main.h"
+#include "gromacs/math/vec.h"
#include "mvdata.h"
-#include "gmx_fatal.h"
-#include "symtab.h"
+#include "gromacs/utility/fatalerror.h"
#include "txtdump.h"
#include "mdatoms.h"
#include "mdrun.h"
#include "names.h"
-#include "calcgrid.h"
#include "update.h"
#include "mdebin.h"
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <math.h>
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "mdrun.h"
#include "md_support.h"
#include "md_logging.h"
#endif
#include "typedefs.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/utility/smalloc.h"
#include "mdrun.h"
#include "domdec.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "vcm.h"
#include "nrnb.h"
#include "macros.h"
#include "md_support.h"
#include "names.h"
+#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/timing/wallcycle.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/smalloc.h"
/* Is the signal in one simulation independent of other simulations? */
gmx_bool gs_simlocal[eglsNR] = { TRUE, FALSE, FALSE, TRUE };
#include "typedefs.h"
#include "mdatoms.h"
#include "gromacs/utility/smalloc.h"
-#include "main.h"
#include "qmmm.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_omp_nthreads.h"
#define ALMOST_ZERO 1e-30
#include <config.h>
#endif
-#include <string.h>
#include <float.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "mdebin.h"
-#include "gromacs/utility/smalloc.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "gromacs/fileio/enxio.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "disre.h"
-#include "main.h"
#include "network.h"
#include "names.h"
#include "orires.h"
#include "constr.h"
-#include "mtop_util.h"
-#include "xvgr.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/fileio/xvgr.h"
#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "mdrun.h"
#include "mdebin_bar.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/smalloc.h"
static const char *conrmsd_nm[] = { "Constr. rmsd", "Constr.2 rmsd" };
if (Nsep > 1)
{
/* and add the closing parenthesis */
- str += sprintf(str, ")");
+ sprintf(str, ")");
}
}
#include <float.h>
#include <math.h>
#include "typedefs.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "mdebin.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/fileio/enxio.h"
#include <config.h>
#endif
+#include <math.h>
#include <string.h>
#include <time.h>
-#include <math.h>
-#include "sysstuff.h"
-#include "gromacs/utility/cstringutil.h"
+
#include "network.h"
-#include "gromacs/utility/smalloc.h"
#include "nrnb.h"
-#include "main.h"
#include "force.h"
#include "macros.h"
#include "names.h"
-#include "gmx_fatal.h"
#include "txtdump.h"
#include "typedefs.h"
#include "update.h"
#include "constr.h"
-#include "vec.h"
#include "tgroup.h"
#include "mdebin.h"
#include "vsite.h"
#include "domdec.h"
#include "mdatoms.h"
#include "ns.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "pme.h"
#include "bondf.h"
#include "gmx_omp_nthreads.h"
#include "md_logging.h"
#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/mtxio.h"
#include "gromacs/fileio/trajectory_writing.h"
-#include "gromacs/linearalgebra/mtxio.h"
+#include "gromacs/imd/imd.h"
+#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/linearalgebra/sparsematrix.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/timing/walltime_accounting.h"
-#include "gromacs/imd/imd.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
t_state s;
}
stepsize = 1.0/fnorm;
- converged = FALSE;
/* Start the loop over BFGS steps.
* Each successful step is counted, and we continue until
#include <config.h>
#endif
+#include <assert.h>
#include <math.h>
+#include <stdlib.h>
#include <string.h>
-#include <assert.h>
-#include "gromacs/utility/smalloc.h"
+
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nbnxn_consts.h"
#include "nbnxn_internal.h"
#include "nbnxn_atomdata.h"
#include "nbnxn_search.h"
-#include "gromacs/utility/gmxomp.h"
#include "gmx_omp_nthreads.h"
#include "thread_mpi/atomic.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
+
/* Default nbnxn allocation routine, allocates NBNXN_MEM_ALIGN byte aligned */
void nbnxn_alloc_aligned(void **ptr, size_t nbytes)
{
#include "types/simple.h"
#include "types/nbnxn_pairlist.h"
#include "types/nb_verlet.h"
-#include "types/ishift.h"
#include "types/force_flags.h"
#include "../nbnxn_consts.h"
#include "nbnxn_cuda.h"
#include "nbnxn_cuda_data_mgmt.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/utility/cstringutil.h"
+
#if defined TEXOBJ_SUPPORTED && __CUDA_ARCH__ >= 300
#define USE_TEXOBJ
#endif
if (devinfo->prop.major >= 3)
{
/* Default kernel on sm 3.x 48/16 kB Shared/L1 */
- stat = cudaFuncSetCacheConfig(nb_kfunc_ener_prune_ptr[i][j], cudaFuncCachePreferShared);
- stat = cudaFuncSetCacheConfig(nb_kfunc_ener_noprune_ptr[i][j], cudaFuncCachePreferShared);
- stat = cudaFuncSetCacheConfig(nb_kfunc_noener_prune_ptr[i][j], cudaFuncCachePreferShared);
+ cudaFuncSetCacheConfig(nb_kfunc_ener_prune_ptr[i][j], cudaFuncCachePreferShared);
+ cudaFuncSetCacheConfig(nb_kfunc_ener_noprune_ptr[i][j], cudaFuncCachePreferShared);
+ cudaFuncSetCacheConfig(nb_kfunc_noener_prune_ptr[i][j], cudaFuncCachePreferShared);
stat = cudaFuncSetCacheConfig(nb_kfunc_noener_noprune_ptr[i][j], cudaFuncCachePreferShared);
}
else
{
/* On Fermi prefer L1 gives 2% higher performance */
/* Default kernel on sm_2.x 16/48 kB Shared/L1 */
- stat = cudaFuncSetCacheConfig(nb_kfunc_ener_prune_ptr[i][j], cudaFuncCachePreferL1);
- stat = cudaFuncSetCacheConfig(nb_kfunc_ener_noprune_ptr[i][j], cudaFuncCachePreferL1);
- stat = cudaFuncSetCacheConfig(nb_kfunc_noener_prune_ptr[i][j], cudaFuncCachePreferL1);
+ cudaFuncSetCacheConfig(nb_kfunc_ener_prune_ptr[i][j], cudaFuncCachePreferL1);
+ cudaFuncSetCacheConfig(nb_kfunc_ener_noprune_ptr[i][j], cudaFuncCachePreferL1);
+ cudaFuncSetCacheConfig(nb_kfunc_noener_prune_ptr[i][j], cudaFuncCachePreferL1);
stat = cudaFuncSetCacheConfig(nb_kfunc_noener_noprune_ptr[i][j], cudaFuncCachePreferL1);
}
CU_RET_ERR(stat, "cudaFuncSetCacheConfig failed");
extern "C" {
#endif
-/*! Launch asynchronously the nonbonded force calculations.
+/*! \brief
+ * Launch asynchronously the nonbonded force calculations.
+ *
* This consists of the following (async) steps launched:
* - upload x and q;
* - upload shift vector;
int gmx_unused flags,
int gmx_unused iloc) FUNC_TERM
-/*! Launch asynchronously the download of nonbonded forces from the GPU
- * (and energies/shift forces if required).
+/*! \brief
+ * Launch asynchronously the download of nonbonded forces from the GPU
+ * (and energies/shift forces if required).
*/
void nbnxn_cuda_launch_cpyback(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const nbnxn_atomdata_t gmx_unused *nbatom,
int gmx_unused flags,
int gmx_unused aloc) FUNC_TERM
-/*! Wait for the asynchronously launched nonbonded calculations and data
- * transfers to finish.
+/*! \brief
+ * Wait for the asynchronously launched nonbonded calculations and data
+ * transfers to finish.
*/
void nbnxn_cuda_wait_gpu(nbnxn_cuda_ptr_t gmx_unused cu_nb,
const nbnxn_atomdata_t gmx_unused *nbatom,
#include <cuda.h>
-#include "gmx_fatal.h"
-#include "gromacs/utility/smalloc.h"
#include "tables.h"
#include "typedefs.h"
#include "types/enums.h"
#include "pmalloc_cuda.h"
#include "gpu_utils.h"
+#include "gromacs/pbcutil/ishift.h"
#include "gromacs/utility/common.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static bool bUseCudaEventBlockingSync = false; /* makes the CPU thread block */
*/
#include "gromacs/math/utilities.h"
+#include "gromacs/pbcutil/ishift.h"
/* Note that floating-point constants in CUDA code should be suffixed
* with f (e.g. 0.5f), to stop the compiler producing intermediate
* code that is in double precision.
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <config.h>
#endif
+#include "gromacs/pbcutil/ishift.h"
+
#include "nbnxn_kernel_common.h"
static void
#include "../nbnxn_kernel_common.h"
#include "gmx_omp_nthreads.h"
#include "types/force_flags.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels
*/
#else /* {0} */
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#endif /* {0} */
#include <math.h>
#include "types/simple.h"
-#include "gromacs/math/utilities.h"
-#include "vec.h"
#include "typedefs.h"
#include "force.h"
+
+#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+
#include "nbnxn_kernel_gpu_ref.h"
#include "../nbnxn_consts.h"
#include "nbnxn_kernel_common.h"
#include <assert.h>
#include "typedefs.h"
-#include "vec.h"
-#include "gromacs/utility/smalloc.h"
#include "force.h"
#include "gmx_omp_nthreads.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/utility/smalloc.h"
+
#include "nbnxn_kernel_ref.h"
#include "../nbnxn_consts.h"
#include "nbnxn_kernel_common.h"
#undef HALF_LJ
#undef CALC_COULOMB
}
- /* cppcheck-suppress duplicateBranch */
else if (do_coul)
{
#define CALC_COULOMB
#undef HALF_LJ
#undef CALC_COULOMB
}
- /* cppcheck-suppress duplicateBranch */
else if (do_coul)
{
#define CALC_COULOMB
#include "../nbnxn_kernel_common.h"
#include "gmx_omp_nthreads.h"
#include "types/force_flags.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels
*/
#else /* GMX_NBNXN_SIMD_2XNN */
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#endif /* GMX_NBNXN_SIMD_2XNN */
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/pbcutil/ishift.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/simd_math.h"
#include "gromacs/simd/vector_operations.h"
#include "../nbnxn_kernel_common.h"
#include "gmx_omp_nthreads.h"
#include "types/force_flags.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/*! \brief Kinds of electrostatic treatments in SIMD Verlet kernels
*/
#else /* GMX_NBNXN_SIMD_4XN */
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#endif /* GMX_NBNXN_SIMD_4XN */
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/pbcutil/ishift.h"
#include "gromacs/simd/simd.h"
#include "gromacs/simd/simd_math.h"
#include "gromacs/simd/vector_operations.h"
#include <string.h>
#include <assert.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "types/commrec.h"
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "vec.h"
-#include "pbc.h"
+#include "gromacs/math/vec.h"
#include "nbnxn_consts.h"
/* nbnxn_internal.h included gromacs/simd/macros.h */
#include "nbnxn_internal.h"
#include "nrnb.h"
#include "ns.h"
-#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/smalloc.h"
#ifdef NBNXN_SEARCH_BB_SIMD4
/* Always use 4-wide SIMD for bounding box calculations */
int cxy_start, int cxy_end,
int *sort_work)
{
- int cxy;
- int cx, cy, cz = -1, c = -1, ncz;
- int na, ash, na_c, ind, a;
- int subdiv_z, sub_z, na_z, ash_z;
- int subdiv_y, sub_y, na_y, ash_y;
- int subdiv_x, sub_x, na_x, ash_x;
+ int cxy;
+ int cx, cy, cz = -1, c = -1, ncz;
+ int na, ash, na_c, ind, a;
+ int subdiv_z, sub_z, na_z, ash_z;
+ int subdiv_y, sub_y, na_y, ash_y;
+ int subdiv_x, sub_x, na_x, ash_x;
- /* cppcheck-suppress unassignedVariable */
nbnxn_bb_t bb_work_array[2], *bb_work_aligned;
bb_work_aligned = (nbnxn_bb_t *)(((size_t)(bb_work_array+1)) & (~((size_t)15)));
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "typedefs.h"
#include "types/nlistheuristics.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
void reset_nlistheuristics(gmx_nlheur_t *nlh, gmx_int64_t step)
{
#endif
#include <math.h>
+#include <stdlib.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
+
#include "macros.h"
#include "gromacs/math/utilities.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "types/commrec.h"
#include "network.h"
#include "nsgrid.h"
#include "force.h"
#include "nonbonded.h"
#include "ns.h"
-#include "pbc.h"
#include "names.h"
-#include "gmx_fatal.h"
#include "nrnb.h"
#include "txtdump.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "domdec.h"
#include "adress.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/*
* E X C L U S I O N H A N D L I N G
gmx_ns_t *ns;
atom_id **nl_lr_ljc, **nl_lr_one, **nl_sr;
int *nlr_ljc, *nlr_one, *nsr;
- gmx_domdec_t *dd = NULL;
+ gmx_domdec_t *dd;
t_block *cgs = &(top->cgs);
int *cginfo = fr->cginfo;
/* atom_id *i_atoms,*cgsindex=cgs->index; */
ns = &fr->ns;
bDomDec = DOMAINDECOMP(cr);
- if (bDomDec)
- {
- dd = cr->dd;
- }
+ dd = cr->dd;
bTriclinicX = ((YY < grid->npbcdim &&
(!bDomDec || dd->nc[YY] == 1) && box[YY][XX] != 0) ||
#include <stdlib.h>
-#include "sysstuff.h"
#include "typedefs.h"
#include "types/commrec.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
#include "nsgrid.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "network.h"
#include "domdec.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include <stdio.h>
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
/***********************************
*/
/* Determine the shift for the corners of the triclinic box */
add_tric = izones_size[j]*box[j][i]/box[j][j];
- if (dd && dd->ndim == 1 && j == ZZ)
+ if (dd->ndim == 1 && j == ZZ)
{
/* With 1D domain decomposition the cg's are not in
* the triclinic box, but trilinic x-y and rectangular y-z.
#include <math.h>
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
+
#include "perf_est.h"
-#include "physics.h"
-#include "vec.h"
-#include "mtop_util.h"
#include "types/commrec.h"
#include "nbnxn_search.h"
#include "nbnxn_consts.h"
-
/* Computational cost of bonded, non-bonded and PME calculations.
* This will be machine dependent.
* The numbers here are accurate for Intel Core2 and AMD Athlon 64
#include <config.h>
#endif
+#include <assert.h>
+#include <math.h>
#include <stdio.h>
+#include <stdlib.h>
#include <string.h>
-#include <math.h>
-#include <assert.h>
+
#include "typedefs.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "coulomb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "pme.h"
#include "network.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "nrnb.h"
#include "macros.h"
+#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/fft/parallel_3dfft.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/pdbio.h"
#include "gromacs/math/gmxcomplex.h"
#include "gromacs/timing/cyclecounter.h"
#include "typedefs.h"
#include "types/commrec.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/math/vec.h"
#include "pme.h"
#include "network.h"
#include "domdec.h"
#ifdef GMX_QMMM_GAMESS
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
-#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "force.h"
-#include "invblock.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "qmmm.h"
-#include <stdio.h>
-#include <string.h>
-#include "gmx_fatal.h"
-#include "typedefs.h"
-#include <stdlib.h>
+#include "gromacs/utility/fatalerror.h"
/* QMMM sub routines */
#ifdef GMX_QMMM_GAUSSIAN
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
-#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "force.h"
-#include "invblock.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "qmmm.h"
-#include <stdio.h>
-#include <string.h>
-#include "gmx_fatal.h"
-#include "typedefs.h"
-#include <stdlib.h>
+#include "gromacs/utility/fatalerror.h"
/* TODO: this should be made thread-safe */
#ifdef GMX_QMMM_MOPAC
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
-#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "force.h"
-#include "invblock.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "qmmm.h"
-#include <stdio.h>
-#include <string.h>
-#include "gmx_fatal.h"
-#include "typedefs.h"
-#include <stdlib.h>
+#include "gromacs/utility/fatalerror.h"
/* mopac interface routines */
#endif
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
-#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "force.h"
-#include "invblock.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "qmmm.h"
-#include <stdio.h>
-#include <string.h>
-#include "gmx_fatal.h"
-#include "typedefs.h"
-#include <stdlib.h>
+#include "gromacs/utility/fatalerror.h"
/* ORCA interface routines */
#endif
#include <math.h>
-#include "sysstuff.h"
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
#include "typedefs.h"
#include "types/commrec.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "force.h"
-#include "invblock.h"
#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
-#include "pbc.h"
#include "ns.h"
#include "nrnb.h"
#include "bondf.h"
-#include "mshift.h"
#include "txtdump.h"
#include "qmmm.h"
-#include <stdio.h>
-#include <string.h>
-#include "gmx_fatal.h"
#include "typedefs.h"
-#include <stdlib.h>
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
/* declarations of the interfaces to the QM packages. The _SH indicate
* the QM interfaces can be used for Surface Hopping simulations
#include <config.h>
#endif
-#include "sysstuff.h"
#include "typedefs.h"
#include "force.h"
#include "names.h"
-#include "vec.h"
-#include "physics.h"
#include "copyrite.h"
-#include "pbc.h"
+
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
real RF_excl_correction(const t_forcerec *fr, t_graph *g,
const t_mdatoms *mdatoms, const t_blocka *excl,
#endif
#include <math.h>
-#include "sysstuff.h"
+
#include "typedefs.h"
#include "gromacs/utility/smalloc.h"
-#include "pbc.h"
#include "txtdump.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
#include "constr.h"
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
+
#include "typedefs.h"
#include "types/commrec.h"
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "vec.h"
#include "txtdump.h"
#include "force.h"
#include "mdrun.h"
#include "names.h"
#include "constr.h"
#include "domdec.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "shellfc.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "chargegroup.h"
#include "macros.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
int nnucl;
#include "typedefs.h"
#include "gromacs/utility/cstringutil.h"
-#include "gromacs/utility/smalloc.h"
#include "names.h"
#include "txtdump.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "chargegroup.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "nrnb.h"
-#include "mshift.h"
#include "mdrun.h"
#include "sim_util.h"
#include "update.h"
-#include "physics.h"
-#include "main.h"
+#include "gromacs/math/units.h"
#include "mdatoms.h"
#include "force.h"
#include "bondf.h"
#include "network.h"
#include "calcmu.h"
#include "constr.h"
-#include "xvgr.h"
#include "copyrite.h"
#include "domdec.h"
#include "genborn.h"
#include "../gmxlib/nonbonded/nb_kernel.h"
#include "../gmxlib/nonbonded/nb_free_energy.h"
+#include "gromacs/legacyheaders/types/commrec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
#include "gromacs/timing/wallcycle.h"
#include "gromacs/timing/walltime_accounting.h"
#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/smalloc.h"
#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/pulling/pull_rotation.h"
#include <stdio.h>
#include "typedefs.h"
#include "types/commrec.h"
-#include "sysstuff.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "network.h"
#include "txtdump.h"
#include "names.h"
-#include "physics.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/math/utilities.h"
-#include "main.h"
#include "force.h"
#include "vcm.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "network.h"
#include "rbin.h"
#include "tgroup.h"
#include "domdec.h"
#include "constr.h"
#include "checkpoint.h"
-#include "xvgr.h"
#include "md_support.h"
#include "mdrun.h"
#include "sim_util.h"
#include "typedefs.h"
#include "names.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "gromacs/fileio/futil.h"
-#include "xvgr.h"
-#include "vec.h"
-#include "main.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
#include "network.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "force.h"
#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include <math.h>
#include "macros.h"
-#include "main.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "tgroup.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "network.h"
#include "update.h"
#include "rbin.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_omp_nthreads.h"
static void init_grptcstat(int ngtc, t_grp_tcstat tcstat[])
#include <config.h>
#endif
+#include <math.h>
+#include <stdlib.h>
#include <string.h>
#include <time.h>
-#include <math.h>
-#include "sysstuff.h"
+
#include "network.h"
#include "gromacs/utility/smalloc.h"
#include "nrnb.h"
-#include "main.h"
#include "chargegroup.h"
#include "force.h"
#include "macros.h"
#include "names.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "txtdump.h"
#include "typedefs.h"
#include "update.h"
#include "constr.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "tgroup.h"
#include "mdebin.h"
#include "vsite.h"
#include "mdrun.h"
#include "domdec.h"
#include "gromacs/random/random.h"
-#include "physics.h"
-#include "xvgr.h"
+#include "gromacs/math/units.h"
+#include "gromacs/fileio/xvgr.h"
#include "mdatoms.h"
#include "ns.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "pme.h"
#include "gromacs/gmxlib/conformation-utilities.h"
+#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/trxio.h"
#include <math.h>
#include "types/commrec.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "nrnb.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "macros.h"
-#include "vec.h"
-#include "main.h"
+#include "gromacs/math/vec.h"
#include "update.h"
#include "gromacs/random/random.h"
-#include "mshift.h"
#include "tgroup.h"
#include "force.h"
#include "names.h"
#include "gmx_omp_nthreads.h"
#include "gromacs/fileio/confio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/pulling/pull.h"
#include "gromacs/timing/wallcycle.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxomp.h"
-#include "gromacs/pulling/pull.h"
+#include "gromacs/utility/smalloc.h"
/*For debugging, start at v(-dt/2) for velolcity verlet -- uncomment next line */
/*#define STARTFROMDT2*/
#include "macros.h"
#include "vcm.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "names.h"
#include "txtdump.h"
#include "network.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
t_vcm *init_vcm(FILE *fp, gmx_groups_t *groups, t_inputrec *ir)
{
#endif
#include <stdio.h>
+
#include "typedefs.h"
+#include "types/commrec.h"
#include "vsite.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
#include "nrnb.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "network.h"
-#include "mshift.h"
-#include "pbc.h"
#include "domdec.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gmx_omp_nthreads.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/utility/gmxomp.h"
+#include "gromacs/utility/smalloc.h"
/* Routines to send/recieve coordinates and force
* of constructing atoms.
#include <math.h>
#include <string.h>
-#include "gromacs/math/utilities.h"
-#include "sysstuff.h"
+
#include "typedefs.h"
#include "macros.h"
-#include "gromacs/utility/smalloc.h"
#include "force.h"
-#include "gromacs/fileio/filenm.h"
#include "nrnb.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
+
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/math/utilities.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/smalloc.h"
void make_wall_tables(FILE *fplog, const output_env_t oenv,
const t_inputrec *ir, const char *tabfn,
#include "types/commrec.h"
#include "ns.h"
#include "nrnb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "names.h"
#include "domdec.h"
#include "gromacs/fileio/gmxfio.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "options/basicoptions.h"
#include "options/filenameoption.h"
+#include "options/filenameoptionmanager.h"
#include "options/options.h"
#endif
abstractoption.h
basicoptions.h
filenameoption.h
+ filenameoptionmanager.h
optionfiletype.h
optionflags.h
options.h
class AbstractOptionStorage;
template <typename T> class OptionStorageTemplate;
+class OptionManagerContainer;
class Options;
//! Smart pointer for managing an AbstractOptionStorage object.
/*! \brief
* Creates a default storage object for the option.
*
- * \returns The created storage object.
- * \throws APIError if invalid option settings have been provided.
+ * \param[in] managers Manager container (unused if the option does
+ * not use a manager).
+ * \returns The created storage object.
+ * \throws APIError if invalid option settings have been provided.
*
* This method is called by Options::addOption() when initializing an
* option from the settings.
*
* Should only be called by Options::addOption().
*/
- virtual AbstractOptionStoragePointer createStorage() const = 0;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const = 0;
//! Sets the description for the option.
void setDescription(const char *descr) { descr_ = descr; }
* BooleanOption
*/
-AbstractOptionStoragePointer BooleanOption::createStorage() const
+AbstractOptionStoragePointer
+BooleanOption::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new BooleanOptionStorage(*this));
}
* IntegerOption
*/
-AbstractOptionStoragePointer IntegerOption::createStorage() const
+AbstractOptionStoragePointer
+IntegerOption::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new IntegerOptionStorage(*this));
}
* Int64Option
*/
-AbstractOptionStoragePointer Int64Option::createStorage() const
+AbstractOptionStoragePointer
+Int64Option::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new Int64OptionStorage(*this));
}
* DoubleOption
*/
-AbstractOptionStoragePointer DoubleOption::createStorage() const
+AbstractOptionStoragePointer
+DoubleOption::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new DoubleOptionStorage(*this));
}
* FloatOption
*/
-AbstractOptionStoragePointer FloatOption::createStorage() const
+AbstractOptionStoragePointer
+FloatOption::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new FloatOptionStorage(*this));
}
* StringOption
*/
-AbstractOptionStoragePointer StringOption::createStorage() const
+AbstractOptionStoragePointer
+StringOption::createStorage(const OptionManagerContainer & /*managers*/) const
{
return AbstractOptionStoragePointer(new StringOptionStorage(*this));
}
#include <string>
-#include "../legacyheaders/types/simple.h"
+#include "../utility/basedefinitions.h"
#include "../utility/gmxassert.h"
#include "abstractoption.h"
private:
//! Creates a BooleanOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
};
/*! \brief
private:
//! Creates an IntegerOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
/*! \brief
* Needed to initialize IntegerOptionStorage from this class without
private:
//! Creates an Int64OptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
/*! \brief
* Needed to initialize Int64OptionStorage from this class without
private:
//! Creates a DoubleOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
bool bTime_;
private:
//! Creates a FloatOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
bool bTime_;
private:
//! Creates a StringOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
const char *const *enumValues_;
int enumValuesCount_;
#include "filenameoption.h"
#include "filenameoptionstorage.h"
+#include <cstring>
+
#include <string>
#include <vector>
#include "gromacs/fileio/filenm.h"
-
+#include "gromacs/options/filenameoptionmanager.h"
+#include "gromacs/options/optionmanagercontainer.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/file.h"
+#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
namespace gmx
namespace
{
-class FileTypeRegistry;
-
//! \addtogroup module_options
//! \{
-//! Shorthand for a list of file extensions.
-typedef std::vector<const char *> ExtensionList;
+/*! \brief
+ * Mapping from OptionFileType to a file type in filenm.h.
+ */
+struct FileTypeMapping
+{
+ //! OptionFileType value to map.
+ OptionFileType optionType;
+ //! Corresponding file type from filenm.h.
+ int fileType;
+};
+
+//! Mappings from OptionFileType to file types in filenm.h.
+const FileTypeMapping c_fileTypeMapping[] =
+{
+ { eftTopology, efTPS },
+ { eftTrajectory, efTRX },
+ { eftPDB, efPDB },
+ { eftIndex, efNDX },
+ { eftPlot, efXVG },
+ { eftGenericData, efDAT }
+};
+
+//! Extensions that are recognized as compressed files.
+const char *const c_compressedExtensions[] =
+{ ".gz", ".Z" };
/********************************************************************
* FileTypeHandler
*/
-/*! \internal \brief
+/*! \internal
+ * \brief
* Handles a single file type known to FileNameOptionStorage.
+ *
+ * Methods in this class do not throw, except for a possible std::bad_alloc
+ * when constructing std::string return values.
*/
class FileTypeHandler
{
public:
- //! Returns the list of extensions for this file type.
- const ExtensionList &extensions() const { return extensions_; }
+ /*! \brief
+ * Returns a handler for a single file type.
+ *
+ * \param[in] fileType File type (from filenm.h) to use.
+ */
+ explicit FileTypeHandler(int fileType);
+
+ //! Returns the number of acceptable extensions for this file type.
+ int extensionCount() const;
+ //! Returns the extension with the given index.
+ const char *extension(int i) const;
//! Returns whether \p filename has a valid extension for this type.
bool hasKnownExtension(const std::string &filename) const;
std::string findFileWithExtension(const std::string &filename) const;
private:
- //! Possible extensions for this file type.
- ExtensionList extensions_;
-
/*! \brief
- * Needed for initialization; all initialization is handled by
- * FileTypeRegistry.
+ * File type (from filenm.h) represented by this handler.
+ *
+ * -1 represents an unknown file type.
*/
- friend class FileTypeRegistry;
+ int fileType_;
+ //! Number of different extensions this type supports.
+ int extensionCount_;
+ /*! \brief
+ * List of simple file types that are included in this type.
+ *
+ * If `fileType_` represents a generic type in filenm.h, i.e., a type
+ * that accepts multiple different types of files, then this is an
+ * array of `extensionCount_` elements, each element specifying one
+ * non-generic file type that this option accepts.
+ * `NULL` for single-extension types.
+ */
+ const int *genericTypes_;
};
-bool
-FileTypeHandler::hasKnownExtension(const std::string &filename) const
+FileTypeHandler::FileTypeHandler(int fileType)
+ : fileType_(fileType), extensionCount_(0), genericTypes_(NULL)
{
- for (size_t i = 0; i < extensions_.size(); ++i)
+ if (fileType_ >= 0)
{
- if (endsWith(filename, extensions_[i]))
+ const int genericTypeCount = ftp2generic_count(fileType_);
+ if (genericTypeCount > 0)
{
- return true;
+ extensionCount_ = genericTypeCount;
+ genericTypes_ = ftp2generic_list(fileType_);
+ }
+ else if (ftp2ext_with_dot(fileType_)[0] != '\0')
+ {
+ extensionCount_ = 1;
}
}
- return false;
}
-std::string
-FileTypeHandler::addExtension(const std::string &filename) const
+int FileTypeHandler::extensionCount() const
{
- if (extensions_.empty())
- {
- return filename;
- }
- return filename + extensions_[0];
+ return extensionCount_;
}
-std::string
-FileTypeHandler::findFileWithExtension(const std::string &filename) const
+const char *FileTypeHandler::extension(int i) const
{
- for (size_t i = 0; i < extensions_.size(); ++i)
+ GMX_ASSERT(i >= 0 && i < extensionCount_, "Invalid extension index");
+ if (genericTypes_ != NULL)
{
- std::string testFilename(filename + extensions_[i]);
- if (File::exists(testFilename))
- {
- return testFilename;
- }
+ return ftp2ext_with_dot(genericTypes_[i]);
}
- return std::string();
-}
-
-/********************************************************************
- * FileTypeRegistry
- */
-
-/*! \internal \brief
- * Singleton for managing static file type info for FileNameOptionStorage.
- */
-class FileTypeRegistry
-{
- public:
- //! Returns a singleton instance of this class.
- static const FileTypeRegistry &instance();
- //! Returns a handler for a single file type.
- const FileTypeHandler &
- handlerForType(OptionFileType type, int legacyType) const;
-
- private:
- //! Initializes the file type registry.
- FileTypeRegistry();
-
- //! Registers a file type that corresponds to a ftp in filenm.h.
- void registerType(int type, int ftp);
- //! Registers a file type with a single extension.
- void registerType(int type, const char *extension);
-
- std::vector<FileTypeHandler> filetypes_;
-};
-
-// static
-const FileTypeRegistry &
-FileTypeRegistry::instance()
-{
- static FileTypeRegistry singleton;
- return singleton;
+ return ftp2ext_with_dot(fileType_);
}
-const FileTypeHandler &
-FileTypeRegistry::handlerForType(OptionFileType type, int legacyType) const
+bool
+FileTypeHandler::hasKnownExtension(const std::string &filename) const
{
- int index = type;
- if (type == eftUnknown && legacyType >= 0)
+ for (int i = 0; i < extensionCount(); ++i)
{
- index = eftOptionFileType_NR + legacyType;
+ if (endsWith(filename, extension(i)))
+ {
+ return true;
+ }
}
- GMX_RELEASE_ASSERT(index >= 0 && static_cast<size_t>(index) < filetypes_.size(),
- "Invalid file type");
- return filetypes_[index];
+ return false;
}
-FileTypeRegistry::FileTypeRegistry()
+std::string
+FileTypeHandler::addExtension(const std::string &filename) const
{
- filetypes_.resize(eftOptionFileType_NR + efNR);
- registerType(eftTopology, efTPS);
- registerType(eftTrajectory, efTRX);
- registerType(eftPDB, efPDB);
- registerType(eftIndex, efNDX);
- registerType(eftPlot, efXVG);
- registerType(eftGenericData, efDAT);
- for (int i = 0; i < efNR; ++i)
+ if (extensionCount() == 0)
{
- registerType(eftOptionFileType_NR + i, i);
+ return filename;
}
+ return filename + extension(0);
}
-void FileTypeRegistry::registerType(int type, int ftp)
+std::string
+FileTypeHandler::findFileWithExtension(const std::string &filename) const
{
- GMX_RELEASE_ASSERT(type >= 0 && static_cast<size_t>(type) < filetypes_.size(),
- "Invalid file type");
- const int genericTypeCount = ftp2generic_count(ftp);
- if (genericTypeCount > 0)
+ for (int i = 0; i < extensionCount(); ++i)
{
- const int *const genericTypes = ftp2generic_list(ftp);
- filetypes_[type].extensions_.clear();
- filetypes_[type].extensions_.reserve(genericTypeCount);
- for (int i = 0; i < genericTypeCount; ++i)
+ std::string testFilename(filename + extension(i));
+ if (File::exists(testFilename))
{
- filetypes_[type].extensions_.push_back(ftp2ext_with_dot(genericTypes[i]));
+ return testFilename;
}
}
- else
- {
- registerType(type, ftp2ext_with_dot(ftp));
- }
-}
-
-void FileTypeRegistry::registerType(int type, const char *extension)
-{
- GMX_RELEASE_ASSERT(type >= 0 && static_cast<size_t>(type) < filetypes_.size(),
- "Invalid file type");
- filetypes_[type].extensions_.assign(1, extension);
+ return std::string();
}
/*! \brief
* Helper method to complete a file name provided to a file name option.
*
- * \param[in] value Value provided to the file name option.
- * \param[in] filetype File type for the option.
- * \param[in] legacyType If \p filetype is eftUnknown, this gives the type as
- * an enum value from filenm.h.
+ * \param[in] value Value provided to the file name option.
+ * \param[in] typeHandler Handler for the file type.
* \param[in] bCompleteToExisting
* Whether to check existing files when completing the extension.
* \returns \p value with possible extension added.
*/
-std::string completeFileName(const std::string &value, OptionFileType filetype,
- int legacyType, bool bCompleteToExisting)
+std::string completeFileName(const std::string &value,
+ const FileTypeHandler &typeHandler,
+ bool bCompleteToExisting)
{
if (bCompleteToExisting && File::exists(value))
{
// TODO: This may not work as expected if the value is passed to a
// function that uses fn2ftp() to determine the file type and the input
// file has an unrecognized extension.
+ ConstArrayRef<const char *> compressedExtensions(c_compressedExtensions);
+ ConstArrayRef<const char *>::const_iterator ext;
+ for (ext = compressedExtensions.begin(); ext != compressedExtensions.end(); ++ext)
+ {
+ if (endsWith(value, *ext))
+ {
+ return value.substr(0, value.length() - std::strlen(*ext));
+ }
+ }
return value;
}
- const FileTypeRegistry ®istry = FileTypeRegistry::instance();
- const FileTypeHandler &typeHandler = registry.handlerForType(filetype, legacyType);
if (typeHandler.hasKnownExtension(value))
{
return value;
* FileNameOptionStorage
*/
-FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings)
- : MyBase(settings), info_(this), filetype_(settings.filetype_),
- legacyType_(settings.legacyType_),
+FileNameOptionStorage::FileNameOptionStorage(const FileNameOption &settings,
+ FileNameOptionManager *manager)
+ : MyBase(settings), info_(this), manager_(manager), fileType_(-1),
bRead_(settings.bRead_), bWrite_(settings.bWrite_),
bLibrary_(settings.bLibrary_)
{
+ GMX_RELEASE_ASSERT(!hasFlag(efOption_MultipleTimes),
+ "allowMultiple() is not supported for file name options");
+ if (settings.optionType_ == eftUnknown && settings.legacyType_ >= 0)
+ {
+ fileType_ = settings.legacyType_;
+ }
+ else
+ {
+ ConstArrayRef<FileTypeMapping> map(c_fileTypeMapping);
+ ConstArrayRef<FileTypeMapping>::const_iterator i;
+ for (i = map.begin(); i != map.end(); ++i)
+ {
+ if (i->optionType == settings.optionType_)
+ {
+ fileType_ = i->fileType;
+ break;
+ }
+ }
+ }
if (settings.defaultBasename_ != NULL)
{
- std::string defaultValue =
- completeFileName(settings.defaultBasename_, filetype_,
- legacyType_, false);
+ std::string defaultValue(settings.defaultBasename_);
+ defaultValue.append(defaultExtension());
setDefaultValueIfSet(defaultValue);
- if (isRequired())
+ if (isRequired() || settings.bLegacyOptionalBehavior_)
{
setDefaultValue(defaultValue);
}
std::string FileNameOptionStorage::typeString() const
{
- const FileTypeRegistry ®istry = FileTypeRegistry::instance();
- const FileTypeHandler &typeHandler = registry.handlerForType(filetype_, legacyType_);
- const ExtensionList &extensions = typeHandler.extensions();
- std::string result;
- ExtensionList::const_iterator i;
- int count = 0;
- for (i = extensions.begin(); count < 2 && i != extensions.end(); ++i, ++count)
+ FileTypeHandler typeHandler(fileType_);
+ std::string result;
+ int count;
+ for (count = 0; count < 2 && count < typeHandler.extensionCount(); ++count)
{
- if (i != extensions.begin())
+ if (count > 0)
{
result.append("/");
}
- result.append(*i);
+ result.append(typeHandler.extension(count));
}
- if (i != extensions.end())
+ if (count < typeHandler.extensionCount())
{
result.append("/...");
}
if (result.empty())
{
- if (legacyType_ == efRND)
+ if (isDirectoryOption())
{
result = "dir";
}
std::string FileNameOptionStorage::formatExtraDescription() const
{
- const FileTypeRegistry ®istry = FileTypeRegistry::instance();
- const FileTypeHandler &typeHandler = registry.handlerForType(filetype_, legacyType_);
- const ExtensionList &extensions = typeHandler.extensions();
- std::string result;
- if (extensions.size() > 2)
+ FileTypeHandler typeHandler(fileType_);
+ std::string result;
+ if (typeHandler.extensionCount() > 2)
{
result.append(":");
- ExtensionList::const_iterator i;
- for (i = extensions.begin(); i != extensions.end(); ++i)
+ for (int i = 0; i < typeHandler.extensionCount(); ++i)
{
result.append(" ");
- result.append((*i) + 1);
+ // Skip the dot.
+ result.append(typeHandler.extension(i) + 1);
}
}
return result;
void FileNameOptionStorage::convertValue(const std::string &value)
{
- bool bInput = isInputFile() || isInputOutputFile();
- addValue(completeFileName(value, filetype_, legacyType_, bInput));
+ const bool bInput = isInputFile() || isInputOutputFile();
+ FileTypeHandler typeHandler(fileType_);
+ addValue(completeFileName(value, typeHandler, bInput));
+}
+
+void FileNameOptionStorage::processAll()
+{
+ FileTypeHandler typeHandler(fileType_);
+ if (hasFlag(efOption_HasDefaultValue) && typeHandler.extensionCount() > 0)
+ {
+ const bool bInput = isInputFile() || isInputOutputFile();
+ ValueList &valueList = values();
+ GMX_RELEASE_ASSERT(valueList.size() == 1,
+ "There should be only one default value");
+ const bool bGlobalDefault =
+ (manager_ != NULL && !manager_->defaultFileName().empty());
+ if (!valueList[0].empty() && (typeHandler.extensionCount() > 1 || bGlobalDefault))
+ {
+ const std::string &oldValue = valueList[0];
+ GMX_ASSERT(endsWith(oldValue, defaultExtension()),
+ "Default value does not have the expected extension");
+ std::string prefix = stripSuffixIfPresent(oldValue, defaultExtension());
+ if (bGlobalDefault)
+ {
+ prefix = manager_->defaultFileName();
+ }
+ std::string newValue = completeFileName(prefix, typeHandler, bInput);
+ if (newValue != oldValue)
+ {
+ valueList[0] = newValue;
+ refreshValues();
+ }
+ }
+ }
}
bool FileNameOptionStorage::isDirectoryOption() const
{
- return legacyType_ == efRND;
+ return fileType_ == efRND;
+}
+
+const char *FileNameOptionStorage::defaultExtension() const
+{
+ FileTypeHandler typeHandler(fileType_);
+ if (typeHandler.extensionCount() == 0)
+ {
+ return "";
+ }
+ return typeHandler.extension(0);
}
-ConstArrayRef<const char *> FileNameOptionStorage::extensions() const
+std::vector<const char *> FileNameOptionStorage::extensions() const
{
- const FileTypeRegistry ®istry = FileTypeRegistry::instance();
- const FileTypeHandler &typeHandler = registry.handlerForType(filetype_, legacyType_);
- const ExtensionList &extensions = typeHandler.extensions();
- return ConstArrayRef<const char *>(extensions.begin(), extensions.end());
+ FileTypeHandler typeHandler(fileType_);
+ std::vector<const char *> result;
+ result.reserve(typeHandler.extensionCount());
+ for (int i = 0; i < typeHandler.extensionCount(); ++i)
+ {
+ result.push_back(typeHandler.extension(i));
+ }
+ return result;
}
/********************************************************************
return option().isDirectoryOption();
}
+const char *FileNameOptionInfo::defaultExtension() const
+{
+ return option().defaultExtension();
+}
+
FileNameOptionInfo::ExtensionList FileNameOptionInfo::extensions() const
{
return option().extensions();
* FileNameOption
*/
-AbstractOptionStoragePointer FileNameOption::createStorage() const
+AbstractOptionStoragePointer
+FileNameOption::createStorage(const OptionManagerContainer &managers) const
{
- return AbstractOptionStoragePointer(new FileNameOptionStorage(*this));
+ return AbstractOptionStoragePointer(
+ new FileNameOptionStorage(*this, managers.get<FileNameOptionManager>()));
}
} // namespace gmx
#define GMX_OPTIONS_FILENAMEOPTION_H
#include <string>
+#include <vector>
#include "abstractoption.h"
#include "optionfiletype.h"
template <typename T> class ConstArrayRef;
class FileNameOptionInfo;
+class FileNameOptionManager;
class FileNameOptionStorage;
/*! \brief
//! Initializes an option with the given name.
explicit FileNameOption(const char *name)
- : MyBase(name), filetype_(eftUnknown), legacyType_(-1),
- defaultBasename_(NULL),
+ : MyBase(name), optionType_(eftUnknown), legacyType_(-1),
+ defaultBasename_(NULL), bLegacyOptionalBehavior_(false),
bRead_(false), bWrite_(false), bLibrary_(false)
{
}
* Either this attribute or legacyType() must be provided.
*/
MyClass &filetype(OptionFileType type)
- { filetype_ = type; return me(); }
+ { optionType_ = type; return me(); }
/*! \brief
* Sets the type of the file from an enum in filenm.h.
*
*/
MyClass &legacyType(int type)
{ legacyType_ = type; return me(); }
+ /*! \brief
+ * Changes the behavior of optional options to match old t_filenm.
+ *
+ * If this is not set, optional options return an empty string if not
+ * set. If this is set, a non-empty value is always returned.
+ * In the latter case, whether the option is set only affects the
+ * return value of OptionInfo::isSet() and Options::isSet().
+ */
+ MyClass &legacyOptionalBehavior()
+ { bLegacyOptionalBehavior_ = true; return me(); }
//! Tells that the file provided by this option is used for input only.
MyClass &inputFile()
{ bRead_ = true; bWrite_ = false; return me(); }
* required, the value given to defaultBasename() is treated as for
* both defaultValue() and defaultValueIfSet(), otherwise it is treated
* as for defaultValueIfSet().
+ *
+ * For input files that accept multiple extensions, the extension is
+ * completed to the default extension on creation of the option or at
+ * time of parsing an option without a value.
+ * The extension may change during Options::finish(), as this is the
+ * time when the default names are checked against the file system to
+ * provide an extension that matches an existing file if that is
+ * possible.
+ *
+ * If FileNameOptionManager is used, and
+ * FileNameOptionManager::addDefaultFileNameOption() is used, and the
+ * user provides a global default file name using that option, then the
+ * global default takes precedence over defaultBasename().
*/
MyClass &defaultBasename(const char *basename)
{ defaultBasename_ = basename; return me(); }
using MyBase::defaultValueIfSet;
//! Creates a FileNameOptionStorage object.
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
- OptionFileType filetype_;
+ OptionFileType optionType_;
int legacyType_;
const char *defaultBasename_;
+ bool bLegacyOptionalBehavior_;
bool bRead_;
bool bWrite_;
bool bLibrary_;
{
public:
//! Shorthand for a list of extensions.
- typedef ConstArrayRef<const char *> ExtensionList;
+ typedef std::vector<const char *> ExtensionList;
//! Creates an option info object for the given option.
explicit FileNameOptionInfo(FileNameOptionStorage *option);
//! Whether the option specifies directories.
bool isDirectoryOption() const;
+ //! Returns the default extension for this option.
+ const char *defaultExtension() const;
//! Returns the list of extensions this option accepts.
ExtensionList extensions() const;
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \internal \file
+ * \brief
+ * Implements gmx::FileNameOptionManager.
+ *
+ * \author Teemu Murtola <teemu.murtola@gmail.com>
+ * \ingroup module_options
+ */
+#include "filenameoptionmanager.h"
+
+#include <string>
+
+#include "gromacs/options/basicoptions.h"
+#include "gromacs/options/filenameoption.h"
+#include "gromacs/options/options.h"
+
+namespace gmx
+{
+
+/********************************************************************
+ * FileNameOptionManager::Impl
+ */
+
+/*! \internal \brief
+ * Private implemention class for FileNameOptionManager.
+ *
+ * \ingroup module_options
+ */
+class FileNameOptionManager::Impl
+{
+ public:
+ //! Global default file name, if set.
+ std::string defaultFileName_;
+};
+
+/********************************************************************
+ * FileNameOptionManager
+ */
+
+FileNameOptionManager::FileNameOptionManager()
+ : impl_(new Impl())
+{
+}
+
+FileNameOptionManager::~FileNameOptionManager()
+{
+}
+
+void FileNameOptionManager::addDefaultFileNameOption(
+ Options *options, const char *name)
+{
+ options->addOption(
+ StringOption(name).store(&impl_->defaultFileName_)
+ .description("Set the default filename for all file options"));
+}
+
+const std::string &FileNameOptionManager::defaultFileName() const
+{
+ return impl_->defaultFileName_;
+}
+
+} // namespace gmx
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \file
+ * \brief
+ * Declares gmx::FileNameOptionManager.
+ *
+ * \author Teemu Murtola <teemu.murtola@gmail.com>
+ * \inpublicapi
+ * \ingroup module_options
+ */
+#ifndef GMX_OPTIONS_FILENAMEOPTIONMANAGER_H
+#define GMX_OPTIONS_FILENAMEOPTIONMANAGER_H
+
+#include <string>
+
+#include "options.h"
+
+#include "../utility/common.h"
+
+namespace gmx
+{
+
+class Options;
+
+/*! \brief
+ * Handles interaction of file name options with global options.
+ *
+ * Currently, this class implements support for a global default file name
+ * that overrides any option-specific default.
+ *
+ * \todo
+ * Currently, this class has very little logic, and just provides the global
+ * values to FileNameOptionStorage implementation. A cleaner design would have
+ * most of the non-trivial file name completion logic in this class, so that
+ * the customizations would be centralized here.
+ *
+ * Adding a FileNameOptionManager for an Options object is optional, even if
+ * the Options contains FileNameOption options. Features from the manager are
+ * not available if the manager is not created, but otherwise the options work.
+ *
+ * \see Options::addManager()
+ *
+ * \inpublicapi
+ * \ingroup module_selection
+ */
+class FileNameOptionManager : public OptionManagerInterface
+{
+ public:
+ FileNameOptionManager();
+ virtual ~FileNameOptionManager();
+
+ /*! \brief
+ * Adds an option for setting the default global file name.
+ *
+ * \param options Options to add the option to.
+ * \param[in] name Name of the option to add.
+ *
+ * If the user sets the option, it affects all file name options that
+ * would normally return a default value: the basename for the returned
+ * value is taken from the value of the default file name option,
+ * instead from an option-specific default
+ * (FileNameOption::defaultBaseName()).
+ */
+ void addDefaultFileNameOption(Options *options, const char *name);
+
+ //! Returns the currently set default file name.
+ const std::string &defaultFileName() const;
+
+ private:
+ class Impl;
+
+ PrivateImplPointer<Impl> impl_;
+};
+
+} // namespace gmx
+
+#endif
#define GMX_OPTIONS_FILENAMEOPTIONSTORAGE_H
#include <string>
+#include <vector>
#include "filenameoption.h"
#include "optionfiletype.h"
{
class FileNameOption;
+class FileNameOptionManager;
/*! \internal \brief
* Converts, validates, and stores file names.
class FileNameOptionStorage : public OptionStorageTemplate<std::string>
{
public:
- //! \copydoc StringOptionStorage::StringOptionStorage()
- explicit FileNameOptionStorage(const FileNameOption &settings);
+ /*! \brief
+ * Initializes the storage from option settings.
+ *
+ * \param[in] settings Storage settings.
+ * \param manager Manager for this object (can be NULL).
+ */
+ FileNameOptionStorage(const FileNameOption &settings,
+ FileNameOptionManager *manager);
virtual OptionInfo &optionInfo() { return info_; }
virtual std::string typeString() const;
//! \copydoc FileNameOptionInfo::isDirectoryOption()
bool isDirectoryOption() const;
+ //! \copydoc FileNameOptionInfo::defaultExtension()
+ const char *defaultExtension() const;
//! \copydoc FileNameOptionInfo::extensions()
- ConstArrayRef<const char *> extensions() const;
+ std::vector<const char *> extensions() const;
private:
virtual void convertValue(const std::string &value);
+ virtual void processAll();
FileNameOptionInfo info_;
- OptionFileType filetype_;
- int legacyType_;
+ FileNameOptionManager *manager_;
+ int fileType_;
bool bRead_;
bool bWrite_;
bool bLibrary_;
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \libinternal \file
+ * \brief
+ * Declares gmx::OptionManagerContainer.
+ *
+ * \author Teemu Murtola <teemu.murtola@gmail.com>
+ * \inlibraryapi
+ * \ingroup module_options
+ */
+#ifndef GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
+#define GMX_OPTIONS_OPTIONMANAGERCONTAINER_H
+
+#include <vector>
+
+#include "gromacs/utility/common.h"
+#include "gromacs/utility/gmxassert.h"
+
+namespace gmx
+{
+
+class OptionManagerInterface;
+
+/*! \libinternal
+ * \brief
+ * Container to keep managers added with Options::addManager() and pass them
+ * to options.
+ *
+ * Consistency of the managers (e.g., that there is at most one manager of a
+ * certain type) is only checked when the managers are accessed.
+ *
+ * \inlibraryapi
+ * \ingroup module_options
+ */
+class OptionManagerContainer
+{
+ public:
+ OptionManagerContainer()
+ {
+ }
+
+ //! Returns `true` if there are no managers.
+ bool empty() const { return list_.empty(); }
+
+ //! Adds a manager to the container.
+ void add(OptionManagerInterface *manager)
+ {
+ list_.push_back(manager);
+ }
+ /*! \brief
+ * Retrieves a manager of a certain type.
+ *
+ * \tparam ManagerType Type of manager to retrieve
+ * (should derive from OptionManagerInterface).
+ * \returns The manager, or `NULL` if there is none.
+ *
+ * This method is used in AbstractOption::createStorage() to retrieve
+ * a manager of a certain type for options that use a manager.
+ *
+ * The return value is `NULL` if there is no manager of the given type.
+ * The caller needs to handle this (either by asserting, or by handling
+ * the manager as optional).
+ */
+ template <class ManagerType>
+ ManagerType *get() const
+ {
+ ManagerType *result = NULL;
+ for (ListType::const_iterator i = list_.begin(); i != list_.end(); ++i)
+ {
+ ManagerType *curr = dynamic_cast<ManagerType *>(*i);
+ if (curr != NULL)
+ {
+ GMX_RELEASE_ASSERT(result == NULL,
+ "More than one applicable option manager is set");
+ result = curr;
+ }
+ }
+ return result;
+ }
+
+ private:
+ //! Shorthand for the internal container type.
+ typedef std::vector<OptionManagerInterface *> ListType;
+
+ ListType list_;
+
+ GMX_DISALLOW_COPY_AND_ASSIGN(OptionManagerContainer);
+};
+
+} // namespace gmx
+
+#endif
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <vector>
#include "abstractoption.h"
+#include "optionmanagercontainer.h"
#include "options.h"
namespace gmx
std::string title_;
//! Full description for the Options object.
std::string description_;
+ /*! \brief
+ * Option managers set for this collection.
+ *
+ * This is non-empty only for the top-level Options object.
+ */
+ OptionManagerContainer managers_;
/*! \brief
* List of subsections, in insertion order.
*
namespace gmx
{
+/********************************************************************
+ * OptionManagerInterface
+ */
+
+OptionManagerInterface::~OptionManagerInterface()
+{
+}
+
/********************************************************************
* Options::Impl
*/
impl_->description_ = concatenateStrings(descArray.data(), descArray.size());
}
+void Options::addManager(OptionManagerInterface *manager)
+{
+ GMX_RELEASE_ASSERT(impl_->parent_ == NULL,
+ "Can only add a manager in a top-level Options object");
+ // This ensures that all options see the same set of managers.
+ GMX_RELEASE_ASSERT(impl_->options_.empty(),
+ "Can only add a manager before options");
+ // This check could be relaxed if we instead checked that the subsections
+ // do not have options.
+ GMX_RELEASE_ASSERT(impl_->subSections_.empty(),
+ "Can only add a manager before subsections");
+ impl_->managers_.add(manager);
+}
+
void Options::addSubSection(Options *section)
{
+ // This is required, because managers are used from the root Options
+ // object, so they are only seen after the subsection has been added.
+ GMX_RELEASE_ASSERT(section->impl_->options_.empty(),
+ "Can only add a subsection before it has any options");
+ GMX_RELEASE_ASSERT(section->impl_->managers_.empty(),
+ "Can only have managers in a top-level Options object");
// Make sure that section is not already inserted somewhere.
GMX_RELEASE_ASSERT(section->impl_->parent_ == NULL,
"Cannot add as subsection twice");
OptionInfo *Options::addOption(const AbstractOption &settings)
{
- AbstractOptionStoragePointer option(settings.createStorage());
+ Options::Impl *root = impl_.get();
+ while (root->parent_ != NULL)
+ {
+ root = root->parent_->impl_.get();
+ }
+ AbstractOptionStoragePointer option(settings.createStorage(root->managers_));
if (impl_->findOption(option->name().c_str()) != NULL)
{
GMX_THROW(APIError("Duplicate option: " + option->name()));
class OptionsAssigner;
class OptionsIterator;
+/*! \brief
+ * Base class for option managers.
+ *
+ * This class is used as a marker for all classes that are used with
+ * Options::addManager(). It doesn't provide any methods, but only supports
+ * transporting these classes through the Options collection into the
+ * individual option implementation classes.
+ *
+ * The virtual destructor is present to make this class polymorphic, such that
+ * `dynamic_cast` can be used when retrieving a manager of a certain type for
+ * the individual options.
+ *
+ * \inlibraryapi
+ * \ingroup module_options
+ */
+class OptionManagerInterface
+{
+ protected:
+ virtual ~OptionManagerInterface();
+};
+
/*! \brief
* Collection of options.
*
*/
void setDescription(const ConstArrayRef<const char *> &descArray);
+ /*! \brief
+ * Adds an option manager.
+ *
+ * \param manager Manager to add.
+ * \throws std::bad_alloc if out of memory.
+ *
+ * Option managers are used by some types of options that require
+ * interaction between different option instances (e.g., selection
+ * options), or need to support globally set properties (e.g., a global
+ * default file prefix). Option objects can retrieve the pointer to
+ * their manager when they are created, and the caller can alter the
+ * behavior of the options through the manager.
+ * See the individual managers for details.
+ *
+ * Caller is responsible for memory management of \p manager.
+ * The Options object (and its contained options) only stores a
+ * reference to the object.
+ *
+ * This method cannot be called after adding options or subsections.
+ */
+ void addManager(OptionManagerInterface *manager);
+
/*! \brief
* Adds an option collection as a subsection of this collection.
*
* subsection. If an attempt is made to add two different subsections
* with the same name, this function asserts.
*
- * For certain functionality to work properly, no options should
- * be added to the subsection after it has been added to another
- * collection.
+ * \p section should not have any options added at the point this
+ * method is called.
*
* Only a pointer to the provided object is stored. The caller is
* responsible that the object exists for the lifetime of the
}
private:
- virtual gmx::AbstractOptionStoragePointer createStorage() const
+ virtual gmx::AbstractOptionStoragePointer createStorage(
+ const gmx::OptionManagerContainer & /*managers*/) const
{
return gmx::AbstractOptionStoragePointer(new MockOptionStorage(*this));
}
#include <gtest/gtest.h>
#include "gromacs/options/filenameoption.h"
+#include "gromacs/options/filenameoptionmanager.h"
#include "gromacs/options/options.h"
#include "gromacs/options/optionsassigner.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/file.h"
+#include "gromacs/utility/path.h"
#include "testutils/testasserts.h"
#include "testutils/testfilemanager.h"
EXPECT_EQ("testfile.dat", value);
}
+TEST(FileNameOptionTest, HandlesOptionalUnsetOption)
+{
+ gmx::Options options(NULL, NULL);
+ std::string value;
+ ASSERT_NO_THROW_GMX(options.addOption(
+ FileNameOption("f").store(&value)
+ .filetype(gmx::eftTrajectory).outputFile()
+ .defaultBasename("testfile")));
+ EXPECT_TRUE(value.empty());
+
+ gmx::OptionsAssigner assigner(&options);
+ EXPECT_NO_THROW_GMX(assigner.start());
+ EXPECT_NO_THROW_GMX(assigner.finish());
+ EXPECT_NO_THROW_GMX(options.finish());
+
+ EXPECT_TRUE(value.empty());
+}
+
TEST(FileNameOptionTest, HandlesOptionalDefaultValueWithoutExtension)
{
gmx::Options options(NULL, NULL);
TEST(FileNameOptionTest, AddsMissingExtensionBasedOnExistingFile)
{
- gmx::Options options(NULL, NULL);
- std::string value;
+ TestFileManager tempFiles;
+ std::string filename(tempFiles.getTemporaryFilePath(".trr"));
+ gmx::File::writeFileFromString(filename, "Dummy trajectory file");
+ std::string inputValue(gmx::Path::stripExtension(filename));
+
+ gmx::Options options(NULL, NULL);
+ std::string value;
ASSERT_NO_THROW_GMX(options.addOption(
FileNameOption("f").store(&value)
.filetype(gmx::eftTrajectory).inputFile()));
+
+ gmx::OptionsAssigner assigner(&options);
+ EXPECT_NO_THROW_GMX(assigner.start());
+ EXPECT_NO_THROW_GMX(assigner.startOption("f"));
+ EXPECT_NO_THROW_GMX(assigner.appendValue(inputValue));
+ EXPECT_NO_THROW_GMX(assigner.finishOption());
+ EXPECT_NO_THROW_GMX(assigner.finish());
+ EXPECT_NO_THROW_GMX(options.finish());
+
+ EXPECT_EQ(filename, value);
+}
+
+TEST(FileNameOptionTest, AddsMissingExtensionForRequiredDefaultNameBasedOnExistingFile)
+{
TestFileManager tempFiles;
std::string filename(tempFiles.getTemporaryFilePath(".trr"));
gmx::File::writeFileFromString(filename, "Dummy trajectory file");
- std::string inputValue(filename.substr(0, filename.length() - 4));
+ std::string inputValue(gmx::Path::stripExtension(filename));
+
+ gmx::Options options(NULL, NULL);
+ std::string value;
+ ASSERT_NO_THROW_GMX(options.addOption(
+ FileNameOption("f").store(&value).required()
+ .filetype(gmx::eftTrajectory).inputFile()
+ .defaultBasename(inputValue.c_str())));
+ EXPECT_EQ(inputValue + ".xtc", value);
gmx::OptionsAssigner assigner(&options);
EXPECT_NO_THROW_GMX(assigner.start());
EXPECT_NO_THROW_GMX(assigner.startOption("f"));
+ EXPECT_NO_THROW_GMX(assigner.finishOption());
+ EXPECT_NO_THROW_GMX(assigner.finish());
+ EXPECT_NO_THROW_GMX(options.finish());
+
+ EXPECT_EQ(filename, value);
+}
+
+TEST(FileNameOptionTest, AddsMissingExtensionForOptionalDefaultNameBasedOnExistingFile)
+{
+ TestFileManager tempFiles;
+ std::string filename(tempFiles.getTemporaryFilePath(".trr"));
+ gmx::File::writeFileFromString(filename, "Dummy trajectory file");
+ std::string inputValue(gmx::Path::stripExtension(filename));
+
+ gmx::Options options(NULL, NULL);
+ std::string value;
+ ASSERT_NO_THROW_GMX(options.addOption(
+ FileNameOption("f").store(&value)
+ .filetype(gmx::eftTrajectory).inputFile()
+ .defaultBasename(inputValue.c_str())));
+
+ gmx::OptionsAssigner assigner(&options);
+ EXPECT_NO_THROW_GMX(assigner.start());
+ EXPECT_NO_THROW_GMX(assigner.startOption("f"));
+ EXPECT_NO_THROW_GMX(assigner.finishOption());
+ EXPECT_NO_THROW_GMX(assigner.finish());
+ EXPECT_NO_THROW_GMX(options.finish());
+
+ EXPECT_EQ(filename, value);
+}
+
+TEST(FileNameOptionTest, AddsMissingExtensionForRequiredFromDefaultNameOptionBasedOnExistingFile)
+{
+ TestFileManager tempFiles;
+ std::string filename(tempFiles.getTemporaryFilePath(".trr"));
+ gmx::File::writeFileFromString(filename, "Dummy trajectory file");
+ std::string inputValue(gmx::Path::stripExtension(filename));
+
+ gmx::FileNameOptionManager manager;
+ gmx::Options options(NULL, NULL);
+ std::string value;
+ ASSERT_NO_THROW_GMX(options.addManager(&manager));
+ ASSERT_NO_THROW_GMX(options.addOption(
+ FileNameOption("f").store(&value).required()
+ .filetype(gmx::eftTrajectory).inputFile()
+ .defaultBasename("foo")));
+ ASSERT_NO_THROW_GMX(manager.addDefaultFileNameOption(&options, "deffnm"));
+ EXPECT_EQ("foo.xtc", value);
+
+ gmx::OptionsAssigner assigner(&options);
+ EXPECT_NO_THROW_GMX(assigner.start());
+ EXPECT_NO_THROW_GMX(assigner.startOption("deffnm"));
+ EXPECT_NO_THROW_GMX(assigner.appendValue(inputValue));
+ EXPECT_NO_THROW_GMX(assigner.finishOption());
+ EXPECT_NO_THROW_GMX(assigner.finish());
+ EXPECT_NO_THROW_GMX(options.finish());
+
+ EXPECT_EQ(filename, value);
+}
+
+TEST(FileNameOptionTest, AddsMissingExtensionForOptionalFromDefaultNameOptionBasedOnExistingFile)
+{
+ TestFileManager tempFiles;
+ std::string filename(tempFiles.getTemporaryFilePath(".trr"));
+ gmx::File::writeFileFromString(filename, "Dummy trajectory file");
+ std::string inputValue(gmx::Path::stripExtension(filename));
+
+ gmx::FileNameOptionManager manager;
+ gmx::Options options(NULL, NULL);
+ std::string value;
+ ASSERT_NO_THROW_GMX(options.addManager(&manager));
+ ASSERT_NO_THROW_GMX(options.addOption(
+ FileNameOption("f").store(&value)
+ .filetype(gmx::eftTrajectory).inputFile()
+ .defaultBasename("foo")));
+ ASSERT_NO_THROW_GMX(manager.addDefaultFileNameOption(&options, "deffnm"));
+
+ gmx::OptionsAssigner assigner(&options);
+ EXPECT_NO_THROW_GMX(assigner.start());
+ EXPECT_NO_THROW_GMX(assigner.startOption("deffnm"));
EXPECT_NO_THROW_GMX(assigner.appendValue(inputValue));
EXPECT_NO_THROW_GMX(assigner.finishOption());
+ EXPECT_NO_THROW_GMX(assigner.startOption("f"));
+ EXPECT_NO_THROW_GMX(assigner.finishOption());
EXPECT_NO_THROW_GMX(assigner.finish());
EXPECT_NO_THROW_GMX(options.finish());
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
int value1 = 1;
int value2 = 2;
using gmx::IntegerOption;
+ ASSERT_NO_THROW(options.addSubSection(&sub1));
+ ASSERT_NO_THROW(options.addSubSection(&sub2));
ASSERT_NO_THROW(options.addOption(IntegerOption("p").store(&value)));
ASSERT_NO_THROW(sub1.addOption(IntegerOption("p").store(&value1)));
ASSERT_NO_THROW(sub2.addOption(IntegerOption("p").store(&value2)));
- ASSERT_NO_THROW(options.addSubSection(&sub1));
- ASSERT_NO_THROW(options.addSubSection(&sub2));
gmx::OptionsAssigner assigner(&options);
EXPECT_NO_THROW(assigner.start());
int pvalue2 = 2;
int rvalue = 5;
using gmx::IntegerOption;
+ ASSERT_NO_THROW(options.addSubSection(&sub1));
+ ASSERT_NO_THROW(options.addSubSection(&sub2));
ASSERT_NO_THROW(options.addOption(IntegerOption("p").store(&pvalue)));
ASSERT_NO_THROW(sub1.addOption(IntegerOption("p").store(&pvalue1)));
ASSERT_NO_THROW(sub1.addOption(IntegerOption("q").store(&qvalue)));
ASSERT_NO_THROW(sub2.addOption(IntegerOption("p").store(&pvalue2)));
ASSERT_NO_THROW(sub2.addOption(IntegerOption("r").store(&rvalue)));
- ASSERT_NO_THROW(options.addSubSection(&sub1));
- ASSERT_NO_THROW(options.addSubSection(&sub2));
gmx::OptionsAssigner assigner(&options);
assigner.setNoStrictSectioning(true);
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include "gromacs/options/timeunitmanager.h"
+#include <cstdlib>
+
+#include <algorithm>
+
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
#include "gromacs/options/optionsvisitor.h"
+#include "gromacs/utility/arrayref.h"
+#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/stringutil.h"
namespace
{
return 1.0 / timeScaleFactor();
}
+void TimeUnitManager::setTimeUnitFromEnvironment()
+{
+ const char *const value = std::getenv("GMXTIMEUNIT");
+ if (value != NULL)
+ {
+ ConstArrayRef<const char *> timeUnits(g_timeUnits);
+ ConstArrayRef<const char *>::const_iterator i =
+ std::find(timeUnits.begin(), timeUnits.end(), std::string(value));
+ if (i == timeUnits.end())
+ {
+ std::string message = formatString(
+ "Time unit provided with environment variable GMXTIMEUNIT=%s "
+ "is not recognized as a valid time unit.\n"
+ "Possible values are: %s",
+ value, joinStrings(timeUnits, ", ").c_str());
+ GMX_THROW(InvalidInputError(message));
+ }
+ timeUnit_ = i - timeUnits.begin();
+ }
+}
+
void TimeUnitManager::addTimeUnitOption(Options *options, const char *name)
{
options->addOption(StringOption(name).enumValue(g_timeUnits)
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
//! Returns the scaling factor to convert times from ps.
double inverseTimeScaleFactor() const;
+ /*! \brief
+ * Sets the time unit in this manager from an environment variable.
+ */
+ void setTimeUnitFromEnvironment();
/*! \brief
* Adds a common option for selecting the time unit.
*
--- /dev/null
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2014, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+file(GLOB PBCUTIL_SOURCES *.cpp *.c)
+set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${PBCUTIL_SOURCES} PARENT_SCOPE)
+
+set(PBCUTIL_PUBLIC_HEADERS
+ ishift.h
+ pbc.h
+ rmpbc.h)
+
+gmx_install_headers(pbcutil ${PBCUTIL_PUBLIC_HEADERS})
+
+if (BUILD_TESTING)
+# add_subdirectory(tests)
+endif()
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-
-/* not really neccesary, right now: */
-#ifdef __cplusplus
-extern "C" {
-#endif
-
+#ifndef GMX_PBCUTIL_ISHIFT_H
+#define GMX_PBCUTIL_ISHIFT_H
#define D_BOX_Z 1
#define D_BOX_Y 1
#define IS2Y(iv) ((((iv) / N_BOX_X) % N_BOX_Y) - D_BOX_Y)
#define IS2Z(iv) ((iv) / (N_BOX_X*N_BOX_Y) - D_BOX_Z)
-
-#ifdef __cplusplus
-}
#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/pbcutil/mshift.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <string.h>
+
+#include <algorithm>
+
+#include "gromacs/legacyheaders/types/ifunc.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "macros.h"
-#include "vec.h"
-#include "gromacs/fileio/futil.h"
-#include "mshift.h"
-#include "main.h"
-#include "pbc.h"
/************************************************************
*
nbond[iaa] += 2;
nbond[ia[2]] += 1;
nbond[ia[3]] += 1;
- g->at_start = min(g->at_start, iaa);
- g->at_end = max(g->at_end, iaa+2+1);
+ g->at_start = std::min(g->at_start, iaa);
+ g->at_end = std::max(g->at_end, iaa+2+1);
}
}
else
iaa = ia[k];
if (iaa >= at_start && iaa < at_end)
{
- g->at_start = min(g->at_start, iaa);
- g->at_end = max(g->at_end, iaa+1);
+ g->at_start = std::min(g->at_start, iaa);
+ g->at_end = std::max(g->at_end, iaa+1);
/* When making the graph we (might) link all atoms in an interaction
* sequentially. Therefore the end atoms add 1 to the count,
* the middle atoms 2.
for (i = g->at_start; (i < g->at_end); i++)
{
nbtot += nbond[i];
- nnb = max(nnb, nbond[i]);
+ nnb = std::max(nnb, nbond[i]);
}
if (fplog)
{
static void compact_graph(FILE *fplog, t_graph *g)
{
int i, j, n, max_nedge;
- atom_id *e;
max_nedge = 0;
n = 0;
{
g->edge[0][n++] = g->edge[i][j];
}
- max_nedge = max(max_nedge, g->nedge[i]);
+ max_nedge = std::max(max_nedge, g->nedge[i]);
}
srenew(g->edge[0], n);
/* set pointers after srenew because edge[0] might move */
void done_graph(t_graph *g)
{
- int i;
-
GCHECK(g);
if (g->nnodes > 0)
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_PBCUTIL_MSHIFT_H
+#define GMX_PBCUTIL_MSHIFT_H
-#ifndef _mshift_h
-#define _mshift_h
+#include <stdio.h>
-#include "typedefs.h"
+#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_idef;
+struct t_ilist;
+
+typedef enum {
+ egcolWhite, egcolGrey, egcolBlack, egcolNR
+} egCol;
+
+typedef struct t_graph {
+ int at0; /* The first atom the graph was constructed for */
+ int at1; /* The last atom the graph was constructed for */
+ int nnodes; /* The number of nodes, nnodes=at_end-at_start */
+ int nbound; /* The number of nodes with edges */
+ int at_start; /* The first connected atom in this graph */
+ int at_end; /* The last+1 connected atom in this graph */
+ int *nedge; /* For each node the number of edges */
+ atom_id **edge; /* For each node, the actual edges (bidirect.) */
+ gmx_bool bScrewPBC; /* Screw boundary conditions */
+ ivec *ishift; /* Shift for each particle */
+ int negc;
+ egCol *egc; /* color of each node */
+} t_graph;
+
+#define SHIFT_IVEC(g, i) ((g)->ishift[i])
+
t_graph *mk_graph(FILE *fplog,
- t_idef *idef, int at_start, int at_end,
+ struct t_idef *idef, int at_start, int at_end,
gmx_bool bShakeOnly, gmx_bool bSettle);
/* Build a graph from an idef description. The graph can be used
* to generate mol-shift indices.
*/
void mk_graph_ilist(FILE *fplog,
- t_ilist *ilist, int at_start, int at_end,
+ struct t_ilist *ilist, int at_start, int at_end,
gmx_bool bShakeOnly, gmx_bool bSettle,
t_graph *g);
/* As mk_graph, but takes t_ilist iso t_idef and does not allocate g */
}
#endif
-#endif /* _mshift_h */
+#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/pbcutil/pbc.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <math.h>
#include <assert.h>
+#include <math.h>
-#include "sysstuff.h"
-#include "typedefs.h"
+#include "gromacs/legacyheaders/types/inputrec.h"
#include "types/commrec.h"
-#include "vec.h"
-#include "gromacs/math/utilities.h"
-#include "main.h"
-#include "pbc.h"
-#include "gromacs/utility/smalloc.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
#include "names.h"
#include "macros.h"
#include "gmx_omp_nthreads.h"
+#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/ishift.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
/* Skip 0 so we have more chance of detecting if we forgot to call set_pbc. */
enum {
epbcdxRECTANGULAR = 1, epbcdxTRICLINIC,
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_PBCUTIL_PBC_H
+#define GMX_PBCUTIL_PBC_H
-#ifndef _types_pbc_h
-#define _types_pbc_h
+#include <stdio.h>
-#include "sysstuff.h"
-#include "typedefs.h"
+#include "../legacyheaders/types/commrec_fwd.h"
+#include "../legacyheaders/types/inputrec.h"
+#include "../math/vectypes.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+/* Maximum number of combinations of single triclinic box vectors
+ * required to shift atoms that are within a brick of the size of
+ * the diagonal of the box to within the maximum cut-off distance.
+ */
+#define MAX_NTRICVEC 12
+
+typedef struct t_pbc {
+ int ePBC;
+ int ndim_ePBC;
+ int ePBCDX;
+ int dim;
+ matrix box;
+ rvec fbox_diag;
+ rvec hbox_diag;
+ rvec mhbox_diag;
+ real max_cutoff2;
+ gmx_bool bLimitDistance;
+ real limit_distance2;
+ int ntric_vec;
+ ivec tric_shift[MAX_NTRICVEC];
+ rvec tric_vec[MAX_NTRICVEC];
+} t_pbc;
+
#define TRICLINIC(box) (box[YY][XX] != 0 || box[ZZ][XX] != 0 || box[ZZ][YY] != 0)
#define NTRICIMG 14
ecenterDEF = ecenterTRIC
};
+struct t_graph;
+
int ePBC2npbcdim(int ePBC);
/* Returns the number of dimensions that use pbc, starting at X */
int guess_ePBC(matrix box);
/* Guesses the type of periodic boundary conditions using the box */
-gmx_bool correct_box(FILE *fplog, int step, tensor box, t_graph *graph);
+gmx_bool correct_box(FILE *fplog, int step, tensor box, struct t_graph *graph);
/* Checks for un-allowed box angles and corrects the box
* and the integer shift vectors in the graph (if graph!=NULL) if necessary.
* Returns TRUE when the box was corrected.
}
#endif
-#endif /* _pbc_h */
+#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/pbcutil/rmpbc.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "mshift.h"
-#include "pbc.h"
-#include "rmpbc.h"
-#include "vec.h"
-
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/topology/idef.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
typedef struct {
t_graph *gr;
} rmpbc_graph_t;
-typedef struct gmx_rmpbc {
+struct gmx_rmpbc {
t_idef *idef;
int natoms_init;
int ePBC;
int ngraph;
rmpbc_graph_t *graph;
-} koeiepoep;
+};
static t_graph *gmx_rmpbc_get_graph(gmx_rmpbc_t gpbc, int ePBC, int natoms)
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_PBCUTIL_RMPBC_H
+#define GMX_PBCUTIL_RMPBC_H
-#ifndef _rmpbc_h
-#define _rmpbc_h
-
-#include "typedefs.h"
+#include "../math/vectypes.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_atoms;
+struct t_idef;
+struct t_trxframe;
+
typedef struct gmx_rmpbc *gmx_rmpbc_t;
-gmx_rmpbc_t gmx_rmpbc_init(t_idef *idef, int ePBC, int natoms);
+gmx_rmpbc_t gmx_rmpbc_init(struct t_idef *idef, int ePBC, int natoms);
void gmx_rmpbc_done(gmx_rmpbc_t gpbc);
rvec x_s[]);
/* As gmx_rmpbc, but outputs in x_s and does not modify x. */
-void gmx_rmpbc_trxfr(gmx_rmpbc_t gpbc, t_trxframe *fr);
+void gmx_rmpbc_trxfr(gmx_rmpbc_t gpbc, struct t_trxframe *fr);
/* As gmx_rmpbc but operates on a t_trxframe data structure. */
-/*void rm_pbc(t_idef *idef,int ePBC,int natoms,
- matrix box,rvec x[],rvec x_s[]);*/
-/* Convenience function that still holds a static variable. */
-
-void rm_gropbc(t_atoms *atoms, rvec x[], matrix box);
+void rm_gropbc(struct t_atoms *atoms, rvec x[], matrix box);
/* Simple routine for use in analysis tools that just have a pdb or
* similar file.
*/
}
#endif
-#endif /* _rmpbc_h */
+#endif
#include <config.h>
#endif
-
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
-#include "gromacs/fileio/futil.h"
-#include "index.h"
-#include "gromacs/fileio/gmxfio.h"
-#include "vec.h"
+#include <string.h>
+
+#include "gromacs/utility/futil.h"
#include "typedefs.h"
#include "types/commrec.h"
#include "network.h"
-#include "gromacs/fileio/filenm.h"
-#include <string.h>
-#include "gromacs/utility/smalloc.h"
#include "pull.h"
-#include "xvgr.h"
#include "names.h"
-#include "pbc.h"
-#include "mtop_util.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/mtop_util.h"
#include "mdrun.h"
#include "gmx_ga2la.h"
#include "copyrite.h"
#include "macros.h"
-#include "vec.h"
+
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/xvgr.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/smalloc.h"
static void pull_print_group_x(FILE *out, ivec dim, const t_pull_group *pgrp)
{
extern "C" {
#endif
+struct t_pbc;
/*! \brief Get the distance to the reference and deviation for pull coord coord_ind.
*
*/
void get_pull_coord_distance(const t_pull *pull,
int coord_ind,
- const t_pbc *pbc, double t,
+ const struct t_pbc *pbc, double t,
dvec dr, double *dev);
*
* \returns The pull potential energy.
*/
-real pull_potential(int ePull, t_pull *pull, t_mdatoms *md, t_pbc *pbc,
+real pull_potential(int ePull, t_pull *pull, t_mdatoms *md, struct t_pbc *pbc,
t_commrec *cr, double t, real lambda,
rvec *x, rvec *f, tensor vir, real *dvdlambda);
* \param[in,out] v Velocities, which may get a pull correction.
* \param[in,out] vir The virial, which, if != NULL, gets a pull correction.
*/
-void pull_constraint(t_pull *pull, t_mdatoms *md, t_pbc *pbc,
+void pull_constraint(t_pull *pull, t_mdatoms *md, struct t_pbc *pbc,
t_commrec *cr, double dt, double t,
rvec *x, rvec *xp, rvec *v, tensor vir);
* \param[in,out] xp Updated x, can be NULL.
*
*/
-void pull_calc_coms(t_commrec *cr,
- t_pull *pull,
- t_mdatoms *md,
- t_pbc *pbc,
- double t,
- rvec x[],
- rvec *xp);
+void pull_calc_coms(t_commrec *cr,
+ t_pull *pull,
+ t_mdatoms *md,
+ struct t_pbc *pbc,
+ double t,
+ rvec x[],
+ rvec *xp);
#ifdef __cplusplus
}
#include "domdec.h"
#include "gromacs/utility/smalloc.h"
#include "network.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "mdrun.h"
#include "txtdump.h"
#include "names.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "names.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gmx_ga2la.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "copyrite.h"
#include "macros.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/linearalgebra/nrjac.h"
#include <stdlib.h>
-#include "sysstuff.h"
-#include "princ.h"
-#include "gromacs/fileio/futil.h"
-#include "vec.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "types/commrec.h"
#include "names.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "macros.h"
-#include "symtab.h"
-#include "index.h"
#include "gromacs/fileio/confio.h"
#include "network.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "pull.h"
#include "gmx_ga2la.h"
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _GMX_RANDOM_H_
-#define _GMX_RANDOM_H_
+#ifndef GMX_RANDOM_RANDOM_H
+#define GMX_RANDOM_RANDOM_H
-#include <stdio.h>
-#include "types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
/*! Fixed random number seeds for different types of RNG */
-#define RND_SEED_UPDATE 1 /*!< For coordinate update (sd, bd, ..) */
-#define RND_SEED_REPLEX 2 /*!< For replica exchange */
-#define RND_SEED_VRESCALE 3 /*!< For V-rescale thermostat */
-#define RND_SEED_ANDERSEN 4 /*!< For Andersen thermostat */
-#define RND_SEED_TPI 5 /*!< For test particle insertion */
-#define RND_SEED_EXPANDED 6 /*!< For expanded emseble methods */
+#define RND_SEED_UPDATE 1 /**< For coordinate update (sd, bd, ..) */
+#define RND_SEED_REPLEX 2 /**< For replica exchange */
+#define RND_SEED_VRESCALE 3 /**< For V-rescale thermostat */
+#define RND_SEED_ANDERSEN 4 /**< For Andersen thermostat */
+#define RND_SEED_TPI 5 /**< For test particle insertion */
+#define RND_SEED_EXPANDED 6 /**< For expanded emseble methods */
/*! \brief Abstract datatype for a random number generator
*
}
#endif
-#endif /* _GMX_RANDOM_H_ */
+#endif
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include "gromacs/selection/centerofmass.h"
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
+#include <errno.h>
+
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/topology.h"
int
gmx_calc_cog(t_topology * /* top */, rvec x[], int nrefat, atom_id index[], rvec xout)
#ifndef GMX_SELECTION_CENTEROFMASS_H
#define GMX_SELECTION_CENTEROFMASS_H
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/simple.h"
+#include "../math/vectypes.h"
+
+struct t_block;
+struct t_blocka;
+struct t_pbc;
+struct t_topology;
/*! \brief
* Calculate a single center of geometry.
#include <math.h>
#include <stdarg.h>
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/poscalc.h"
#include "gromacs/selection/selection.h"
*/
#include <string.h>
-#include "gromacs/legacyheaders/vec.h"
-
#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/poscalc.h"
#include "gromacs/selection/selection.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_SELECTION_EVALUATE_H
#define GMX_SELECTION_EVALUATE_H
-#include "gromacs/legacyheaders/typedefs.h"
-
-#include "gromacs/selection/indexutil.h"
-
#include "selelem.h"
+struct gmx_ana_index_t;
struct gmx_sel_mempool_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
/*! \internal \brief
* Data structure for passing information required during evaluation.
*/
-typedef struct gmx_sel_evaluate_t
+struct gmx_sel_evaluate_t
{
/** Memory pool for intermediate values. */
- struct gmx_sel_mempool_t *mp;
+ gmx_sel_mempool_t *mp;
/** Index group that contains all the atoms. */
gmx_ana_index_t *gall;
/** Topology information. */
t_trxframe *fr;
/** PBC data. */
t_pbc *pbc;
-} gmx_sel_evaluate_t;
+};
/*! \name Utility functions
*/
/** Initializes an evaluation data structure. */
void
_gmx_sel_evaluate_init(gmx_sel_evaluate_t *data,
- struct gmx_sel_mempool_t *mp, gmx_ana_index_t *gall,
+ gmx_sel_mempool_t *mp, gmx_ana_index_t *gall,
t_topology *top, t_trxframe *fr, t_pbc *pbc);
/** Evaluates the children of a general selection element. */
void
*/
#include "gromacs/selection/indexutil.h"
+#include <cstdlib>
#include <cstring>
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/index.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/typedefs.h"
-
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/index.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/smalloc.h"
/********************************************************************
int n = find_group(const_cast<char *>(name), src->nr,
const_cast<char **>(names));
sfree(names);
- if (n == NOTSET)
+ if (n < 0)
{
dest->isize = 0;
return false;
void
gmx_ana_index_sort(gmx_ana_index_t *g)
{
- qsort(g->index, g->isize, sizeof(*g->index), cmp_atomid);
+ std::qsort(g->index, g->isize, sizeof(*g->index), cmp_atomid);
}
/*!
break;
default: /* Should not be reached */
- gmx_bug("internal error");
+ GMX_RELEASE_ASSERT(false, "Unreachable code was reached");
break;
}
}
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_SELECTION_INDEXUTIL_H
#define GMX_SELECTION_INDEXUTIL_H
+#include <cstdio>
+
#include <string>
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/simple.h"
+#include "../topology/block.h"
+
+struct t_topology;
/** Stores a set of index groups. */
-typedef struct gmx_ana_indexgrps_t gmx_ana_indexgrps_t;
+struct gmx_ana_indexgrps_t;
/*! \brief
* Specifies the type of index partition or index mapping in several contexts.
/*! \brief
* Stores a single index group.
*/
-typedef struct gmx_ana_index_t
+struct gmx_ana_index_t
{
/** Number of atoms. */
int isize;
atom_id *index;
/** Number of items allocated for \p index. */
int nalloc_index;
-} gmx_ana_index_t;
+};
/*! \brief
* Data structure for calculating index group mappings.
*/
-typedef struct gmx_ana_indexmap_t
+struct gmx_ana_indexmap_t
{
/** Type of the mapping. */
e_index_t type;
* actually static.
*/
bool bStatic;
-} gmx_ana_indexmap_t;
+};
/*! \name Functions for handling gmx_ana_indexgrps_t
#include "thread_mpi/mutex.h"
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/position.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/gmxassert.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <boost/shared_ptr.hpp>
-#include "../legacyheaders/typedefs.h"
+#include "../math/vectypes.h"
#include "../utility/common.h"
#include "../utility/gmxassert.h"
+#include "../utility/real.h"
-#include "indexutil.h"
-
-struct gmx_ana_pos_t;
+struct t_pbc;
namespace gmx
{
#include <algorithm>
#include <string>
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selmethod.h"
#include "gromacs/selection/selparam.h"
#include <boost/exception_ptr.hpp>
#include <boost/shared_ptr.hpp>
-#include "gromacs/fileio/futil.h"
#include "gromacs/selection/poscalc.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selmethod.h"
#include <list>
#include <string>
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
+#include "gromacs/math/vectypes.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/real.h"
#include "gromacs/utility/uniqueptr.h"
#include "selelem.h"
*/
#include <string.h>
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/centerofmass.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/poscalc.h"
* already been calculated in \p sbase.
* The structure pointed by \p sbase is always a static calculation.
*/
- struct gmx_ana_poscalc_t *sbase;
+ gmx_ana_poscalc_t *sbase;
/** Next structure in the linked list of calculations. */
- struct gmx_ana_poscalc_t *next;
+ gmx_ana_poscalc_t *next;
/** Previous structure in the linked list of calculations. */
- struct gmx_ana_poscalc_t *prev;
+ gmx_ana_poscalc_t *prev;
/** Number of references to this structure. */
int refcount;
/** Collection this calculation belongs to. */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_SELECTION_POSCALC_H
#define GMX_SELECTION_POSCALC_H
-#include "../legacyheaders/typedefs.h"
+#include <cstdio>
#include "../utility/common.h"
} e_poscalc_t;
/** Data structure for position calculation. */
-typedef struct gmx_ana_poscalc_t gmx_ana_poscalc_t;
+struct gmx_ana_poscalc_t;
struct gmx_ana_index_t;
struct gmx_ana_pos_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
namespace gmx
{
gmx_ana_poscalc_set_flags(gmx_ana_poscalc_t *pc, int flags);
/** Sets the maximum possible input index group for position calculation. */
void
-gmx_ana_poscalc_set_maxindex(gmx_ana_poscalc_t *pc, struct gmx_ana_index_t *g);
+gmx_ana_poscalc_set_maxindex(gmx_ana_poscalc_t *pc, gmx_ana_index_t *g);
/** Initializes positions for position calculation output. */
void
-gmx_ana_poscalc_init_pos(gmx_ana_poscalc_t *pc, struct gmx_ana_pos_t *p);
+gmx_ana_poscalc_init_pos(gmx_ana_poscalc_t *pc, gmx_ana_pos_t *p);
/** Frees the memory allocated for position calculation. */
void
gmx_ana_poscalc_free(gmx_ana_poscalc_t *pc);
/** Updates a single COM/COG structure for a frame. */
void
gmx_ana_poscalc_update(gmx_ana_poscalc_t *pc,
- struct gmx_ana_pos_t *p, struct gmx_ana_index_t *g,
+ gmx_ana_pos_t *p, gmx_ana_index_t *g,
t_trxframe *fr, t_pbc *pbc);
#endif
#include <string.h>
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/smalloc.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_SELECTION_POSITION_H
#define GMX_SELECTION_POSITION_H
-#include "../legacyheaders/types/simple.h"
+#include "../math/vectypes.h"
#include "indexutil.h"
// Required before flex definitions, since it includes <stdint.h>.
// Otherwise, compilers not strictly C99 get macro redefinition errors,
// since flex defines INT32_MAX etc. in such cases.
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
// Required before flex definitions, since it includes <stdint.h>.
// Otherwise, compilers not strictly C99 get macro redefinition errors,
// since flex defines INT32_MAX etc. in such cases.
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
}
%{
#include "gromacs/utility/cstringutil.h"
// Required before flex definitions, since it includes <stdint.h>.
// Otherwise, compilers not strictly C99 get macro redefinition errors,
// since flex defines INT32_MAX etc. in such cases.
-#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/utility/basedefinitions.h"
#include <string>
-#include "gromacs/legacyheaders/typedefs.h"
-
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include "selection.h"
+#include "gromacs/topology/topology.h"
+
#include "nbsearch.h"
#include "position.h"
#include "selelem.h"
#include <string>
#include <vector>
-#include "../legacyheaders/typedefs.h"
-
#include "../utility/arrayref.h"
#include "../utility/common.h"
#include "../utility/gmxassert.h"
#include "position.h"
-#include "indexutil.h"
#include "selectionenums.h"
+struct t_topology;
+
namespace gmx
{
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2009,2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2009,2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <boost/scoped_ptr.hpp>
-#include "../legacyheaders/typedefs.h"
-
#include "../onlinehelp/helptopicinterface.h"
#include "../utility/uniqueptr.h"
#include "indexutil.h"
#include "selectioncollection.h"
#include "selelem.h"
+struct gmx_sel_mempool_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
+
namespace gmx
{
/** Topology for the collection. */
t_topology *top;
/** Index group that contains all the atoms. */
- struct gmx_ana_index_t gall;
+ gmx_ana_index_t gall;
/** Memory pool used for selection evaluation. */
- struct gmx_sel_mempool_t *mempool;
+ gmx_sel_mempool_t *mempool;
//! Parser symbol table.
boost::scoped_ptr<gmx::SelectionParserSymbolTable> symtab;
//! Root of help topic tree (NULL is no help yet requested).
#include <boost/shared_ptr.hpp>
#include "gromacs/legacyheaders/oenv.h"
-#include "gromacs/legacyheaders/xvgr.h"
#include "gromacs/onlinehelp/helpmanager.h"
#include "gromacs/onlinehelp/helpwritercontext.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
#include "gromacs/selection/selection.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/file.h"
#include "gromacs/utility/gmxassert.h"
#ifndef GMX_SELECTION_SELECTIONCOLLECTION_H
#define GMX_SELECTION_SELECTIONCOLLECTION_H
+#include <cstdio>
+
#include <string>
#include <vector>
-#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/oenv.h"
#include "../onlinehelp/helptopicinterface.h"
#include "../utility/common.h"
#include "selection.h" // For gmx::SelectionList
struct gmx_ana_indexgrps_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
namespace gmx
{
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
explicit SelectionFileOption(const char *name);
private:
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
};
/*! \libinternal \brief
* Does not throw.
*/
explicit SelectionFileOptionInfo(SelectionFileOptionStorage *option);
-
- //! \copydoc SelectionOptionInfo::setManager()
- void setManager(SelectionOptionManager *manager);
-
- private:
- SelectionFileOptionStorage &option();
- const SelectionFileOptionStorage &option() const;
};
} // namespace gmx
* Initializes the storage from option settings.
*
* \param[in] settings Storage settings.
+ * \param manager Manager for this object.
*/
- SelectionFileOptionStorage(const SelectionFileOption &settings);
+ SelectionFileOptionStorage(const SelectionFileOption &settings,
+ SelectionOptionManager *manager);
virtual OptionInfo &optionInfo() { return info_; }
virtual std::string typeString() const { return "file"; }
virtual int valueCount() const { return 0; }
virtual std::string formatValue(int /*i*/) const { return ""; }
- //! \copydoc SelectionFileOptionInfo::setManager()
- void setManager(SelectionOptionManager *manager)
- {
- manager_ = manager;
- }
-
private:
virtual void clearSet();
virtual void convertValue(const std::string &value);
virtual void processSet();
virtual void processAll() {}
- SelectionFileOptionInfo info_;
- SelectionOptionManager *manager_;
- bool bValueParsed_;
+ SelectionFileOptionInfo info_;
+ SelectionOptionManager &manager_;
+ bool bValueParsed_;
};
} // namespace gmx
#include <string>
+#include "gromacs/options/optionmanagercontainer.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoptionmanager.h"
#include "gromacs/utility/exceptions.h"
* SelectionOptionStorage
*/
-SelectionOptionStorage::SelectionOptionStorage(const SelectionOption &settings)
+SelectionOptionStorage::SelectionOptionStorage(const SelectionOption &settings,
+ SelectionOptionManager *manager)
: MyBase(settings, OptionFlags() | efOption_NoDefaultValue
| efOption_DontCheckMinimumCount),
- info_(this), manager_(NULL), defaultText_(settings.defaultText_),
+ info_(this), manager_(*manager), defaultText_(settings.defaultText_),
selectionFlags_(settings.selectionFlags_)
{
+ GMX_RELEASE_ASSERT(manager != NULL,
+ "SelectionOptionManager must be added before SelectionOption");
GMX_RELEASE_ASSERT(!hasFlag(efOption_MultipleTimes),
"allowMultiple() is not supported for selection options");
-}
-
-
-void SelectionOptionStorage::setManager(SelectionOptionManager *manager)
-{
- GMX_RELEASE_ASSERT(manager_ == NULL || manager_ == manager,
- "Manager cannot be changed once set");
- if (manager_ == NULL)
- {
- manager->registerOption(this);
- manager_ = manager;
- }
+ manager_.registerOption(this);
}
void SelectionOptionStorage::convertValue(const std::string &value)
{
- GMX_RELEASE_ASSERT(manager_ != NULL, "Manager is not set");
-
- manager_->convertOptionValue(this, value, false);
+ manager_.convertOptionValue(this, value, false);
}
void SelectionOptionStorage::processSetValues(ValueList *values)
{
- GMX_RELEASE_ASSERT(manager_ != NULL, "Manager is not set");
-
if (values->size() == 0)
{
- manager_->requestOptionDelayedParsing(this);
+ manager_.requestOptionDelayedParsing(this);
}
else if (values->size() < static_cast<size_t>(minValueCount()))
{
void SelectionOptionStorage::processAll()
{
- GMX_RELEASE_ASSERT(manager_ != NULL, "Manager is not set");
if (!isSet() && !defaultText_.empty())
{
- manager_->convertOptionValue(this, defaultText_, true);
+ manager_.convertOptionValue(this, defaultText_, true);
}
if (isRequired() && !isSet())
{
- manager_->requestOptionDelayedParsing(this);
+ manager_.requestOptionDelayedParsing(this);
markAsSet();
}
}
return static_cast<const SelectionOptionStorage &>(OptionInfo::option());
}
-void SelectionOptionInfo::setManager(SelectionOptionManager *manager)
-{
- option().setManager(manager);
-}
-
void SelectionOptionInfo::setValueCount(int count)
{
option().setAllowedValueCount(count);
* SelectionOption
*/
-AbstractOptionStoragePointer SelectionOption::createStorage() const
+AbstractOptionStoragePointer
+SelectionOption::createStorage(const OptionManagerContainer &managers) const
{
- return AbstractOptionStoragePointer(new SelectionOptionStorage(*this));
+ return AbstractOptionStoragePointer(
+ new SelectionOptionStorage(
+ *this, managers.get<SelectionOptionManager>()));
}
* SelectionFileOptionStorage
*/
-SelectionFileOptionStorage::SelectionFileOptionStorage(const SelectionFileOption &settings)
+SelectionFileOptionStorage::SelectionFileOptionStorage(
+ const SelectionFileOption &settings, SelectionOptionManager *manager)
: AbstractOptionStorage(settings, OptionFlags() | efOption_MultipleTimes
| efOption_DontCheckMinimumCount),
- info_(this), manager_(NULL), bValueParsed_(false)
+ info_(this), manager_(*manager), bValueParsed_(false)
{
+ GMX_RELEASE_ASSERT(manager != NULL,
+ "SelectionOptionManager must be added before SelectionFileOption");
}
void SelectionFileOptionStorage::clearSet()
void SelectionFileOptionStorage::convertValue(const std::string &value)
{
- GMX_RELEASE_ASSERT(manager_ != NULL, "Manager is not set");
-
if (bValueParsed_)
{
GMX_THROW(InvalidInputError("More than one file name provided"));
}
bValueParsed_ = true;
// TODO: Should we throw an InvalidInputError if the file does not exist?
- manager_->parseRequestedFromFile(value);
+ manager_.parseRequestedFromFile(value);
}
void SelectionFileOptionStorage::processSet()
{
}
-SelectionFileOptionStorage &SelectionFileOptionInfo::option()
-{
- return static_cast<SelectionFileOptionStorage &>(OptionInfo::option());
-}
-
-const SelectionFileOptionStorage &SelectionFileOptionInfo::option() const
-{
- return static_cast<const SelectionFileOptionStorage &>(OptionInfo::option());
-}
-
-void SelectionFileOptionInfo::setManager(SelectionOptionManager *manager)
-{
- option().setManager(manager);
-}
-
/********************************************************************
* SelectionFileOption
setDescription("Provide selections from files");
}
-AbstractOptionStoragePointer SelectionFileOption::createStorage() const
+AbstractOptionStoragePointer
+SelectionFileOption::createStorage(const OptionManagerContainer &managers) const
{
- return AbstractOptionStoragePointer(new SelectionFileOptionStorage(*this));
+ return AbstractOptionStoragePointer(
+ new SelectionFileOptionStorage(
+ *this, managers.get<SelectionOptionManager>()));
}
} // namespace gmx
*
* Public methods in this class do not throw.
*
+ * To use options of this type, SelectionOptionManager must first be added to
+ * the Options collection. For trajectory analysis tools, the framework takes
+ * care of this.
+ *
* \todo
* Support for specifying that an option accepts, e.g., two to four selections.
* Currently, only a fixed count or any number of selections is possible.
using MyBase::defaultValue;
using MyBase::defaultValueIfSet;
- virtual AbstractOptionStoragePointer createStorage() const;
+ virtual AbstractOptionStoragePointer createStorage(
+ const OptionManagerContainer &managers) const;
const char *defaultText_;
SelectionFlags selectionFlags_;
*/
explicit SelectionOptionInfo(SelectionOptionStorage *option);
- /*! \brief
- * Set manager for handling interaction with other options and the
- * selection collection.
- *
- * \param manager Selection manager to set.
- *
- * This must be called before the values are added.
- *
- * Typically it is called through setManagerForSelectionOptions(),
- * which recursively sets the manager for all selection options in
- * an Options object.
- *
- * Does not throw.
- */
- void setManager(SelectionOptionManager *manager);
-
/*! \brief
* Sets the number of selections allowed for the option.
*
#include <cstdio>
-#include "gromacs/options/optionsvisitor.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectioncollection.h"
#include "gromacs/selection/selectionoption.h"
impl_->placeSelectionsInRequests(selections);
}
-/********************************************************************
- * Global functions
- */
-
-namespace
-{
-
-/*! \internal \brief
- * Visitor that sets the manager for each selection option.
- *
- * \ingroup module_selection
- */
-class SelectionOptionManagerSetter : public OptionsModifyingVisitor
-{
- public:
- //! Construct a visitor that sets given manager.
- explicit SelectionOptionManagerSetter(SelectionOptionManager *manager)
- : manager_(manager)
- {
- }
-
- void visitSubSection(Options *section)
- {
- OptionsModifyingIterator iterator(section);
- iterator.acceptSubSections(this);
- iterator.acceptOptions(this);
- }
-
- void visitOption(OptionInfo *option)
- {
- SelectionOptionInfo *selOption
- = option->toType<SelectionOptionInfo>();
- if (selOption != NULL)
- {
- selOption->setManager(manager_);
- }
- SelectionFileOptionInfo *selFileOption
- = option->toType<SelectionFileOptionInfo>();
- if (selFileOption != NULL)
- {
- selFileOption->setManager(manager_);
- }
- }
-
- private:
- SelectionOptionManager *manager_;
-};
-
-} // namespace
-
-void setManagerForSelectionOptions(Options *options,
- SelectionOptionManager *manager)
-{
- SelectionOptionManagerSetter(manager).visitSubSection(options);
-}
-
} // namespace gmx
#include <string>
+#include "../options/options.h"
#include "../utility/common.h"
namespace gmx
* require actions outside options parsing.
* It also implements the coupling between SelectionOption and
* SelectionFileOption.
+ * It needs to be added using Options::addManager() before SelectionOption or
+ * SelectionFileOption options can be added to an Options collection.
*
* The main features of this class are:
* - convertOptionValue(), which is used to convert string values into
* parseRequestedFromStdin(), parseRequestedFromFile() or
* parseRequstedFromString().
*
- * \see setManagerForSelectionOptions()
- *
* \inpublicapi
* \ingroup module_selection
*/
-class SelectionOptionManager
+class SelectionOptionManager : public OptionManagerInterface
{
public:
/*! \brief
* \throws std::bad_alloc if out of memory.
*/
explicit SelectionOptionManager(SelectionCollection *selections);
- ~SelectionOptionManager();
+ virtual ~SelectionOptionManager();
/*! \brief
* Adds a selection option to be managed.
friend class SelectionOptionStorage;
};
-/*! \brief
- * Set manager for all selection options.
- *
- * Recursively sets the manager to \p manager for all selection options in
- * \p options.
- * Must be called before value assignment starts for \p options.
- *
- * Does not throw.
- *
- * \inpublicapi
- */
-void setManagerForSelectionOptions(Options *options,
- SelectionOptionManager *manager);
-
} // namespace gmx
#endif
* Initializes the storage from option settings.
*
* \param[in] settings Storage settings.
+ * \param manager Manager for this object.
*/
- SelectionOptionStorage(const SelectionOption &settings);
+ SelectionOptionStorage(const SelectionOption &settings,
+ SelectionOptionManager *manager);
virtual OptionInfo &optionInfo() { return info_; }
virtual std::string typeString() const { return "selection"; }
virtual std::string formatSingleValue(const Selection &value) const;
- //! \copydoc SelectionOptionInfo::setManager()
- void setManager(SelectionOptionManager *manager);
-
/*! \brief
* Adds selections to the storage.
*
virtual void processAll();
SelectionOptionInfo info_;
- SelectionOptionManager *manager_;
+ SelectionOptionManager &manager_;
std::string defaultText_;
SelectionFlags selectionFlags_;
};
#include <boost/shared_ptr.hpp>
-#include "gromacs/legacyheaders/types/simple.h"
#include "gromacs/utility/common.h"
+#include "gromacs/utility/real.h"
#include "indexutil.h"
#include "selvalue.h"
#ifndef GMX_SELECTION_SELMETHOD_H
#define GMX_SELECTION_SELMETHOD_H
-#include "../legacyheaders/typedefs.h"
-
-#include "indexutil.h"
#include "selparam.h"
#include "selvalue.h"
class SelectionParserSymbolTable;
} // namespace gmx
+struct gmx_ana_index_t;
struct gmx_ana_pos_t;
struct gmx_ana_selcollection_t;
+struct t_pbc;
+struct t_topology;
+struct t_trxframe;
/*! \name Selection method flags
* \anchor selmethod_flags
* pointers that can be discarded without memory leaks.
*/
typedef void (*sel_updatefunc_pos)(t_topology *top, t_trxframe *fr, t_pbc *pbc,
- struct gmx_ana_pos_t *pos,
- gmx_ana_selvalue_t *out,
+ gmx_ana_pos_t *pos, gmx_ana_selvalue_t *out,
void *data);
/*! \internal
* If some information is not available, the corresponding field can be set to
* 0/NULL.
*/
-typedef struct gmx_ana_selmethod_help_t
+struct gmx_ana_selmethod_help_t
{
/*! \brief
* One-line description of the syntax of the method.
* to NULL.
*/
const char **help;
-} gmx_ana_selmethod_help_t;
+};
/*! \internal
* \brief
* More details on implementing new selection methods can be found on a
* separate page: \ref page_module_selection_custom.
*/
-typedef struct gmx_ana_selmethod_t
+struct gmx_ana_selmethod_t
{
/** Name of the method. */
const char *name;
/** Help data for the method. */
gmx_ana_selmethod_help_t help;
-} gmx_ana_selmethod_t;
+};
/** Registers a selection method. */
int
#ifndef GMX_SELECTION_SELVALUE_H
#define GMX_SELECTION_SELVALUE_H
-#include "../legacyheaders/types/simple.h"
+#include "../utility/real.h"
/** Defines the value type of a different selection objects. */
typedef enum
* \ingroup module_selection
*/
#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/nbsearch.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selmethod.h"
static void
init_common(t_topology * /* top */, int /* npar */, gmx_ana_selparam_t *param, void *data)
{
- t_methoddata_distance *d = (t_methoddata_distance *)data;
+ t_methoddata_distance *d = static_cast<t_methoddata_distance *>(data);
if ((param[0].flags & SPAR_SET) && d->cutoff <= 0)
{
static void
init_frame_common(t_topology * /* top */, t_trxframe * /* fr */, t_pbc *pbc, void *data)
{
- t_methoddata_distance *d = (t_methoddata_distance *)data;
+ t_methoddata_distance *d = static_cast<t_methoddata_distance *>(data);
d->nbsearch.reset();
gmx::AnalysisNeighborhoodPositions pos(d->p.x, d->p.count());
evaluate_distance(t_topology * /* top */, t_trxframe * /* fr */, t_pbc * /* pbc */,
gmx_ana_pos_t *pos, gmx_ana_selvalue_t *out, void *data)
{
- t_methoddata_distance *d = (t_methoddata_distance *)data;
+ t_methoddata_distance *d = static_cast<t_methoddata_distance *>(data);
out->nr = pos->m.mapb.nra;
for (int b = 0; b < pos->count(); ++b)
evaluate_within(t_topology * /* top */, t_trxframe * /* fr */, t_pbc * /* pbc */,
gmx_ana_pos_t *pos, gmx_ana_selvalue_t *out, void *data)
{
- t_methoddata_distance *d = (t_methoddata_distance *)data;
+ t_methoddata_distance *d = static_cast<t_methoddata_distance *>(data);
out->u.g->isize = 0;
for (int b = 0; b < pos->count(); ++b)
#include <math.h>
#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/physics.h"
-#include "gromacs/legacyheaders/vec.h"
+#include "gromacs/math/units.h"
#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selection.h"
* \ingroup module_selection
*/
#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selmethod.h"
#include "gromacs/utility/common.h"
* \ingroup module_selection
*/
#include "gromacs/legacyheaders/macros.h"
-#include "gromacs/legacyheaders/vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selmethod.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/legacyheaders/macros.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/selection/position.h"
#include "gromacs/selection/selmethod.h"
#include "gromacs/utility/exceptions.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
*/
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/typedefs.h"
-
#include "gromacs/selection/indexutil.h"
+#include "gromacs/topology/block.h"
#include "testutils/refdata.h"
#include <set>
#include <vector>
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
-
-#include "gromacs/selection/nbsearch.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/random/random.h"
+#include "gromacs/selection/nbsearch.h"
#include "gromacs/utility/smalloc.h"
#include "testutils/testasserts.h"
#include <vector>
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/poscalc.h"
#include "gromacs/selection/position.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/uniqueptr.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/selectioncollection.h"
#include "gromacs/selection/selection.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/flags.h"
public:
SelectionOptionTestBase();
- void setManager();
void loadTopology(const char *filename);
gmx::SelectionCollection sc_;
SelectionOptionTestBase::SelectionOptionTestBase()
: manager_(&sc_), options_(NULL, NULL)
{
+ options_.addManager(&manager_);
sc_.setReferencePosType("atom");
sc_.setOutputPosType("atom");
}
-void SelectionOptionTestBase::setManager()
-{
- setManagerForSelectionOptions(&options_, &manager_);
-}
-
void SelectionOptionTestBase::loadTopology(const char *filename)
{
topManager_.loadTopology(filename);
gmx::Selection sel;
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(SelectionOption("sel").store(&sel)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(&sel).onlyStatic()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(&sel).onlyAtoms()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(&sel)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(&sel)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
gmx::Selection sel;
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(SelectionOption("sel").store(&sel)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(sel).valueCount(2)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
options_.addOption(SelectionOption("sel").store(&sel)
.defaultSelectionText("all"));
- setManager();
EXPECT_NO_THROW_GMX(options_.finish());
using gmx::SelectionOption;
gmx::SelectionOptionInfo *info = options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue());
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
gmx::SelectionOptionInfo *info = options_.addOption(
SelectionOption("sel").store(&sel));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
gmx::SelectionOptionInfo *info = options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue());
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
gmx::SelectionOptionInfo *info = options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue());
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(&sel).required()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").store(sel).required()
.valueCount(2)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
gmx::Selection sel;
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(SelectionOption("sel").store(&sel)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
gmx::SelectionOptionInfo *info = options_.addOption(
SelectionOption("sel").storeVector(&sel).valueCount(3));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("reqsel").storeVector(&reqsel)
.multiValue().required()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
SelectionOption("sel1").storeVector(&sel1).multiValue()));
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel2").storeVector(&sel2).multiValue()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
std::string value(TestFileManager::getInputFilePath("selfile.dat"));
SelectionOption("sel1").storeVector(&sel1)));
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel2").storeVector(&sel2)));
- setManager();
gmx::OptionsAssigner assigner(&options_);
std::string value(TestFileManager::getInputFilePath("selfile.dat"));
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("optsel").storeVector(&optsel)
.multiValue()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel2").storeVector(&sel2)
.multiValue().required()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
SelectionOption("sel1").storeVector(&sel1).required()));
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel2").storeVector(&sel2).required()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
std::string value(TestFileManager::getInputFilePath("selfile.dat"));
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
using gmx::SelectionOption;
ASSERT_NO_THROW_GMX(options_.addOption(
SelectionOption("sel").storeVector(&sel).multiValue()));
- setManager();
gmx::OptionsAssigner assigner(&options_);
EXPECT_NO_THROW_GMX(assigner.start());
#include <cstring>
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/vec.h"
-
+#include "gromacs/math/vec.h"
#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trx.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/smalloc.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include <vector>
-#include "gromacs/legacyheaders/typedefs.h"
+struct t_topology;
+struct t_trxframe;
namespace gmx
{
#include <math.h>
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/*! \cond libapi */
/*! \addtogroup module_simd */
#endif
#include <stddef.h>
-#include "gromacs/legacyheaders/types/simple.h"
+
+#include "gromacs/utility/basedefinitions.h"
/* Forward declarations so memory allocation can be used in implementations */
static gmx_inline float * gmx_simd_align_f(float *p);
* \ingroup module_simd
*/
#include <vector>
+
#include <gtest/gtest.h>
-#include "gromacs/simd/simd.h"
+#include "gromacs/simd/simd.h"
+#include "gromacs/utility/real.h"
namespace gmx
{
* conservative so it works with (inverse) square root, division,
* exponentials, logarithms, and error functions.
*/
- SimdBaseTest()
- {
+ SimdBaseTest() :
#ifdef GMX_DOUBLE
- ulpTol_ = 255LL; // Aim for roughly twice the precision we have in single.
+ ulpTol_(255LL), // Aim for roughly twice the precision we have in single.
#else
- ulpTol_ = 10LL; // Be a bit liberal so compiler optimization doesn't bite us.
+ ulpTol_(10LL), // Be a bit liberal so compiler optimization doesn't bite us.
#endif
- absTol_ = 0;
- range_ = std::pair<real, real>(1, 10);
+ absTol_(0), range_(std::pair<real, real>(1, 10))
+ {
}
/*! \brief Adjust ulp tolerance from the default 10 (float) or 255 (double). */
*/
#include <gtest/gtest.h>
+
#include "gromacs/simd/simd.h"
+#include "gromacs/utility/real.h"
namespace
{
* the research papers on the package. Check out http://www.gromacs.org.
*/
#include "statistics.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <math.h>
-#include "typedefs.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/real.h"
#include "gromacs/utility/smalloc.h"
-#include "vec.h"
static int gmx_dnint(double x)
{
#ifndef GMX_STATISTICS_H
#define GMX_STATISTICS_H
+#include <stdio.h>
+
+#include "gromacs/utility/real.h"
+
/*! \libinternal \file
*
* \brief
#ifdef __cplusplus
extern "C" {
#endif
-#include <stdio.h>
-#include "types/simple.h"
//! Abstract container type
typedef struct gmx_stats *gmx_stats_t;
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "statistics.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
-#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "vec.h"
+
+#include "gromacs/math/vec.h"
#include "gromacs/random/random.h"
-#include "statistics.h"
+#include "gromacs/utility/real.h"
+#include "gromacs/utility/smalloc.h"
static void horizontal()
{
#include <stdlib.h>
#include <string.h>
#include <time.h>
+
#include "typedefs.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/mdlib/groupcoord.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "names.h"
#include "network.h"
#include "mdrun.h"
-#include "xvgr.h"
+#include "gromacs/fileio/xvgr.h"
#include "copyrite.h"
#include "gromacs/fileio/confio.h"
#include "gromacs/timing/wallcycle.h"
#include "swapcoords.h"
+#include "gromacs/pbcutil/pbc.h"
+
static char *SwS = {"SWAP:"}; /**< For output that comes from the swap module */
static char *SwSEmpty = {" "}; /**< Placeholder for multi-line output */
static char* IonString[eIonNR] = {"anion", "cation" }; /**< Type of ion, used for verbose output */
set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TIMING_SOURCES} PARENT_SCOPE)
set(TIMING_PUBLIC_HEADERS
+ wallcycle.h
walltime_accounting.h)
+
gmx_install_headers(timing ${TIMING_PUBLIC_HEADERS})
if (BUILD_TESTING)
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
-#include "md_logging.h"
+#include "gromacs/legacyheaders/md_logging.h"
+#include "gromacs/legacyheaders/types/commrec.h"
#include "gromacs/utility/cstringutil.h"
-
-#include "gromacs/timing/cyclecounter.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/smalloc.h"
+
+#include "cyclecounter.h"
/* DEBUG_WCYCLE adds consistency checking for the counters.
* It checks if you stop a counter different from the last
#define GMX_TIMING_WALLCYCLE_H
#include <stdio.h>
-#include "gromacs/legacyheaders/typedefs.h"
-#include "gromacs/legacyheaders/types/commrec.h"
+
+#include "../legacyheaders/types/commrec_fwd.h"
+#include "../legacyheaders/types/nbnxn_cuda_types_ext.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+typedef struct gmx_wallcycle *gmx_wallcycle_t;
+
enum {
ewcRUN, ewcSTEP, ewcPPDURINGPME, ewcDOMDEC, ewcDDCOMMLOAD,
ewcDDCOMMBOUND, ewcVSITECONSTR, ewcPP_PMESENDX, ewcNS, ewcLAUNCH_GPU_NB,
#include <sys/time.h>
#endif
-#include "gromacs/legacyheaders/types/simple.h"
-
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/smalloc.h"
/* TODO in future: convert gmx_walltime_accounting to a class,
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_TIMING_WALLTIME_ACCOUNTING_H
#define GMX_TIMING_WALLTIME_ACCOUNTING_H
-#include "../legacyheaders/types/simple.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-/*! Contains per-process and per-thread data about elapsed wall-clock
- * times and integration steps performed. */
+/*! \brief
+ * Contains per-process and per-thread data about elapsed wall-clock
+ * times and integration steps performed. */
typedef struct gmx_walltime_accounting *gmx_walltime_accounting_t;
//! Constructor
void
walltime_accounting_destroy(gmx_walltime_accounting_t walltime_accounting);
-/*! Record initial time stamps, e.g. at run end or counter
- * re-initalization time */
+/*! \brief
+ * Record initial time stamps, e.g. at run end or counter re-initalization time
+ */
void
walltime_accounting_start(gmx_walltime_accounting_t walltime_accounting);
-/*! Measure and cache the elapsed wall-clock time since
- * walltime_accounting_start */
+/*! \brief
+ * Measure and cache the elapsed wall-clock time since
+ * walltime_accounting_start() */
void
walltime_accounting_end(gmx_walltime_accounting_t walltime_accounting);
-/*! Measure and return the elapsed wall-clock time since
- * walltime_accounting_start */
+/*! \brief
+ * Measure and return the elapsed wall-clock time since
+ * walltime_accounting_start() */
double
walltime_accounting_get_current_elapsed_time(gmx_walltime_accounting_t walltime_accounting);
double
walltime_accounting_get_nsteps_done(gmx_walltime_accounting_t walltime_accounting);
-/*! Set the number of integration steps done
+/*! \brief Set the number of integration steps done
*
* TODO consider whether this should get done in walltime_accounting_end */
void
walltime_accounting_set_nsteps_done(gmx_walltime_accounting_t walltime_accounting,
gmx_int64_t nsteps_done);
-/*! \brief Calls system timing routines (e.g. clock_gettime) to get the
- * (fractional) number of seconds elapsed since the epoch.
+/*! \brief
+ * Calls system timing routines (e.g. clock_gettime) to get the (fractional)
+ * number of seconds elapsed since the epoch.
*
* Resolution is implementation-dependent, but typically nanoseconds
* or microseconds. */
#include <stdio.h>
#include <string.h>
-#include "main.h"
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
-#include "atomprop.h"
-#include "vec.h"
-#include "pbc.h"
-#include "physics.h"
-#include "index.h"
-#include "gromacs/utility/smalloc.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/math/units.h"
+#include "gromacs/topology/index.h"
#include "names.h"
-#include "mtop_util.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/xtcio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/mtop_util.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#include "compare.h"
typedef struct {
#include <math.h>
#include <stdio.h>
#include <string.h>
-#include "main.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "gromacs/fileio/futil.h"
-#include "sysstuff.h"
+#include "gromacs/utility/futil.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "names.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/enxio.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/utility/cstringutil.h"
static void cmp_int(FILE *fp, const char *s, int index, int i1, int i2)
#endif
#include <math.h>
-#include "index.h"
-#include "gmx_fatal.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
+
+#include "gromacs/legacyheaders/types/inputrec.h"
+#include "gromacs/legacyheaders/types/simple.h"
+#include "gromacs/legacyheaders/types/state.h"
+#include "gromacs/topology/index.h"
#include "macros.h"
#include "names.h"
-#include "typedefs.h"
#include "gromacs/gmxpreprocess/readir.h"
-#include "gromacs/commandline/pargs.h"
-#include "vec.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "checkpoint.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/enxio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
+
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/math/vec.h"
#include "gromacs/random/random.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
#define RANGECHK(i, n) if ((i) >= (n)) gmx_fatal(FARGS, "Your index file contains atomnumbers (e.g. %d)\nthat are larger than the number of atoms in the tpr file (%d)", (i), (n))
#include <config.h>
#endif
+#include <assert.h>
+#include <math.h>
#include <stdio.h>
#include <string.h>
-#include <math.h>
-#include <assert.h>
-#include "main.h"
+
#include "macros.h"
-#include "gromacs/commandline/pargs.h"
-#include "sysstuff.h"
#include "txtdump.h"
-#include "gmx_fatal.h"
-#include "gromacs/utility/smalloc.h"
#include "names.h"
#include "txtdump.h"
-#include "gromacs/gmxpreprocess/gmxcpp.h"
#include "checkpoint.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/fileio/xtcio.h"
#include "gromacs/fileio/enxio.h"
#include "gromacs/fileio/gmxfio.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/fileio/trnio.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/fileio/tngio.h"
#include "gromacs/fileio/tngio_for_tools.h"
#include <unistd.h>
#endif
-#include "gromacs/linearalgebra/mtxio.h"
+#include "gromacs/commandline/pargs.h"
+#include "gromacs/fileio/mtxio.h"
+#include "gromacs/gmxpreprocess/gmxcpp.h"
#include "gromacs/linearalgebra/sparsematrix.h"
-
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void list_tpx(const char *fn, gmx_bool bShowNumbers, const char *mdpfn,
gmx_bool bSysTop)
#ifndef GMX_TOOLS_DUMP_H
#define GMX_TOOLS_DUMP_H
-#include "gromacs/legacyheaders/types/simple.h"
-
#ifdef __cplusplus
extern "C" {
#endif
--- /dev/null
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2014, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+file(GLOB TOPOLOGY_SOURCES *.cpp *.c)
+set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${TOPOLOGY_SOURCES} PARENT_SCOPE)
+
+set(TOPOLOGY_PUBLIC_HEADERS
+ atomprop.h
+ atoms.h
+ block.h
+ idef.h
+ index.h
+ mtop_util.h
+ symtab.h
+ topology.h)
+
+gmx_install_headers(topology ${TOPOLOGY_PUBLIC_HEADERS})
+
+if (BUILD_TESTING)
+# add_subdirectory(tests)
+endif()
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/topology/atomprop.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <ctype.h>
#include <string.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gmx_fatal.h"
-#include "atomprop.h"
-#include "macros.h"
-#include "index.h"
-#include "copyrite.h"
-
-#include "gromacs/fileio/futil.h"
#include "gromacs/fileio/strdb.h"
+#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/math/utilities.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
typedef struct {
gmx_bool bSet;
} aprop_t;
typedef struct gmx_atomprop {
- gmx_bool bWarned, bWarnVDW;
- aprop_t prop[epropNR];
- gmx_residuetype_t restype;
+ gmx_bool bWarned, bWarnVDW;
+ aprop_t prop[epropNR];
+ gmx_residuetype_t *restype;
} gmx_atomprop;
return i;
}
-static int get_prop_index(aprop_t *ap, gmx_residuetype_t restype,
+static int get_prop_index(aprop_t *ap, gmx_residuetype_t *restype,
char *resnm, char *atomnm,
gmx_bool *bExact)
{
return j;
}
-static void add_prop(aprop_t *ap, gmx_residuetype_t restype,
+static void add_prop(aprop_t *ap, gmx_residuetype_t *restype,
char *resnm, char *atomnm,
real p, int line)
{
while (get_a_line(fp, line, STRLEN))
{
line_no++;
- if (sscanf(line, "%s %s %lf", resnm, atomnm, &pp) == 3)
+ if (sscanf(line, "%31s %31s %20lf", resnm, atomnm, &pp) == 3)
{
pp *= factor;
add_prop(ap, aps->restype, resnm, atomnm, pp, line_no);
gmx_atomprop_t gmx_atomprop_init(void)
{
gmx_atomprop *aps;
- int p;
snew(aps, 1);
real *value)
{
gmx_atomprop *ap = (gmx_atomprop*) aps;
- size_t i;
int j;
#define MAXQ 32
char atomname[MAXQ], resname[MAXQ];
}
if (isdigit(atomnm[0]))
{
+ int i;
/* put digit after atomname */
- for (i = 1; (i < min(MAXQ-1, strlen(atomnm))); i++)
+ for (i = 1; i < MAXQ-1 && atomnm[i] != '\0'; i++)
{
atomname[i-1] = atomnm[i];
}
return gmx_nint(ap->prop[epropElement].value[i]);
}
}
- return NOTSET;
+ return -1;
}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_TOPOLOGY_ATOMPROP_H
+#define GMX_TOPOLOGY_ATOMPROP_H
-#ifndef _atomprop_h
-#define _atomprop_h
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
-#include "index.h"
-
/* Abstract type for the atom property database */
typedef struct gmx_atomprop *gmx_atomprop_t;
}
#endif
-
#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "gromacs/topology/atoms.h"
+
+#include <cstring>
+
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/smalloc.h"
+
+void init_atom(t_atoms *at)
+{
+ at->nr = 0;
+ at->nres = 0;
+ at->atom = NULL;
+ at->resinfo = NULL;
+ at->atomname = NULL;
+ at->atomtype = NULL;
+ at->atomtypeB = NULL;
+ at->pdbinfo = NULL;
+}
+
+void init_atomtypes(t_atomtypes *at)
+{
+ at->nr = 0;
+ at->radius = NULL;
+ at->vol = NULL;
+ at->atomnumber = NULL;
+ at->gb_radius = NULL;
+ at->S_hct = NULL;
+}
+
+void done_atom(t_atoms *at)
+{
+ at->nr = 0;
+ at->nres = 0;
+ sfree(at->atom);
+ sfree(at->resinfo);
+ sfree(at->atomname);
+ sfree(at->atomtype);
+ sfree(at->atomtypeB);
+ if (at->pdbinfo)
+ {
+ sfree(at->pdbinfo);
+ }
+}
+
+void done_atomtypes(t_atomtypes *atype)
+{
+ atype->nr = 0;
+ sfree(atype->radius);
+ sfree(atype->vol);
+ sfree(atype->surftens);
+ sfree(atype->atomnumber);
+ sfree(atype->gb_radius);
+ sfree(atype->S_hct);
+}
+
+void add_t_atoms(t_atoms *atoms, int natom_extra, int nres_extra)
+{
+ int i;
+
+ if (natom_extra > 0)
+ {
+ srenew(atoms->atomname, atoms->nr+natom_extra);
+ srenew(atoms->atom, atoms->nr+natom_extra);
+ if (NULL != atoms->pdbinfo)
+ {
+ srenew(atoms->pdbinfo, atoms->nr+natom_extra);
+ }
+ if (NULL != atoms->atomtype)
+ {
+ srenew(atoms->atomtype, atoms->nr+natom_extra);
+ }
+ if (NULL != atoms->atomtypeB)
+ {
+ srenew(atoms->atomtypeB, atoms->nr+natom_extra);
+ }
+ for (i = atoms->nr; (i < atoms->nr+natom_extra); i++)
+ {
+ atoms->atomname[i] = NULL;
+ memset(&atoms->atom[i], 0, sizeof(atoms->atom[i]));
+ if (NULL != atoms->pdbinfo)
+ {
+ std::memset(&atoms->pdbinfo[i], 0, sizeof(atoms->pdbinfo[i]));
+ }
+ if (NULL != atoms->atomtype)
+ {
+ atoms->atomtype[i] = NULL;
+ }
+ if (NULL != atoms->atomtypeB)
+ {
+ atoms->atomtypeB[i] = NULL;
+ }
+ }
+ atoms->nr += natom_extra;
+ }
+ if (nres_extra > 0)
+ {
+ srenew(atoms->resinfo, atoms->nres+nres_extra);
+ for (i = atoms->nres; (i < atoms->nres+nres_extra); i++)
+ {
+ std::memset(&atoms->resinfo[i], 0, sizeof(atoms->resinfo[i]));
+ }
+ atoms->nres += nres_extra;
+ }
+}
+
+void init_t_atoms(t_atoms *atoms, int natoms, gmx_bool bPdbinfo)
+{
+ atoms->nr = natoms;
+ atoms->nres = 0;
+ snew(atoms->atomname, natoms);
+ atoms->atomtype = NULL;
+ atoms->atomtypeB = NULL;
+ snew(atoms->resinfo, natoms);
+ snew(atoms->atom, natoms);
+ if (bPdbinfo)
+ {
+ snew(atoms->pdbinfo, natoms);
+ }
+ else
+ {
+ atoms->pdbinfo = NULL;
+ }
+}
+
+t_atoms *copy_t_atoms(t_atoms *src)
+{
+ t_atoms *dst;
+ int i;
+
+ snew(dst, 1);
+ init_t_atoms(dst, src->nr, (NULL != src->pdbinfo));
+ dst->nr = src->nr;
+ if (NULL != src->atomname)
+ {
+ snew(dst->atomname, src->nr);
+ }
+ if (NULL != src->atomtype)
+ {
+ snew(dst->atomtype, src->nr);
+ }
+ if (NULL != src->atomtypeB)
+ {
+ snew(dst->atomtypeB, src->nr);
+ }
+ for (i = 0; (i < src->nr); i++)
+ {
+ dst->atom[i] = src->atom[i];
+ if (NULL != src->pdbinfo)
+ {
+ dst->pdbinfo[i] = src->pdbinfo[i];
+ }
+ if (NULL != src->atomname)
+ {
+ dst->atomname[i] = src->atomname[i];
+ }
+ if (NULL != src->atomtype)
+ {
+ dst->atomtype[i] = src->atomtype[i];
+ }
+ if (NULL != src->atomtypeB)
+ {
+ dst->atomtypeB[i] = src->atomtypeB[i];
+ }
+ }
+ dst->nres = src->nres;
+ for (i = 0; (i < src->nres); i++)
+ {
+ dst->resinfo[i] = src->resinfo[i];
+ }
+ return dst;
+}
+
+void t_atoms_set_resinfo(t_atoms *atoms, int atom_ind, t_symtab *symtab,
+ const char *resname, int resnr, unsigned char ic,
+ int chainnum, char chainid)
+{
+ t_resinfo *ri;
+
+ ri = &atoms->resinfo[atoms->atom[atom_ind].resind];
+ ri->name = put_symtab(symtab, resname);
+ ri->rtp = NULL;
+ ri->nr = resnr;
+ ri->ic = ic;
+ ri->chainnum = chainnum;
+ ri->chainid = chainid;
+}
+
+void free_t_atoms(t_atoms *atoms, gmx_bool bFreeNames)
+{
+ int i;
+
+ if (bFreeNames && atoms->atomname != NULL)
+ {
+ for (i = 0; i < atoms->nr; i++)
+ {
+ if (atoms->atomname[i] != NULL)
+ {
+ sfree(*atoms->atomname[i]);
+ *atoms->atomname[i] = NULL;
+ }
+ }
+ }
+ if (bFreeNames && atoms->resinfo != NULL)
+ {
+ for (i = 0; i < atoms->nres; i++)
+ {
+ if (atoms->resinfo[i].name != NULL)
+ {
+ sfree(*atoms->resinfo[i].name);
+ *atoms->resinfo[i].name = NULL;
+ }
+ }
+ }
+ if (bFreeNames && atoms->atomtype != NULL)
+ {
+ for (i = 0; i < atoms->nr; i++)
+ {
+ if (atoms->atomtype[i] != NULL)
+ {
+ sfree(*atoms->atomtype[i]);
+ *atoms->atomtype[i] = NULL;
+ }
+ }
+ }
+ if (bFreeNames && atoms->atomtypeB != NULL)
+ {
+ for (i = 0; i < atoms->nr; i++)
+ {
+ if (atoms->atomtypeB[i] != NULL)
+ {
+ sfree(*atoms->atomtypeB[i]);
+ *atoms->atomtypeB[i] = NULL;
+ }
+ }
+ }
+ sfree(atoms->atomname);
+ sfree(atoms->atomtype);
+ sfree(atoms->atomtypeB);
+ sfree(atoms->resinfo);
+ sfree(atoms->atom);
+ sfree(atoms->pdbinfo);
+ atoms->nr = 0;
+ atoms->nres = 0;
+ atoms->atomname = NULL;
+ atoms->atomtype = NULL;
+ atoms->atomtypeB = NULL;
+ atoms->resinfo = NULL;
+ atoms->atom = NULL;
+ atoms->pdbinfo = NULL;
+}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _atoms_h
-#define _atoms_h
+#ifndef GMX_TOPOLOGY_ATOMS_H
+#define GMX_TOPOLOGY_ATOMS_H
-
-#include "simple.h"
+#include "../utility/basedefinitions.h"
+#include "../utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_symtab;
+
enum {
eptAtom, eptNucleus, eptShell, eptBond, eptVSite, eptNR
};
/* The particle type */
-typedef struct {
+typedef struct t_atom
+{
real m, q; /* Mass and charge */
real mB, qB; /* Mass and charge for Free Energy calc */
unsigned short type; /* Atom type */
char elem[4]; /* Element name */
} t_atom;
-typedef struct {
+typedef struct t_resinfo
+{
char **name; /* Pointer to the residue name */
int nr; /* Residue number */
unsigned char ic; /* Code for insertion of residues */
char **rtp; /* rtp building block name (optional) */
} t_resinfo;
-typedef struct {
+typedef struct t_pdbinfo
+{
int type; /* PDB record name */
int atomnr; /* PDB atom number */
char altloc; /* Alternate location indicator */
int uij[6]; /* Anisotropic B-factor */
} t_pdbinfo;
-typedef struct {
+typedef struct t_grps
+{
int nr; /* Number of different groups */
int *nm_ind; /* Index in the group names */
} t_grps;
-typedef struct {
+typedef struct t_atoms
+{
int nr; /* Nr of atoms */
t_atom *atom; /* Array of atoms (dim: nr) */
/* The following entries will not */
t_pdbinfo *pdbinfo; /* PDB Information, such as aniso. Bfac */
} t_atoms;
-typedef struct {
+typedef struct t_atomtypes
+{
int nr; /* number of atomtypes */
real *radius; /* GBSA radius for each atomtype */
real *vol; /* GBSA efective volume for each atomtype */
int *atomnumber; /* Atomic number, used for QM/MM */
} t_atomtypes;
-
#define PERTURBED(a) (((a).mB != (a).m) || ((a).qB != (a).q) || ((a).typeB != (a).type))
+void init_atom(t_atoms *at);
+void init_atomtypes(t_atomtypes *at);
+void done_atom(t_atoms *at);
+void done_atomtypes(t_atomtypes *at);
+
+void init_t_atoms(t_atoms *atoms, int natoms, gmx_bool bPdbinfo);
+/* allocate memory for the arrays, set nr to natoms and nres to 0
+ * set pdbinfo to NULL or allocate memory for it */
+
+t_atoms *copy_t_atoms(t_atoms *src);
+/* copy an atoms struct from src to a new one */
+
+void add_t_atoms(t_atoms *atoms, int natom_extra, int nres_extra);
+/* allocate extra space for more atoms and or residues */
+
+void t_atoms_set_resinfo(t_atoms *atoms, int atom_ind, struct t_symtab *symtab,
+ const char *resname, int resnr, unsigned char ic,
+ int chainnum, char chainid);
+/* Set the residue name, number, insertion code and chain identifier
+ * of atom index atom_ind.
+ */
+
+void free_t_atoms(t_atoms *atoms, gmx_bool bFreeNames);
+/* Free all the arrays and set the nr and nres to 0.
+ * bFreeNames tells if to free the atom and residue name strings,
+ * don't free them if they still need to be used in e.g. the topology struct.
+ */
+
#ifdef __cplusplus
}
#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include <algorithm>
+#include "gromacs/topology/block.h"
+
+#include "gromacs/utility/smalloc.h"
+
+void init_block(t_block *block)
+{
+ block->nr = 0;
+ block->nalloc_index = 1;
+ snew(block->index, block->nalloc_index);
+ block->index[0] = 0;
+}
+
+void init_blocka(t_blocka *block)
+{
+ block->nr = 0;
+ block->nra = 0;
+ block->nalloc_index = 1;
+ snew(block->index, block->nalloc_index);
+ block->index[0] = 0;
+ block->nalloc_a = 0;
+ block->a = NULL;
+}
+
+t_blocka *new_blocka(void)
+{
+ t_blocka *block;
+
+ snew(block, 1);
+ snew(block->index, 1);
+
+ return block;
+}
+
+void done_block(t_block *block)
+{
+ block->nr = 0;
+ sfree(block->index);
+ block->nalloc_index = 0;
+}
+
+void done_blocka(t_blocka *block)
+{
+ block->nr = 0;
+ block->nra = 0;
+ sfree(block->index);
+ sfree(block->a);
+ block->index = NULL;
+ block->a = NULL;
+ block->nalloc_index = 0;
+ block->nalloc_a = 0;
+}
+
+void stupid_fill_block(t_block *grp, int natom, gmx_bool bOneIndexGroup)
+{
+ if (bOneIndexGroup)
+ {
+ grp->nalloc_index = 2;
+ snew(grp->index, grp->nalloc_index);
+ grp->index[0] = 0;
+ grp->index[1] = natom;
+ grp->nr = 1;
+ }
+ else
+ {
+ grp->nalloc_index = natom+1;
+ snew(grp->index, grp->nalloc_index);
+ snew(grp->index, natom+1);
+ for (int i = 0; i <= natom; ++i)
+ {
+ grp->index[i] = i;
+ }
+ grp->nr = natom;
+ }
+}
+
+void stupid_fill_blocka(t_blocka *grp, int natom)
+{
+ grp->nalloc_a = natom;
+ snew(grp->a, grp->nalloc_a);
+ for (int i = 0; i < natom; ++i)
+ {
+ grp->a[i] = i;
+ }
+ grp->nra = natom;
+
+ grp->nalloc_index = natom + 1;
+ snew(grp->index, grp->nalloc_index);
+ for (int i = 0; i <= natom; ++i)
+ {
+ grp->index[i] = i;
+ }
+ grp->nr = natom;
+}
+
+void copy_blocka(const t_blocka *src, t_blocka *dest)
+{
+ dest->nr = src->nr;
+ /* Workaround for inconsistent handling of nalloc_index in
+ * other parts of the code. Often nalloc_index and nalloc_a
+ * are not set.
+ */
+ dest->nalloc_index = std::max(src->nalloc_index, dest->nr + 1);
+ snew(dest->index, dest->nalloc_index);
+ for (int i = 0; i < dest->nr+1; ++i)
+ {
+ dest->index[i] = src->index[i];
+ }
+ dest->nra = src->nra;
+ /* See above. */
+ dest->nalloc_a = std::max(src->nalloc_a, dest->nra);
+ snew(dest->a, dest->nalloc_a);
+ for (int i = 0; i < dest->nra; ++i)
+ {
+ dest->a[i] = src->a[i];
+ }
+}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _block_h
-#define _block_h
+#ifndef GMX_TOPOLOGY_BLOCK_H
+#define GMX_TOPOLOGY_BLOCK_H
-
-#include "idef.h"
+#include "../legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
This makes the mapping from atoms to molecules O(Nmolecules) instead
of O(Natoms) in size. */
-typedef struct {
- int nr; /* The number of blocks */
+typedef struct t_block
+{
+ int nr; /* The number of blocks */
atom_id *index; /* Array of indices (dim: nr+1) */
- int nalloc_index; /* The allocation size for index */
+ int nalloc_index; /* The allocation size for index */
} t_block;
-typedef struct {
- int nr; /* The number of blocks */
- atom_id *index; /* Array of indices in a (dim: nr+1) */
- int nra; /* The number of atoms */
+typedef struct t_blocka
+{
+ int nr; /* The number of blocks */
+ atom_id *index; /* Array of indices in a (dim: nr+1) */
+ int nra; /* The number of atoms */
atom_id *a; /* Array of atom numbers in each group */
- /* (dim: nra) */
- /* Block i (0<=i<nr) runs from */
+ /* (dim: nra) */
+ /* Block i (0<=i<nr) runs from */
/* index[i] to index[i+1]-1. There will */
- /* allways be an extra entry in index */
- /* to terminate the table */
+ /* allways be an extra entry in index */
+ /* to terminate the table */
int nalloc_index; /* The allocation size for index */
int nalloc_a; /* The allocation size for a */
} t_blocka;
+void init_block(t_block *block);
+void init_blocka(t_blocka *block);
+t_blocka *new_blocka(void);
+/* allocate new block */
+
+void done_block(t_block *block);
+void done_blocka(t_blocka *block);
+
+void copy_blocka(const t_blocka *src, t_blocka *dest);
+
+void stupid_fill_block(t_block *grp, int natom, gmx_bool bOneIndexGroup);
+/* Fill a block structure with numbers identical to the index
+ * (0, 1, 2, .. natom-1)
+ * If bOneIndexGroup, then all atoms are lumped in one index group,
+ * otherwise there is one atom per index entry
+ */
+
+void stupid_fill_blocka(t_blocka *grp, int natom);
+/* Fill a block structure with numbers identical to the index
+ * (0, 1, 2, .. natom-1)
+ * There is one atom per index entry
+ */
#ifdef __cplusplus
}
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_TOPOLOGY_IDEF_H
+#define GMX_TOPOLOGY_IDEF_H
-
-#ifndef _idef_h
-#define _idef_h
-
-#include "simple.h"
+#include "../legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
F_DVDL_BONDED,
F_DVDL_RESTRAINT,
F_DVDL_TEMPERATURE, /* not calculated for now, but should just be the energy (NVT) or enthalpy (NPT), or 0 (NVE) */
- F_NRE /* This number is for the total number of energies */
+ F_NRE /* This number is for the total number of energies */
};
#define IS_RESTRAINT_TYPE(ifunc) (((ifunc == F_POSRES) || (ifunc == F_FBPOSRES) || (ifunc == F_DISRES) || (ifunc == F_RESTRBONDS) || (ifunc == F_DISRESVIOL) || (ifunc == F_ORIRES) || (ifunc == F_ORIRESDEV) || (ifunc == F_ANGRES) || (ifunc == F_ANGRESZ) || (ifunc == F_DIHRES)))
*/
#define IS_LISTED_LJ_C(ftype) ((ftype) >= F_LJ14 && (ftype) <= F_LJC_PAIRS_NB)
-typedef union
+typedef union t_iparams
{
/* Some parameters have A and B values for free energy calculations.
* The B values are not used for regular simulations of course.
* the remaining ones from nr_nonperturbed..(nr-1) are perturbed bonded
* interactions.
*/
-typedef struct
+typedef struct t_ilist
{
int nr;
int nr_nonperturbed;
* The struct t_ilist defines a list of atoms with their interactions.
* General field description:
* int nr
- * the size (nr elements) of the interactions array (iatoms[]).
+ * the size (nr elements) of the interactions array (iatoms[]).
* t_iatom *iatoms
* specifies which atoms are involved in an interaction of a certain
* type. The layout of this array is as follows:
*
- * +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
- * |type1|at1|at2|at3|type2|at1|at2|type1|at1|at2|at3|type3|at1|at2|
- * +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
+ * +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
+ * |type1|at1|at2|at3|type2|at1|at2|type1|at1|at2|at3|type3|at1|at2|
+ * +-----+---+---+---+-----+---+---+-----+---+---+---+-----+---+---+...
*
* So for interaction type type1 3 atoms are needed, and for type2 and
* type3 only 2. The type identifier is used to select the function to
- * calculate the interaction and its actual parameters. This type
- * identifier is an index in a params[] and functype[] array.
+ * calculate the interaction and its actual parameters. This type
+ * identifier is an index in a params[] and functype[] array.
*/
typedef struct
{
real *cmap; /* Has length 4*grid_spacing*grid_spacing, */
/* there are 4 entries for each cmap type (V,dVdx,dVdy,d2dVdxdy) */
-} cmapdata_t;
+} gmx_cmapdata_t;
-typedef struct
+typedef struct gmx_cmap_t
{
- int ngrid; /* Number of allocated cmap (cmapdata_t ) grids */
- int grid_spacing; /* Grid spacing */
- cmapdata_t *cmapdata; /* Pointer to grid with actual, pre-interpolated data */
+ int ngrid; /* Number of allocated cmap (cmapdata_t ) grids */
+ int grid_spacing; /* Grid spacing */
+ gmx_cmapdata_t *cmapdata; /* Pointer to grid with actual, pre-interpolated data */
} gmx_cmap_t;
-typedef struct
+typedef struct gmx_ffparams_t
{
int ntypes;
int atnr;
ilsortUNKNOWN, ilsortNO_FE, ilsortFE_UNSORTED, ilsortFE_SORTED
};
-typedef struct
+typedef struct t_idef
{
int ntypes;
int atnr;
* version of the program can use it as easy as the single node version.
* General field description:
* int ntypes
- * defines the number of elements in functype[] and param[].
+ * defines the number of elements in functype[] and param[].
* int nodeid
* the node id (if parallel machines)
* int atnr
* the number of atomtypes
* t_functype *functype
- * array of length ntypes, defines for every force type what type of
+ * array of length ntypes, defines for every force type what type of
* function to use. Every "bond" with the same function but different
- * force parameters is a different force type. The type identifier in the
- * forceatoms[] array is an index in this array.
+ * force parameters is a different force type. The type identifier in the
+ * forceatoms[] array is an index in this array.
* t_iparams *iparams
- * array of length ntypes, defines the parameters for every interaction
+ * array of length ntypes, defines the parameters for every interaction
* type. The type identifier in the actual interaction list
* (ilist[ftype].iatoms[]) is an index in this array.
* gmx_cmap_t cmap_grid
* the grid for the dihedral pair correction maps.
* t_iparams *iparams_posres, *iparams_fbposres
- * defines the parameters for position restraints only.
+ * defines the parameters for position restraints only.
* Position restraints are the only interactions that have different
* parameters (reference positions) for different molecules
* of the same type. ilist[F_POSRES].iatoms[] is an index in this array.
* should be at least F_NRE*(nthreads+1).
*/
-typedef struct {
- int n; /* n+1 is the number of points */
- real scale; /* distance between two points */
- real *data; /* the actual table data, per point there are 4 numbers */
-} bondedtable_t;
-
#ifdef __cplusplus
}
#endif
-
#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/topology/index.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <assert.h>
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
-#include <assert.h>
-#include "sysstuff.h"
-#include "macros.h"
-#include "names.h"
-#include "gromacs/utility/cstringutil.h"
-#include "main.h"
-#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "invblock.h"
-#include "macros.h"
-#include "index.h"
-#include "txtdump.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/fileio/gmxfio.h"
-#include "gromacs/fileio/strdb.h"
-#include "gmx_fatal.h"
-
-const char gmx_residuetype_undefined[] = "Other";
-
-struct gmx_residuetype
-{
- int n;
- char ** resname;
- char ** restype;
+#include <algorithm>
-};
+#include "gromacs/legacyheaders/macros.h"
+#include "gromacs/legacyheaders/txtdump.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/strdb.h"
+#include "gromacs/topology/atoms.h"
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/invblock.h"
+#include "gromacs/topology/residuetypes.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static gmx_bool gmx_ask_yesno(gmx_bool bASK)
{
}
}
-t_blocka *new_blocka(void)
-{
- t_blocka *block;
-
- snew(block, 1);
- snew(block->index, 1);
-
- return block;
-}
-
void write_index(const char *outf, t_blocka *b, char **gnames, gmx_bool bDuplicate, int natoms)
{
FILE *out;
p_status(const char **restype, int nres, const char **typenames, int ntypes)
{
int i, j;
- int found;
-
int * counter;
snew(counter, ntypes);
}
for (i = 0; i < nres; i++)
{
- found = 0;
for (j = 0; j < ntypes; j++)
{
if (!gmx_strcasecmp(restype[i], typenames[j]))
}
-atom_id *
+static atom_id *
mk_aid(t_atoms *atoms, const char ** restype, const char * typestring, int *nra, gmx_bool bMatch)
/* Make an array of atom_ids for all atoms with residuetypes matching typestring, or the opposite if bMatch is false */
{
/** The set of atom names that will be used to form this index group */
const char **defining_atomnames;
/** Size of the defining_atomnames array */
- const int num_defining_atomnames;
+ int num_defining_atomnames;
/** Name of this index group */
const char *group_name;
/** Whether the above atom names name the atoms in the group, or
int n, j;
atom_id *aid;
- int nra, nnpres, npres;
+ int nra, npres;
gmx_bool match;
char ndx_name[STRLEN], *atnm;
int i;
if (nra > 0)
{
add_grp(gb, gn, nra, aid, "SwapSC-CO");
- nra = 0;
}
}
}
}
-
-
-/* Return 0 if the name was found, otherwise -1.
- * p_restype is set to a pointer to the type name, or 'Other' if we did not find it.
- */
-int
-gmx_residuetype_get_type(gmx_residuetype_t rt, const char * resname, const char ** p_restype)
-{
- int i, rc;
-
- rc = -1;
- for (i = 0; i < rt->n && rc; i++)
- {
- rc = gmx_strcasecmp(rt->resname[i], resname);
- }
-
- *p_restype = (rc == 0) ? rt->restype[i-1] : gmx_residuetype_undefined;
-
- return rc;
-}
-
-int
-gmx_residuetype_add(gmx_residuetype_t rt, const char *newresname, const char *newrestype)
-{
- int i;
- int found;
- const char * p_oldtype;
-
- found = !gmx_residuetype_get_type(rt, newresname, &p_oldtype);
-
- if (found && gmx_strcasecmp(p_oldtype, newrestype))
- {
- fprintf(stderr, "Warning: Residue '%s' already present with type '%s' in database, ignoring new type '%s'.",
- newresname, p_oldtype, newrestype);
- }
-
- if (found == 0)
- {
- srenew(rt->resname, rt->n+1);
- srenew(rt->restype, rt->n+1);
- rt->resname[rt->n] = strdup(newresname);
- rt->restype[rt->n] = strdup(newrestype);
- rt->n++;
- }
-
- return 0;
-}
-
-
-int
-gmx_residuetype_init(gmx_residuetype_t *prt)
-{
- FILE * db;
- char line[STRLEN];
- char resname[STRLEN], restype[STRLEN], dum[STRLEN];
- char * p;
- int i;
- struct gmx_residuetype *rt;
-
- snew(rt, 1);
- *prt = rt;
-
- rt->n = 0;
- rt->resname = NULL;
- rt->restype = NULL;
-
- db = libopen("residuetypes.dat");
-
- while (get_a_line(db, line, STRLEN))
- {
- strip_comment(line);
- trim(line);
- if (line[0] != '\0')
- {
- if (sscanf(line, "%s %s %s", resname, restype, dum) != 2)
- {
- gmx_fatal(FARGS, "Incorrect number of columns (2 expected) for line in residuetypes.dat");
- }
- gmx_residuetype_add(rt, resname, restype);
- }
- }
-
- fclose(db);
-
- return 0;
-}
-
-
-
-int
-gmx_residuetype_destroy(gmx_residuetype_t rt)
-{
- int i;
-
- for (i = 0; i < rt->n; i++)
- {
- sfree(rt->resname[i]);
- sfree(rt->restype[i]);
- }
- sfree(rt->resname);
- sfree(rt->restype);
- sfree(rt);
-
- return 0;
-}
-
-int
-gmx_residuetype_get_alltypes(gmx_residuetype_t rt,
- const char *** p_typenames,
- int * ntypes)
-{
- int i, j, n;
- int found;
- const char ** my_typename;
- char * p;
-
- n = 0;
-
- my_typename = NULL;
- for (i = 0; i < rt->n; i++)
- {
- p = rt->restype[i];
- found = 0;
- for (j = 0; j < n && !found; j++)
- {
- found = !gmx_strcasecmp(p, my_typename[j]);
- }
-
- if (!found)
- {
- srenew(my_typename, n+1);
- my_typename[n] = p;
- n++;
- }
- }
- *ntypes = n;
- *p_typenames = my_typename;
-
- return 0;
-}
-
-
-
-gmx_bool
-gmx_residuetype_is_protein(gmx_residuetype_t rt, const char *resnm)
-{
- gmx_bool rc;
- const char *p_type;
-
- if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
- gmx_strcasecmp(p_type, "Protein") == 0)
- {
- rc = TRUE;
- }
- else
- {
- rc = FALSE;
- }
- return rc;
-}
-
-gmx_bool
-gmx_residuetype_is_dna(gmx_residuetype_t rt, const char *resnm)
-{
- gmx_bool rc;
- const char *p_type;
-
- if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
- gmx_strcasecmp(p_type, "DNA") == 0)
- {
- rc = TRUE;
- }
- else
- {
- rc = FALSE;
- }
- return rc;
-}
-
-gmx_bool
-gmx_residuetype_is_rna(gmx_residuetype_t rt, const char *resnm)
-{
- gmx_bool rc;
- const char *p_type;
-
- if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
- gmx_strcasecmp(p_type, "RNA") == 0)
- {
- rc = TRUE;
- }
- else
- {
- rc = FALSE;
- }
- return rc;
-}
-
-/* Return the size of the arrays */
-int
-gmx_residuetype_get_size(gmx_residuetype_t rt)
-{
- return rt->n;
-}
-
-/* Search for a residuetype with name resnm within the
- * gmx_residuetype database. Return the index if found,
- * otherwise -1.
- */
-int
-gmx_residuetype_get_index(gmx_residuetype_t rt, const char *resnm)
-{
- int i, rc;
-
- rc = -1;
- for (i = 0; i < rt->n && rc; i++)
- {
- rc = gmx_strcasecmp(rt->resname[i], resnm);
- }
-
- return (0 == rc) ? i-1 : -1;
-}
-
-/* Return the name of the residuetype with the given index, or
- * NULL if not found. */
-const char *
-gmx_residuetype_get_name(gmx_residuetype_t rt, int index)
-{
- if (index >= 0 && index < rt->n)
- {
- return rt->resname[index];
- }
- else
- {
- return NULL;
- }
-}
-
-
-
void analyse(t_atoms *atoms, t_blocka *gb, char ***gn, gmx_bool bASK, gmx_bool bVerb)
{
- gmx_residuetype_t rt = NULL;
+ gmx_residuetype_t*rt = NULL;
char *resnm;
atom_id *aid;
const char ** restype;
int nra;
int i, k;
- size_t j;
int ntypes;
- char * p;
const char ** p_typename;
int iwater, iion;
int nwater, nion;
found = 0;
for (k = 0; k < ntypes && !found; k++)
{
+ assert(p_typename != NULL);
found = !strcmp(restype[i], p_typename[k]);
}
if (!found)
{
FILE *in;
t_blocka *b;
- int a, maxentries;
- int i, j, ng, nread;
+ int maxentries;
+ int i, j;
char line[STRLEN], *pt, str[STRLEN];
in = gmx_fio_fopen(gfile, "r");
snew(b, 1);
- get_a_line(in, line, STRLEN);
- if (line[0] == '[')
+ b->nr = 0;
+ b->index = NULL;
+ b->nra = 0;
+ b->a = NULL;
+ *grpname = NULL;
+ maxentries = 0;
+ while (get_a_line(in, line, STRLEN))
{
- /* new format */
- b->nr = 0;
- b->index = NULL;
- b->nra = 0;
- b->a = NULL;
- *grpname = NULL;
- maxentries = 0;
- do
+ if (get_header(line, str))
{
- if (get_header(line, str))
+ b->nr++;
+ srenew(b->index, b->nr+1);
+ srenew(*grpname, b->nr);
+ if (b->nr == 1)
{
- b->nr++;
- srenew(b->index, b->nr+1);
- srenew(*grpname, b->nr);
- if (b->nr == 1)
- {
- b->index[0] = 0;
- }
- b->index[b->nr] = b->index[b->nr-1];
- (*grpname)[b->nr-1] = strdup(str);
- }
- else
- {
- if (b->nr == 0)
- {
- gmx_fatal(FARGS, "The first header of your indexfile is invalid");
- }
- pt = line;
- while (sscanf(pt, "%s", str) == 1)
- {
- i = b->index[b->nr];
- if (i >= maxentries)
- {
- maxentries += 1024;
- srenew(b->a, maxentries);
- }
- b->a[i] = strtol(str, NULL, 10)-1;
- b->index[b->nr]++;
- (b->nra)++;
- pt = strstr(pt, str)+strlen(str);
- }
+ b->index[0] = 0;
}
+ b->index[b->nr] = b->index[b->nr-1];
+ (*grpname)[b->nr-1] = strdup(str);
}
- while (get_a_line(in, line, STRLEN));
- }
- else
- {
- /* old format */
- sscanf(line, "%d%d", &b->nr, &b->nra);
- snew(b->index, b->nr+1);
- snew(*grpname, b->nr);
- b->index[0] = 0;
- snew(b->a, b->nra);
- for (i = 0; (i < b->nr); i++)
+ else
{
- nread = fscanf(in, "%s%d", str, &ng);
- (*grpname)[i] = strdup(str);
- b->index[i+1] = b->index[i]+ng;
- if (b->index[i+1] > b->nra)
+ if (b->nr == 0)
{
- gmx_fatal(FARGS, "Something wrong in your indexfile at group %s", str);
+ gmx_fatal(FARGS, "The first header of your indexfile is invalid");
}
- for (j = 0; (j < ng); j++)
+ pt = line;
+ while (sscanf(pt, "%s", str) == 1)
{
- nread = fscanf(in, "%d", &a);
- b->a[b->index[i]+j] = a;
+ i = b->index[b->nr];
+ if (i >= maxentries)
+ {
+ maxentries += 1024;
+ srenew(b->a, maxentries);
+ }
+ assert(b->a != NULL); // for clang analyzer
+ b->a[i] = strtol(str, NULL, 10)-1;
+ b->index[b->nr]++;
+ (b->nra)++;
+ pt = strstr(pt, str)+strlen(str);
}
}
}
for (i = 0; (i < b->nr); i++)
{
+ assert(b->a != NULL); // for clang analyzer
for (j = b->index[i]; (j < b->index[i+1]); j++)
{
if (b->a[j] < 0)
c->maxframe = -1;
for (i = 0; (i < c->clust->nra); i++)
{
- c->maxframe = max(c->maxframe, c->clust->a[i]);
+ c->maxframe = std::max(c->maxframe, c->clust->a[i]);
}
fprintf(fplog ? fplog : stdout,
"There are %d clusters containing %d structures, highest framenr is %d\n",
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_TOPOLOGY_INDEX_H
+#define GMX_TOPOLOGY_INDEX_H
-#ifndef _index_h
-#define _index_h
+#include <stdio.h>
-#include "typedefs.h"
+#include "../legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct t_atoms;
+struct t_blocka;
+
void check_index(char *gname, int n, atom_id index[],
char *traj, int natoms);
/* Checks if any index is smaller than zero or larger than natoms,
* and traj (if traj=NULL, "the trajectory" is used).
*/
-t_blocka *init_index(const char *gfile, char ***grpname);
+struct t_blocka *init_index(const char *gfile, char ***grpname);
/* Lower level routine than the next */
void rd_index(const char *statfile, int ngrps, int isize[],
atom_id *index[], char *grpnames[], int grpnr[]);
/* the same but also reads the number of the selected group*/
-void get_index(t_atoms *atoms, const char *fnm, int ngrps,
+void get_index(struct t_atoms *atoms, const char *fnm, int ngrps,
int isize[], atom_id *index[], char *grpnames[]);
/* Does the same as rd_index, but if the fnm pointer is NULL it
* will not read from fnm, but it will make default index groups
*/
typedef struct {
- int maxframe;
- char **grpname;
- t_blocka *clust;
- atom_id *inv_clust;
+ int maxframe;
+ char **grpname;
+ struct t_blocka *clust;
+ atom_id *inv_clust;
} t_cluster_ndx;
t_cluster_ndx *cluster_index(FILE *fplog, const char *ndx);
-typedef struct {
- int n;
- char **name;
-} t_names;
-
-typedef struct gmx_residuetype *
- gmx_residuetype_t;
-
-int
-gmx_residuetype_init(gmx_residuetype_t *rt);
-
-int
-gmx_residuetype_destroy(gmx_residuetype_t rt);
-
-int
-gmx_residuetype_get_type(gmx_residuetype_t rt, const char * resname, const char ** p_restype);
-
-int
-gmx_residuetype_add(gmx_residuetype_t rt, const char *newresname, const char *newrestype);
-
-int
-gmx_residuetype_get_alltypes(gmx_residuetype_t rt,
- const char *** p_typenames,
- int * ntypes);
-
-gmx_bool
-gmx_residuetype_is_protein(gmx_residuetype_t rt, const char *resnm);
-
-gmx_bool
-gmx_residuetype_is_dna(gmx_residuetype_t rt, const char *resnm);
-
-gmx_bool
-gmx_residuetype_is_rna(gmx_residuetype_t rt, const char *resnm);
-int
-gmx_residuetype_get_size(gmx_residuetype_t rt);
-
-int
-gmx_residuetype_get_index(gmx_residuetype_t rt, const char *resnm);
-
-const char *
-gmx_residuetype_get_name(gmx_residuetype_t rt, int index);
-
-
-
-
-
-
-t_blocka *new_blocka(void);
-/* allocate new block */
-
-void write_index(const char *outf, t_blocka *b, char **gnames, gmx_bool bDuplicate, int natoms);
+void write_index(const char *outf, struct t_blocka *b, char **gnames, gmx_bool bDuplicate, int natoms);
/* Writes index blocks to outf (writes an indexfile) */
-void add_grp(t_blocka *b, char ***gnames, int nra, atom_id a[], const char *name);
+void add_grp(struct t_blocka *b, char ***gnames, int nra, atom_id a[], const char *name);
/* Ads group a with name name to block b and namelist gnames */
-void analyse(t_atoms *atoms, t_blocka *gb, char ***gn,
+void analyse(struct t_atoms *atoms, struct t_blocka *gb, char ***gn,
gmx_bool bASK, gmx_bool bVerb);
/* Makes index groups gb with names gn for atoms in atoms.
* bASK=FALSE gives default groups.
}
#endif
-#endif /* _index_h */
+#endif
* the research papers on the package. Check out http://www.gromacs.org.
*/
/* This file is completely threadsafe - keep it that way! */
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include "gromacs/topology/invblock.h"
-#include "typedefs.h"
+#include "gromacs/legacyheaders/types/simple.h"
+
+#include "gromacs/topology/block.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "invblock.h"
-#include "gmx_fatal.h"
atom_id *make_invblock(const t_block *block, int nr)
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_TOPOLOGY_INVBLOCK_H
+#define GMX_TOPOLOGY_INVBLOCK_H
-#ifndef _invblock_h
-#define _invblock_h
-
-#include "typedefs.h"
+#include "../legacyheaders/types/simple.h"
#ifdef __cplusplus
extern "C" {
#endif
-atom_id *make_invblock(const t_block *block, int nr);
+struct t_block;
+struct t_blocka;
+
+atom_id *make_invblock(const struct t_block *block, int nr);
/* Inverse the block structure. nr is the maximum entry in the inversed
* array, and therefore the dimension of the returned array
*/
-atom_id *make_invblocka(const t_blocka *block, int nr);
+atom_id *make_invblocka(const struct t_blocka *block, int nr);
/* Inverse the block structure. nr is the maximum entry in the inversed
* array, and therefore the dimension of the returned array
*/
}
#endif
-#endif /* _invblock_h */
+#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/topology/mtop_util.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
+
+#include "gromacs/legacyheaders/types/ifunc.h"
+#include "gromacs/legacyheaders/types/inputrec.h"
+
+#include "gromacs/topology/block.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
+#include "gromacs/topology/topsort.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "typedefs.h"
-#include "mtop_util.h"
-#include "topsort.h"
-#include "symtab.h"
-#include "gmx_fatal.h"
static int gmx_mtop_maxresnr(const gmx_mtop_t *mtop, int maxres_renum)
{
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "typedefs.h"
+#ifndef GMX_TOPOLOGY_MTOP_UTIL_H
+#define GMX_TOPOLOGY_MTOP_UTIL_H
+
+#include "../legacyheaders/types/inputrec.h"
+#include "../utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_localtop_t;
+struct gmx_moltype_t;
+struct gmx_mtop_t;
+struct t_atom;
+struct t_atoms;
+struct t_block;
+struct t_ilist;
+struct t_topology;
+
/* Should be called after generating or reading mtop,
* to set some compute intesive variables to avoid
* N^2 operations later on.
*/
void
-gmx_mtop_finalize(gmx_mtop_t *mtop);
+gmx_mtop_finalize(struct gmx_mtop_t *mtop);
/* Counts the number of atoms of each type. State should be 0 for
* state A and 1 for state B types. typecount should have at
* least mtop->ffparams.atnr elements.
*/
void
-gmx_mtop_count_atomtypes(const gmx_mtop_t *mtop, int state, int typecount[]);
+gmx_mtop_count_atomtypes(const struct gmx_mtop_t *mtop, int state, int typecount[]);
/* Returns the total number of charge groups in mtop */
int
-ncg_mtop(const gmx_mtop_t *mtop);
+ncg_mtop(const struct gmx_mtop_t *mtop);
/* Removes the charge groups, i.e. makes single atom charge groups, in mtop */
-void gmx_mtop_remove_chargegroups(gmx_mtop_t *mtop);
+void gmx_mtop_remove_chargegroups(struct gmx_mtop_t *mtop);
/* Abstract data type for looking up atoms by global atom number */
/* Initialize atom lookup by global atom number */
gmx_mtop_atomlookup_t
-gmx_mtop_atomlookup_init(const gmx_mtop_t *mtop);
+gmx_mtop_atomlookup_init(const struct gmx_mtop_t *mtop);
/* As gmx_mtop_atomlookup_init, but optimized for atoms involved in settle */
gmx_mtop_atomlookup_t
-gmx_mtop_atomlookup_settle_init(const gmx_mtop_t *mtop);
+gmx_mtop_atomlookup_settle_init(const struct gmx_mtop_t *mtop);
/* Destroy a gmx_mtop_atomlookup_t data structure */
void
void
gmx_mtop_atomnr_to_atom(const gmx_mtop_atomlookup_t alook,
int atnr_global,
- t_atom **atom);
+ struct t_atom **atom);
/* Returns a pointer to the molecule interaction array ilist_mol[F_NRE]
void
gmx_mtop_atomnr_to_ilist(const gmx_mtop_atomlookup_t alook,
int atnr_global,
- t_ilist **ilist_mol, int *atnr_offset);
+ struct t_ilist **ilist_mol, int *atnr_offset);
/* Returns the molecule block index
/* Returns atom name, global resnr and residue name of atom atnr_global */
void
-gmx_mtop_atominfo_global(const gmx_mtop_t *mtop, int atnr_global,
+gmx_mtop_atominfo_global(const struct gmx_mtop_t *mtop, int atnr_global,
char **atomname, int *resnr, char **resname);
* otherwise use gmx_mtop_atomloop_block.
*/
gmx_mtop_atomloop_all_t
-gmx_mtop_atomloop_all_init(const gmx_mtop_t *mtop);
+gmx_mtop_atomloop_all_init(const struct gmx_mtop_t *mtop);
/* Loop to the next atom.
* When not at the end:
*/
gmx_bool
gmx_mtop_atomloop_all_next(gmx_mtop_atomloop_all_t aloop,
- int *at_global, t_atom **atom);
+ int *at_global, struct t_atom **atom);
/* Return the atomname, the residue number and residue name
* of the current atom in the loop.
*/
void
gmx_mtop_atomloop_all_moltype(gmx_mtop_atomloop_all_t aloop,
- gmx_moltype_t **moltype, int *at_mol);
+ struct gmx_moltype_t **moltype, int *at_mol);
/* Abstract type for atom loop over atoms in all molecule blocks */
/* Initialize an atom loop over atoms in all molecule blocks the system.
*/
gmx_mtop_atomloop_block_t
-gmx_mtop_atomloop_block_init(const gmx_mtop_t *mtop);
+gmx_mtop_atomloop_block_init(const struct gmx_mtop_t *mtop);
/* Loop to the next atom.
* When not at the end:
*/
gmx_bool
gmx_mtop_atomloop_block_next(gmx_mtop_atomloop_block_t aloop,
- t_atom **atom, int *nmol);
+ struct t_atom **atom, int *nmol);
/* Abstract type for ilist loop over all ilists */
/* Initialize an ilist loop over all molecule types in the system. */
gmx_mtop_ilistloop_t
-gmx_mtop_ilistloop_init(const gmx_mtop_t *mtop);
+gmx_mtop_ilistloop_init(const struct gmx_mtop_t *mtop);
/* Loop to the next molecule,
*/
gmx_bool
gmx_mtop_ilistloop_next(gmx_mtop_ilistloop_t iloop,
- t_ilist **ilist_mol, int *nmol);
+ struct t_ilist **ilist_mol, int *nmol);
/* Abstract type for ilist loop over all ilists of all molecules */
* otherwise use gmx_mtop_ilistloop.
*/
gmx_mtop_ilistloop_all_t
-gmx_mtop_ilistloop_all_init(const gmx_mtop_t *mtop);
+gmx_mtop_ilistloop_all_init(const struct gmx_mtop_t *mtop);
/* Loop to the next molecule,
* When not at the end:
*/
gmx_bool
gmx_mtop_ilistloop_all_next(gmx_mtop_ilistloop_all_t iloop,
- t_ilist **ilist_mol, int *atnr_offset);
+ struct t_ilist **ilist_mol, int *atnr_offset);
/* Returns the total number of interactions in the system of type ftype */
int
-gmx_mtop_ftype_count(const gmx_mtop_t *mtop, int ftype);
+gmx_mtop_ftype_count(const struct gmx_mtop_t *mtop, int ftype);
/* Returns a charge group index for the whole system */
-t_block
-gmx_mtop_global_cgs(const gmx_mtop_t *mtop);
+struct t_block
+gmx_mtop_global_cgs(const struct gmx_mtop_t *mtop);
/* Returns a single t_atoms struct for the whole system */
-t_atoms
-gmx_mtop_global_atoms(const gmx_mtop_t *mtop);
+struct t_atoms
+gmx_mtop_global_atoms(const struct gmx_mtop_t *mtop);
/* Make all charge groups the size of one atom.
* that consist of a single charge group.
*/
void
-gmx_mtop_make_atomic_charge_groups(gmx_mtop_t *mtop, gmx_bool bKeepSingleMolCG);
+gmx_mtop_make_atomic_charge_groups(struct gmx_mtop_t *mtop, gmx_bool bKeepSingleMolCG);
/* Generate a 'local' topology for the whole system.
* When ir!=NULL the free energy interactions will be sorted to the end.
*/
-gmx_localtop_t *
-gmx_mtop_generate_local_top(const gmx_mtop_t *mtop, const t_inputrec *ir);
+struct gmx_localtop_t *
+gmx_mtop_generate_local_top(const struct gmx_mtop_t *mtop, const t_inputrec *ir);
/* Converts a gmx_mtop_t struct to t_topology.
* All memory relating only to mtop will be freed.
*/
-t_topology
-gmx_mtop_t_to_t_topology(gmx_mtop_t *mtop);
+struct t_topology
+gmx_mtop_t_to_t_topology(struct gmx_mtop_t *mtop);
#ifdef __cplusplus
}
#endif
+
+#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2010,2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "gromacs/topology/residuetypes.h"
+
+#include <cassert>
+#include <cstdio>
+
+#include "gromacs/fileio/strdb.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
+
+const char gmx_residuetype_undefined[] = "Other";
+
+struct gmx_residuetype_t
+{
+ int n;
+ char ** resname;
+ char ** restype;
+};
+
+int
+gmx_residuetype_init(gmx_residuetype_t **prt)
+{
+ FILE * db;
+ char line[STRLEN];
+ char resname[STRLEN], restype[STRLEN], dum[STRLEN];
+ gmx_residuetype_t *rt;
+
+ snew(rt, 1);
+ *prt = rt;
+
+ rt->n = 0;
+ rt->resname = NULL;
+ rt->restype = NULL;
+
+ db = libopen("residuetypes.dat");
+
+ while (get_a_line(db, line, STRLEN))
+ {
+ strip_comment(line);
+ trim(line);
+ if (line[0] != '\0')
+ {
+ if (sscanf(line, "%1000s %1000s %1000s", resname, restype, dum) != 2)
+ {
+ gmx_fatal(FARGS, "Incorrect number of columns (2 expected) for line in residuetypes.dat");
+ }
+ gmx_residuetype_add(rt, resname, restype);
+ }
+ }
+
+ fclose(db);
+
+ return 0;
+}
+
+int
+gmx_residuetype_destroy(gmx_residuetype_t *rt)
+{
+ int i;
+
+ for (i = 0; i < rt->n; i++)
+ {
+ sfree(rt->resname[i]);
+ sfree(rt->restype[i]);
+ }
+ sfree(rt->resname);
+ sfree(rt->restype);
+ sfree(rt);
+
+ return 0;
+}
+
+/* Return 0 if the name was found, otherwise -1.
+ * p_restype is set to a pointer to the type name, or 'Other' if we did not find it.
+ */
+int
+gmx_residuetype_get_type(gmx_residuetype_t *rt, const char * resname, const char ** p_restype)
+{
+ int i, rc;
+
+ rc = -1;
+ for (i = 0; i < rt->n && rc; i++)
+ {
+ rc = gmx_strcasecmp(rt->resname[i], resname);
+ }
+
+ *p_restype = (rc == 0) ? rt->restype[i-1] : gmx_residuetype_undefined;
+
+ return rc;
+}
+
+int
+gmx_residuetype_add(gmx_residuetype_t *rt, const char *newresname, const char *newrestype)
+{
+ int found;
+ const char * p_oldtype;
+
+ found = !gmx_residuetype_get_type(rt, newresname, &p_oldtype);
+
+ if (found && gmx_strcasecmp(p_oldtype, newrestype))
+ {
+ fprintf(stderr, "Warning: Residue '%s' already present with type '%s' in database, ignoring new type '%s'.",
+ newresname, p_oldtype, newrestype);
+ }
+
+ if (found == 0)
+ {
+ srenew(rt->resname, rt->n+1);
+ srenew(rt->restype, rt->n+1);
+ rt->resname[rt->n] = gmx_strdup(newresname);
+ rt->restype[rt->n] = gmx_strdup(newrestype);
+ rt->n++;
+ }
+
+ return 0;
+}
+
+int
+gmx_residuetype_get_alltypes(gmx_residuetype_t *rt,
+ const char *** p_typenames,
+ int * ntypes)
+{
+ int i, n;
+ const char ** my_typename;
+
+ n = 0;
+ my_typename = NULL;
+ for (i = 0; i < rt->n; i++)
+ {
+ const char *const p = rt->restype[i];
+ bool bFound = false;
+ for (int j = 0; j < n && !bFound; j++)
+ {
+ assert(my_typename != NULL);
+ bFound = !gmx_strcasecmp(p, my_typename[j]);
+ }
+ if (!bFound)
+ {
+ srenew(my_typename, n+1);
+ my_typename[n] = p;
+ n++;
+ }
+ }
+ *ntypes = n;
+ *p_typenames = my_typename;
+
+ return 0;
+}
+
+gmx_bool
+gmx_residuetype_is_protein(gmx_residuetype_t *rt, const char *resnm)
+{
+ gmx_bool rc;
+ const char *p_type;
+
+ if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
+ gmx_strcasecmp(p_type, "Protein") == 0)
+ {
+ rc = TRUE;
+ }
+ else
+ {
+ rc = FALSE;
+ }
+ return rc;
+}
+
+gmx_bool
+gmx_residuetype_is_dna(gmx_residuetype_t *rt, const char *resnm)
+{
+ gmx_bool rc;
+ const char *p_type;
+
+ if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
+ gmx_strcasecmp(p_type, "DNA") == 0)
+ {
+ rc = TRUE;
+ }
+ else
+ {
+ rc = FALSE;
+ }
+ return rc;
+}
+
+gmx_bool
+gmx_residuetype_is_rna(gmx_residuetype_t *rt, const char *resnm)
+{
+ gmx_bool rc;
+ const char *p_type;
+
+ if (gmx_residuetype_get_type(rt, resnm, &p_type) == 0 &&
+ gmx_strcasecmp(p_type, "RNA") == 0)
+ {
+ rc = TRUE;
+ }
+ else
+ {
+ rc = FALSE;
+ }
+ return rc;
+}
+
+/* Return the size of the arrays */
+int
+gmx_residuetype_get_size(gmx_residuetype_t *rt)
+{
+ return rt->n;
+}
+
+/* Search for a residuetype with name resnm within the
+ * gmx_residuetype database. Return the index if found,
+ * otherwise -1.
+ */
+int
+gmx_residuetype_get_index(gmx_residuetype_t *rt, const char *resnm)
+{
+ int i, rc;
+
+ rc = -1;
+ for (i = 0; i < rt->n && rc; i++)
+ {
+ rc = gmx_strcasecmp(rt->resname[i], resnm);
+ }
+
+ return (0 == rc) ? i-1 : -1;
+}
+
+/* Return the name of the residuetype with the given index, or
+ * NULL if not found. */
+const char *
+gmx_residuetype_get_name(gmx_residuetype_t *rt, int index)
+{
+ if (index >= 0 && index < rt->n)
+ {
+ return rt->resname[index];
+ }
+ else
+ {
+ return NULL;
+ }
+}
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _types_symtab_h
-#define _types_symtab_h
+#ifndef GMX_TOPOLOGY_RESIDUETYPES_H
+#define GMX_TOPOLOGY_RESIDUETYPES_H
+#include "gromacs/utility/basedefinitions.h"
#ifdef __cplusplus
-extern "C" {
+extern "C"
+{
#endif
-typedef struct symbuf {
- int bufsize;
- char **buf;
- struct symbuf *next;
-} t_symbuf;
+typedef struct gmx_residuetype_t gmx_residuetype_t;
-typedef struct
-{
- int nr;
- t_symbuf *symbuf;
-} t_symtab;
+int
+gmx_residuetype_init(gmx_residuetype_t **rt);
+
+int
+gmx_residuetype_destroy(gmx_residuetype_t *rt);
+
+int
+gmx_residuetype_get_type(gmx_residuetype_t *rt, const char *resname, const char **p_restype);
+
+int
+gmx_residuetype_add(gmx_residuetype_t *rt, const char *newresname, const char *newrestype);
+
+int
+gmx_residuetype_get_alltypes(gmx_residuetype_t *rt,
+ const char ***p_typenames,
+ int *ntypes);
+
+gmx_bool
+gmx_residuetype_is_protein(gmx_residuetype_t *rt, const char *resnm);
+
+gmx_bool
+gmx_residuetype_is_dna(gmx_residuetype_t *rt, const char *resnm);
+
+gmx_bool
+gmx_residuetype_is_rna(gmx_residuetype_t *rt, const char *resnm);
+
+int
+gmx_residuetype_get_size(gmx_residuetype_t *rt);
+
+int
+gmx_residuetype_get_index(gmx_residuetype_t *rt, const char *resnm);
+
+const char *
+gmx_residuetype_get_name(gmx_residuetype_t *rt, int index);
#ifdef __cplusplus
}
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "symtab.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <stdio.h>
#include <string.h>
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "gmx_fatal.h"
+
+#include <algorithm>
+
+#include "gromacs/legacyheaders/txtdump.h"
+
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "txtdump.h"
-#include "symtab.h"
-#include "macros.h"
#define BUFSIZE 1024
#define TABLESIZE 5
int lookup_symtab(t_symtab *symtab, char **name)
{
- int base, index;
+ int base;
t_symbuf *symbuf;
base = 0;
- index = 0;
symbuf = symtab->symbuf;
while (symbuf != NULL)
{
- index = name-symbuf->buf;
+ const int index = name-symbuf->buf;
if ( ( index >= 0 ) && ( index < symbuf->bufsize ) )
{
return index+base;
symbuf = symtab->symbuf;
while (symbuf != NULL)
{
- symtab->nr -= min(symbuf->bufsize, symtab->nr);
+ symtab->nr -= std::min(symbuf->bufsize, symtab->nr);
freeptr = symbuf;
symbuf = symbuf->next;
sfree(freeptr);
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2010, by the GROMACS development team, led by
+ * Copyright (c) 2010,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-
-#ifndef _symtab_h
-#define _symtab_h
+#ifndef GMX_TOPOLOGY_SYMTAB_H
+#define GMX_TOPOLOGY_SYMTAB_H
#include <stdio.h>
-#include "typedefs.h"
#ifdef __cplusplus
extern "C" {
#endif
+typedef struct t_symbuf
+{
+ int bufsize;
+ char **buf;
+ struct t_symbuf *next;
+} t_symbuf;
+
+typedef struct t_symtab
+{
+ int nr;
+ t_symbuf *symbuf;
+} t_symtab;
+
/*
* This module handles symbol table manipulation. All text strings
* needed by an application are allocated only once. All references
}
#endif
-#endif /* _symtab_h */
+#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "gromacs/topology/topology.h"
+
+#include "gromacs/topology/symtab.h"
+#include "gromacs/utility/smalloc.h"
+
+static void init_groups(gmx_groups_t *groups)
+{
+ groups->ngrpname = 0;
+ groups->grpname = NULL;
+ for (int g = 0; g < egcNR; g++)
+ {
+ groups->grps[g].nm_ind = NULL;
+ groups->ngrpnr[g] = 0;
+ groups->grpnr[g] = NULL;
+ }
+
+}
+
+void init_mtop(gmx_mtop_t *mtop)
+{
+ mtop->name = NULL;
+ mtop->nmoltype = 0;
+ mtop->moltype = NULL;
+ mtop->nmolblock = 0;
+ mtop->molblock = NULL;
+ mtop->maxres_renum = 0;
+ mtop->maxresnr = -1;
+ init_groups(&mtop->groups);
+ init_block(&mtop->mols);
+ open_symtab(&mtop->symtab);
+}
+
+void init_top(t_topology *top)
+{
+ top->name = NULL;
+ init_atom(&(top->atoms));
+ init_atomtypes(&(top->atomtypes));
+ init_block(&top->cgs);
+ init_block(&top->mols);
+ init_blocka(&top->excls);
+ open_symtab(&top->symtab);
+}
+
+
+void done_moltype(gmx_moltype_t *molt)
+{
+ done_atom(&molt->atoms);
+ done_block(&molt->cgs);
+ done_blocka(&molt->excls);
+
+ for (int f = 0; f < F_NRE; f++)
+ {
+ sfree(molt->ilist[f].iatoms);
+ molt->ilist[f].nalloc = 0;
+ }
+}
+
+void done_molblock(gmx_molblock_t *molb)
+{
+ if (molb->nposres_xA > 0)
+ {
+ molb->nposres_xA = 0;
+ sfree(molb->posres_xA);
+ }
+ if (molb->nposres_xB > 0)
+ {
+ molb->nposres_xB = 0;
+ sfree(molb->posres_xB);
+ }
+}
+
+void done_mtop(gmx_mtop_t *mtop, gmx_bool bDoneSymtab)
+{
+ if (bDoneSymtab)
+ {
+ done_symtab(&mtop->symtab);
+ }
+
+ sfree(mtop->ffparams.functype);
+ sfree(mtop->ffparams.iparams);
+
+ for (int i = 0; i < mtop->nmoltype; i++)
+ {
+ done_moltype(&mtop->moltype[i]);
+ }
+ sfree(mtop->moltype);
+ for (int i = 0; i < mtop->nmolblock; i++)
+ {
+ done_molblock(&mtop->molblock[i]);
+ }
+ sfree(mtop->molblock);
+ done_block(&mtop->mols);
+}
+
+void done_top(t_topology *top)
+{
+ sfree(top->idef.functype);
+ sfree(top->idef.iparams);
+ for (int f = 0; f < F_NRE; ++f)
+ {
+ sfree(top->idef.il[f].iatoms);
+ top->idef.il[f].iatoms = NULL;
+ top->idef.il[f].nalloc = 0;
+ }
+
+ done_atom(&(top->atoms));
+
+ /* For GB */
+ done_atomtypes(&(top->atomtypes));
+
+ done_symtab(&(top->symtab));
+ done_block(&(top->cgs));
+ done_block(&(top->mols));
+ done_blocka(&(top->excls));
+}
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2011, by the GROMACS development team, led by
+ * Copyright (c) 2011,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_LEGACYHEADERS_TOPOLOGY_H
-#define GMX_LEGACYHEADERS_TOPOLOGY_H
+#ifndef GMX_TOPOLOGY_TOPOLOGY_H
+#define GMX_TOPOLOGY_TOPOLOGY_H
+#include "../math/vectypes.h"
#include "atoms.h"
-#include "idef.h"
#include "block.h"
-#include "simple.h"
+#include "idef.h"
#include "symtab.h"
#ifdef __cplusplus
egcNR
};
-typedef struct {
+typedef struct gmx_moltype_t
+{
char **name; /* Name of the molecule type */
t_atoms atoms; /* The atoms */
t_ilist ilist[F_NRE];
t_blocka excls; /* The exclusions */
} gmx_moltype_t;
-typedef struct {
+typedef struct gmx_molblock_t
+{
int type; /* The molcule type index in mtop.moltype */
int nmol; /* The number of molecules in this block */
int natoms_mol; /* The number of atoms in one molecule */
rvec *posres_xB; /* The posres coords for top B */
} gmx_molblock_t;
-typedef struct {
+typedef struct gmx_groups_t
+{
t_grps grps[egcNR]; /* Groups of things */
int ngrpname; /* Number of groupnames */
char ***grpname; /* Names of the groups */
/* The global, complete system topology struct, based on molecule types.
This structure should contain no data that is O(natoms) in memory. */
-typedef struct {
+typedef struct gmx_mtop_t
+{
char **name; /* Name of the topology */
gmx_ffparams_t ffparams;
int nmoltype;
} gmx_mtop_t;
/* The mdrun node-local topology struct, completely written out */
-typedef struct {
- t_idef idef; /* The interaction function definition */
+typedef struct gmx_localtop_t
+{
+ t_idef idef; /* The interaction function definition */
t_atomtypes atomtypes; /* Atomtype properties */
t_block cgs; /* The charge groups */
t_blocka excls; /* The exclusions */
} gmx_localtop_t;
/* The old topology struct, completely written out, used in analysis tools */
-typedef struct {
+typedef struct t_topology
+{
char **name; /* Name of the topology */
- t_idef idef; /* The interaction function definition */
+ t_idef idef; /* The interaction function definition */
t_atoms atoms; /* The atoms */
t_atomtypes atomtypes; /* Atomtype properties */
t_block cgs; /* The charge groups */
t_symtab symtab; /* The symbol table */
} t_topology;
+void init_mtop(gmx_mtop_t *mtop);
+void init_top(t_topology *top);
+void done_moltype(gmx_moltype_t *molt);
+void done_molblock(gmx_molblock_t *molb);
+void done_mtop(gmx_mtop_t *mtop, gmx_bool bDoneSymtab);
+void done_top(t_topology *top);
+
+t_atoms *mtop2atoms(gmx_mtop_t *mtop);
+/* generate a t_atoms struct for the system from gmx_mtop_t */
+
#ifdef __cplusplus
}
#endif
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/topology/topsort.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include "typedefs.h"
-#include "topsort.h"
+#include <stdio.h>
+
+#include "gromacs/legacyheaders/types/ifunc.h"
+
+#include "gromacs/topology/topology.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
static gmx_bool ip_pert(int ftype, const t_iparams *ip)
{
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2008,2009,2010,2013, by the GROMACS development team, led by
+ * Copyright (c) 2008,2009,2010,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _topsort_h
-#define _topsort_h
+#ifndef GMX_TOPOLOGY_TOPSORT_H
+#define GMX_TOPOLOGY_TOPSORT_H
-
-#include "typedefs.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
#ifdef __cplusplus
extern "C" {
#endif
+struct gmx_mtop_t;
+struct t_idef;
/* Returns if there are perturbed bonded interactions */
-gmx_bool gmx_mtop_bondeds_free_energy(const gmx_mtop_t *mtop);
+gmx_bool gmx_mtop_bondeds_free_energy(const struct gmx_mtop_t *mtop);
/* Sort all the bonded ilists in idef to have the perturbed ones at the end
* and set nr_nr_nonperturbed in ilist.
*/
-void gmx_sort_ilist_fe(t_idef *idef, const real *qA, const real *qB);
+void gmx_sort_ilist_fe(struct t_idef *idef, const real *qA, const real *qB);
#ifdef __cplusplus
}
#include "options.h"
#include "selection.h"
+#include "fileio/trx.h"
#include "selection/nbsearch.h"
+#include "topology/topology.h"
#include "trajectoryanalysis/analysismodule.h"
#include "trajectoryanalysis/analysissettings.h"
#include "trajectoryanalysis/cmdlinerunner.h"
#include <string>
#include <vector>
-#include "../legacyheaders/typedefs.h"
-
#include "../selection/selection.h" // For gmx::SelectionList
#include "../utility/common.h"
#include "../utility/uniqueptr.h"
+struct t_pbc;
+struct t_trxframe;
+
namespace gmx
{
*/
#include "analysissettings.h"
-#include "gromacs/legacyheaders/vec.h"
-
#include "gromacs/fileio/trxio.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/smalloc.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H
#define GMX_TRAJECTORYANALYSIS_ANALYSISSETTINGS_H
-#include "../legacyheaders/typedefs.h"
-
#include "../options/timeunitmanager.h"
+#include "../math/vectypes.h"
#include "../utility/common.h"
+struct t_topology;
+
namespace gmx
{
#include "config.h"
#endif
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/rmpbc.h"
-
#include "gromacs/analysisdata/paralleloptions.h"
#include "gromacs/commandline/cmdlinehelpcontext.h"
#include "gromacs/commandline/cmdlinehelpwriter.h"
#include "gromacs/commandline/cmdlinemodule.h"
#include "gromacs/commandline/cmdlinemodulemanager.h"
#include "gromacs/commandline/cmdlineparser.h"
+#include "gromacs/fileio/trx.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/selectioncollection.h"
#include "gromacs/selection/selectionoptionmanager.h"
#include "gromacs/trajectoryanalysis/analysismodule.h"
SelectionCollection *selections,
int *argc, char *argv[])
{
- Options options(NULL, NULL);
- Options moduleOptions(module_->name(), module_->description());
- Options commonOptions("common", "Common analysis control");
- Options selectionOptions("selection", "Common selection control");
- module_->initOptions(&moduleOptions, settings);
- common->initOptions(&commonOptions);
- selections->initOptions(&selectionOptions);
+ SelectionOptionManager seloptManager(selections);
+ Options options(NULL, NULL);
+ Options moduleOptions(module_->name(), module_->description());
+ Options commonOptions("common", "Common analysis control");
+ Options selectionOptions("selection", "Common selection control");
+ options.addManager(&seloptManager);
options.addSubSection(&commonOptions);
options.addSubSection(&selectionOptions);
options.addSubSection(&moduleOptions);
- SelectionOptionManager seloptManager(selections);
- setManagerForSelectionOptions(&options, &seloptManager);
+ module_->initOptions(&moduleOptions, settings);
+ common->initOptions(&commonOptions);
+ selections->initOptions(&selectionOptions);
{
CommandLineParser parser(&options);
TrajectoryAnalysisSettings settings;
TrajectoryAnalysisRunnerCommon common(&settings);
- Options options(NULL, NULL);
- Options moduleOptions(impl_->module_->name(), impl_->module_->description());
- Options commonOptions("common", "Common analysis control");
- Options selectionOptions("selection", "Common selection control");
-
- impl_->module_->initOptions(&moduleOptions, &settings);
- common.initOptions(&commonOptions);
- selections.initOptions(&selectionOptions);
+ SelectionOptionManager seloptManager(&selections);
+ Options options(NULL, NULL);
+ Options moduleOptions(impl_->module_->name(), impl_->module_->description());
+ Options commonOptions("common", "Common analysis control");
+ Options selectionOptions("selection", "Common selection control");
+ options.addManager(&seloptManager);
options.addSubSection(&commonOptions);
options.addSubSection(&selectionOptions);
options.addSubSection(&moduleOptions);
- SelectionOptionManager seloptManager(&selections);
- setManagerForSelectionOptions(&options, &seloptManager);
+ impl_->module_->initOptions(&moduleOptions, &settings);
+ common.initOptions(&commonOptions);
+ selections.initOptions(&selectionOptions);
CommandLineHelpWriter(options)
.setShowDescriptions(true)
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
-
#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/modules/average.h"
#include "gromacs/analysisdata/modules/histogram.h"
#include "gromacs/analysisdata/modules/plot.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include <string>
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
-
#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/modules/average.h"
#include "gromacs/analysisdata/modules/histogram.h"
#include "gromacs/analysisdata/modules/plot.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
printf("%s:\n", sel->name());
printf(" Number of samples: %d\n",
summaryStatsModule_->sampleCount(index, 0));
- printf(" Average distance: %-6.3f nm\n",
+ printf(" Average distance: %-8.5f nm\n",
summaryStatsModule_->average(index, 0));
- printf(" Standard deviation: %-6.3f nm\n",
+ printf(" Standard deviation: %-8.5f nm\n",
summaryStatsModule_->standardDeviation(index, 0));
}
}
#include <string>
-#include "gromacs/legacyheaders/atomprop.h"
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/random/random.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/vec.h"
#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/modules/average.h"
#include "gromacs/analysisdata/modules/plot.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/random/random.h"
#include "gromacs/selection/nbsearch.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include <stdlib.h>
#include <math.h>
#include <stdarg.h>
+
/* Modified DvdS */
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "gromacs/utility/smalloc.h"
#include "nsc.h"
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "typedefs.h"
+#ifndef GMX_TRAJECTORYANALYSIS_NSC_H
+#define GMX_TRAJECTORYANALYSIS_NSC_H
+
+#include "gromacs/legacyheaders/types/simple.h"
#define FLAG_DOTS 01
#define FLAG_VOLUME 02
#ifdef __cplusplus
}
#endif
+
+#endif
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/atomprop.h"
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/pbc.h"
-#include "gromacs/legacyheaders/physics.h"
-#include "gromacs/legacyheaders/symtab.h"
-#include "gromacs/legacyheaders/vec.h"
#include "gromacs/analysisdata/analysisdata.h"
#include "gromacs/analysisdata/modules/average.h"
#include "gromacs/analysisdata/modules/plot.h"
#include "gromacs/fileio/confio.h"
-#include "gromacs/fileio/futil.h"
#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/trx.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/topology/symtab.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/trajectoryanalysis/analysismodule.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/scoped_ptr_sfree.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/stringutil.h"
#include "gromacs/analysisdata/modules/lifetime.h"
#include "gromacs/analysisdata/modules/plot.h"
#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trx.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
#include "gromacs/selection/selection.h"
#include "gromacs/selection/selectionoption.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include "gromacs/utility/arrayref.h"
#include "gromacs/utility/exceptions.h"
#include <string.h>
#include "gromacs/legacyheaders/oenv.h"
-#include "gromacs/legacyheaders/rmpbc.h"
-#include "gromacs/legacyheaders/vec.h"
#include "gromacs/fileio/timecontrol.h"
#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trx.h"
#include "gromacs/fileio/trxio.h"
+#include "gromacs/math/vec.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/filenameoption.h"
#include "gromacs/options/options.h"
+#include "gromacs/pbcutil/rmpbc.h"
#include "gromacs/selection/indexutil.h"
#include "gromacs/selection/selectioncollection.h"
#include "gromacs/selection/selectionfileoption.h"
+#include "gromacs/topology/topology.h"
#include "gromacs/trajectoryanalysis/analysissettings.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2010,2011,2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2010,2011,2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
#define GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
-#include "../legacyheaders/types/simple.h"
-#include "gromacs/fileio/trx.h"
+#include "gromacs/utility/common.h"
-#include "../utility/common.h"
+struct t_trxframe;
namespace gmx
{
* The header file.h declares a gmx::File class for basic I/O support.
*
* The header path.h declares helpers for manipulating paths and for managing
- * directories (this has been moved to src/gromacs/fileio/ to wait for
- * resolution of #950).
+ * directories.
*
* The fate of these headers depends on what is decided in Redmine issue #950.
*
set(UTILITY_PUBLIC_HEADERS
arrayref.h
+ basedefinitions.h
cstringutil.h
common.h
errorcodes.h
exceptions.h
+ fatalerror.h
file.h
flags.h
+ futil.h
gmx_header_config.h
gmxassert.h
init.h
programcontext.h
+ real.h
smalloc.h
stringutil.h
uniqueptr.h)
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \file
+ * \brief
+ * Basic types and macros used throughout \Gromacs.
+ *
+ * \inpublicapi
+ * \ingroup module_utility
+ */
+#ifndef GMX_UTILITY_BASEDEFINITIONS_H
+#define GMX_UTILITY_BASEDEFINITIONS_H
+
+/* Information about integer data type sizes */
+#include <limits.h>
+#define __STDC_LIMIT_MACROS
+#include <stdint.h>
+#ifndef _MSC_VER
+#define __STDC_FORMAT_MACROS
+#include <inttypes.h>
+#endif
+
+/*! \brief
+ * Boolean type for use in \Gromacs C code.
+ *
+ * There is no standard size for 'bool' in C++, so when
+ * we previously defined it to int for C code the data types
+ * (and structs) would have different size depending on your compiler,
+ * both at \Gromacs build time and when you use the library.
+ * The only way around this is to NOT assume anything about the C++ type,
+ * so we cannot use the name 'bool' in our C code anymore.
+ */
+typedef int gmx_bool;
+
+#ifndef FALSE
+/** False value for ::gmx_bool. */
+# define FALSE 0
+#endif
+#ifndef TRUE
+/** True value for ::gmx_bool. */
+# define TRUE 1
+#endif
+/** Number of gmx_bool values. */
+#define BOOL_NR 2
+
+/*! \name Fixed-width integer types
+ *
+ * These types and macros provide the equivalent of 32- and 64-bit integer
+ * types from C99 headers `stdint.h` and `inttypes.h`. These headers are also
+ * there in C++11. The types and macros from here should be used instead of
+ * `int32_t` etc.
+ * MSVC doesn't support these before Visual Studio 2013.
+ */
+/*! \{ */
+#ifdef _MSC_VER
+typedef __int32 gmx_int32_t;
+#define GMX_PRId32 "I32d"
+#define GMX_SCNd32 "I32d"
+
+typedef __int64 gmx_int64_t;
+#define GMX_PRId64 "I64d"
+#define GMX_SCNd64 "I64d"
+
+typedef unsigned __int32 gmx_uint32_t;
+#define GMX_PRIu32 "I32u"
+#define GMX_SCNu32 "I32u"
+
+typedef unsigned __int64 gmx_uint64_t;
+#define GMX_PRIu64 "I64u"
+#define GMX_SCNu64 "I64u"
+#else
+typedef int32_t gmx_int32_t;
+#define GMX_PRId32 PRId32
+#define GMX_SCNd32 SCNd32
+
+typedef int64_t gmx_int64_t;
+#define GMX_PRId64 PRId64
+#define GMX_SCNd64 SCNd64
+
+typedef uint32_t gmx_uint32_t;
+#define GMX_PRIu32 PRIu32
+#define GMX_SCNu32 SCNu32
+
+typedef uint64_t gmx_uint64_t;
+#define GMX_PRIu64 PRIu64
+#define GMX_SCNu64 SCNu64
+#endif
+
+#define GMX_INT32_MAX INT32_MAX
+#define GMX_INT32_MIN INT32_MIN
+
+#define GMX_INT64_MAX INT64_MAX
+#define GMX_INT64_MIN INT64_MIN
+
+#define GMX_UINT32_MAX UINT32_MAX
+#define GMX_UINT32_MIN UINT32_MIN
+
+#define GMX_UINT64_MAX UINT64_MAX
+#define GMX_UINT64_MIN UINT64_MIN
+/*! \} */
+
+/*! \def gmx_inline
+ * \brief
+ * Keyword to use in C code instead of C99 `inline`.
+ *
+ * Some of the C compilers we support do not recognize the C99 keyword
+ * `inline`. This macro should be used in C code and in shared C/C++ headers
+ * to indicate a function is inlined.
+ * C++ code should use plain `inline`, as that is already in C++98.
+ */
+#if !defined __cplusplus && _MSC_VER
+#define gmx_inline __inline
+#else
+/* C++ or C99 */
+#define gmx_inline inline
+#endif
+
+/* ICC, GCC, MSVC, Pathscale, PGI, XLC support __restrict.
+ * Any other compiler can be added here. */
+/*! \brief
+ * Keyword to use in instead of C99 `restrict`.
+ *
+ * We cannot use `restrict` because it is only in C99, but not in C++.
+ * This macro should instead be used to allow easily supporting different
+ * compilers.
+ */
+#define gmx_restrict __restrict
+
+/*! \def gmx_unused
+ * \brief
+ * Attribute to suppres compiler warnings about unused function parameters.
+ *
+ * This attribute suppresses compiler warnings about unused function arguments
+ * by marking them as possibly unused. Some arguments are unused but
+ * have to be retained to preserve a function signature
+ * that must match that of another function.
+ * Some arguments are only used in *some* conditional compilation code paths
+ * (e.g. MPI).
+ */
+#ifndef gmx_unused
+#ifdef __GNUC__
+/* GCC, clang, and some ICC pretending to be GCC */
+# define gmx_unused __attribute__ ((unused))
+#elif (defined(__INTEL_COMPILER) || defined(__ECC)) && !defined(_MSC_VER)
+/* ICC on *nix */
+# define gmx_unused __attribute__ ((unused))
+#elif defined _MSC_VER
+/* MSVC */
+# define gmx_unused /*@unused@*/
+#elif defined(__xlC__)
+/* IBM */
+# define gmx_unused __attribute__ ((unused))
+#else
+# define gmx_unused
+#endif
+#endif
+
+#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "basenetwork.h"
+
+#include "config.h"
+
+#include <cctype>
+#include <cstdio>
+#include <cstdlib>
+#include <cstring>
+
+#include <algorithm>
+#include <exception>
+
+#ifdef HAVE_UNISTD_H
+#include <unistd.h>
+#endif
+
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/programcontext.h"
+
+int gmx_gethostname(char *name, size_t len)
+{
+ if (len < 8)
+ {
+ gmx_incons("gmx_gethostname called with len<8");
+ }
+#if defined(HAVE_UNISTD_H) && !defined(__native_client__)
+ if (gethostname(name, len-1) != 0)
+ {
+ std::strncpy(name, "unknown", 8);
+ return -1;
+ }
+ return 0;
+#else
+ std::strncpy(name, "unknown", 8);
+ return -1;
+#endif
+}
+
+gmx_bool gmx_mpi_initialized(void)
+{
+#ifndef GMX_MPI
+ return 0;
+#else
+ int n;
+ MPI_Initialized(&n);
+
+ return n;
+#endif
+}
+
+int gmx_node_num(void)
+{
+#ifndef GMX_MPI
+ return 1;
+#else
+ int i;
+ (void) MPI_Comm_size(MPI_COMM_WORLD, &i);
+ return i;
+#endif
+}
+
+int gmx_node_rank(void)
+{
+#ifndef GMX_MPI
+ return 0;
+#else
+ int i;
+ (void) MPI_Comm_rank(MPI_COMM_WORLD, &i);
+ return i;
+#endif
+}
+
+static int mpi_hostname_hash(void)
+{
+ int hash_int;
+
+#ifndef GMX_LIB_MPI
+ /* We have a single physical node */
+ hash_int = 0;
+#else
+ int resultlen;
+ char mpi_hostname[MPI_MAX_PROCESSOR_NAME];
+
+ /* This procedure can only differentiate nodes with different names.
+ * Architectures where different physical nodes have identical names,
+ * such as IBM Blue Gene, should use an architecture specific solution.
+ */
+ MPI_Get_processor_name(mpi_hostname, &resultlen);
+
+ /* The string hash function returns an unsigned int. We cast to an int.
+ * Negative numbers are converted to positive by setting the sign bit to 0.
+ * This makes the hash one bit smaller.
+ * A 63-bit hash (with 64-bit int) should be enough for unique node hashes,
+ * even on a million node machine. 31 bits might not be enough though!
+ */
+ hash_int =
+ (int)gmx_string_fullhash_func(mpi_hostname, gmx_string_hash_init);
+ if (hash_int < 0)
+ {
+ hash_int -= INT_MIN;
+ }
+#endif
+
+ return hash_int;
+}
+
+#if defined GMX_LIB_MPI && defined GMX_TARGET_BGQ
+#include <spi/include/kernel/location.h>
+
+static int bgq_nodenum(void)
+{
+ int hostnum;
+ Personality_t personality;
+ Kernel_GetPersonality(&personality, sizeof(personality));
+ /* Each MPI rank has a unique coordinate in a 6-dimensional space
+ (A,B,C,D,E,T), with dimensions A-E corresponding to different
+ physical nodes, and T within each node. Each node has sixteen
+ physical cores, each of which can have up to four hardware
+ threads, so 0 <= T <= 63 (but the maximum value of T depends on
+ the confituration of ranks and OpenMP threads per
+ node). However, T is irrelevant for computing a suitable return
+ value for gmx_hostname_num().
+ */
+ hostnum = personality.Network_Config.Acoord;
+ hostnum *= personality.Network_Config.Bnodes;
+ hostnum += personality.Network_Config.Bcoord;
+ hostnum *= personality.Network_Config.Cnodes;
+ hostnum += personality.Network_Config.Ccoord;
+ hostnum *= personality.Network_Config.Dnodes;
+ hostnum += personality.Network_Config.Dcoord;
+ hostnum *= personality.Network_Config.Enodes;
+ hostnum += personality.Network_Config.Ecoord;
+
+ if (debug)
+ {
+ std::fprintf(debug,
+ "Torus ID A: %d / %d B: %d / %d C: %d / %d D: %d / %d E: %d / %d\n"
+ "Node ID T: %d / %d core: %d / %d hardware thread: %d / %d\n",
+ personality.Network_Config.Acoord,
+ personality.Network_Config.Anodes,
+ personality.Network_Config.Bcoord,
+ personality.Network_Config.Bnodes,
+ personality.Network_Config.Ccoord,
+ personality.Network_Config.Cnodes,
+ personality.Network_Config.Dcoord,
+ personality.Network_Config.Dnodes,
+ personality.Network_Config.Ecoord,
+ personality.Network_Config.Enodes,
+ Kernel_ProcessorCoreID(),
+ 16,
+ Kernel_ProcessorID(),
+ 64,
+ Kernel_ProcessorThreadID(),
+ 4);
+ }
+ return hostnum;
+}
+#endif
+
+int gmx_physicalnode_id_hash(void)
+{
+ int hash;
+
+#ifndef GMX_MPI
+ hash = 0;
+#else
+#ifdef GMX_THREAD_MPI
+ /* thread-MPI currently puts the thread number in the process name,
+ * we might want to change this, as this is inconsistent with what
+ * most MPI implementations would do when running on a single node.
+ */
+ hash = 0;
+#else
+#ifdef GMX_TARGET_BGQ
+ hash = bgq_nodenum();
+#else
+ hash = mpi_hostname_hash();
+#endif
+#endif
+#endif
+
+ if (debug)
+ {
+ fprintf(debug, "In gmx_physicalnode_id_hash: hash %d\n", hash);
+ }
+
+ return hash;
+}
+
+#ifdef GMX_LIB_MPI
+void gmx_abort(int errorno)
+{
+ const char *programName = "GROMACS";
+ try
+ {
+ programName = gmx::getProgramContext().displayName();
+ }
+ catch (const std::exception &)
+ {
+ }
+ const int nnodes = gmx_node_num();
+ const int noderank = gmx_node_rank();
+ if (nnodes > 1)
+ {
+ std::fprintf(stderr, "Halting parallel program %s on rank %d out of %d\n",
+ programName, noderank, nnodes);
+ }
+ else
+ {
+ std::fprintf(stderr, "Halting program %s\n", programName);
+ }
+
+ MPI_Abort(MPI_COMM_WORLD, errorno);
+ std::exit(errorno);
+}
+#endif
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2011,2014, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_LEGACYHEADERS_TYPES_MATRIX_H
-#define GMX_LEGACYHEADERS_TYPES_MATRIX_H
+/*! \libinternal \file
+ * \brief
+ * Utility functions for basic MPI and network functionality.
+ *
+ * \inlibraryapi
+ * \ingroup module_utility
+ */
+#ifndef GMX_UTILITY_BASENETWORK_H
+#define GMX_UTILITY_BASENETWORK_H
+
+#include <stddef.h>
+
+#include "gromacs/utility/basedefinitions.h"
#ifdef __cplusplus
extern "C" {
#endif
-#include "simple.h"
-
-typedef struct {
- real r, g, b;
-} t_rgb;
+/*! \brief
+ * Sets the hostname to the value given by gethostname(), if available.
+ *
+ * \param[out] name Buffer to receive the hostname.
+ * \param[in] len Length of buffer \p name (must be >= 8).
+ * \returns 0 on success, -1 on error.
+ *
+ * If the value is not available, "unknown" is returned.
+ * \p name should have at least size \p len.
+ */
+int gmx_gethostname(char *name, size_t len);
-typedef struct {
- char c1; /* should all be non-zero (and printable and not '"') */
- char c2; /*
- * should all be zero (single char color names: smaller xpm's)
- * or should all be non-zero (double char color names: more colors)
- */
-} t_xpmelmt;
+/*! \brief
+ * Returns whether MPI has been initialized.
+ *
+ * The return value is `FALSE` if MPI_Init() has not been called, or if
+ * \Gromacs has been compiled without MPI support.
+ * For thread-MPI, always returns `TRUE`.
+ */
+gmx_bool gmx_mpi_initialized(void);
-typedef short t_matelmt;
+/** Returns the number of nodes. */
+int gmx_node_num(void);
-typedef struct {
- t_xpmelmt code; /* see comment for t_xpmelmt */
- const char *desc;
- t_rgb rgb;
-} t_mapping;
+/** Returns the rank of the node. */
+int gmx_node_rank(void);
-#define MAT_SPATIAL_X (1<<0)
-#define MAT_SPATIAL_Y (1<<1)
-/* Defines if x and y are spatial dimensions,
- * when not, there are n axis ticks at the middle of the elements,
- * when set, there are n+1 axis ticks at the edges of the elements.
+/*! \brief
+ * Return a non-negative hash that is, hopefully, unique for each physical
+ * node.
+ *
+ * This hash is useful for determining hardware locality.
*/
+int gmx_physicalnode_id_hash(void);
-typedef struct {
- unsigned int flags; /* The possible flags are defined above */
- int nx, ny;
- int y0;
- char title[256];
- char legend[256];
- char label_x[256];
- char label_y[256];
- gmx_bool bDiscrete;
- real *axis_x;
- real *axis_y;
- t_matelmt **matrix;
- int nmap;
- t_mapping *map;
-} t_matrix;
-/* title matrix title
- * legend label for the continuous legend
- * label_x label for the x-axis
- * label_y label for the y-axis
- * nx, ny size of the matrix
- * axis_x[] the x-ticklabels
- * axis_y[] the y-ticklables
- * *matrix[] element x,y is matrix[x][y]
- * nmap number of color levels for the output(?)
+/*! \brief
+ * Returns an integer characteristic of and, hopefully, unique to each
+ * physical node in the MPI system.
+ *
+ * If the first part of the MPI hostname (up to the first dot) ends with a
+ * number, returns this number. If the first part of the MPI hostname does not
+ * ends in a number (0-9 characters), returns 0.
+ *
+ * \todo
+ * This function should be fully replaced by gmx_physicalnode_id_hash().
*/
+int gmx_hostname_num(void);
+
+/** Abort the parallel run */
+void gmx_abort(int errorno);
#ifdef __cplusplus
}
#include <unistd.h>
#endif
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/main.h"
-
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
int continuing(char *s)
#endif
}
+char *gmx_step_str(gmx_int64_t i, char *buf)
+{
+ sprintf(buf, "%"GMX_PRId64, i);
+ return buf;
+}
+
void parse_digits_from_plain_string(const char *digitstring, int *ndigits, int **digitlist)
{
int i;
#include <stdio.h>
#include <time.h>
-#include "../legacyheaders/types/simple.h"
+#include "basedefinitions.h"
#include "gmx_header_config.h"
#define CONTINUE '\\'
/** Comment sign to use. */
#define COMMENTSIGN ';'
+/** Standard size for char* string buffers. */
+#define STRLEN 4096
/*! \brief
* Strip trailing spaces and if s ends with a ::CONTINUE remove that too.
*/
gmx_int64_t str_to_int64_t(const char *str, char **endptr);
+/** Minimum size of buffer to pass to gmx_step_str(). */
+#define STEPSTRSIZE 22
+
+/*! \brief
+ * Prints a gmx_int64_t value in buf and returns the pointer to buf.
+ *
+ * buf should be large enough to contain i: STEPSTRSIZE (22) chars.
+ * When multiple gmx_int64_t values are printed in the same printf call,
+ * be sure to call gmx_step_str with different buffers.
+ */
+char *gmx_step_str(gmx_int64_t i, char *buf);
+
#ifdef GMX_NATIVE_WINDOWS
#define snprintf _snprintf
#endif
#include "thread_mpi/system_error.h"
-#include "gromacs/legacyheaders/network.h"
-
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/errorcodes.h"
#include "gromacs/utility/gmxassert.h"
#include "gromacs/utility/stringutil.h"
const char *GromacsException::what() const throw()
{
const ErrorMessage *msg = boost::get_error_info<errinfo_message>(*this);
- while (msg != NULL && msg->isContext())
+ if (msg == NULL)
+ {
+ return "No reason provided";
+ }
+ while (msg->isContext())
{
msg = &msg->child();
}
- return msg != NULL ? msg->text().c_str() : "No reason provided";
+ return msg->text().c_str();
}
void GromacsException::prependContext(const std::string &context)
#ifdef GMX_LIB_MPI
// TODO: Consider moving the output done in gmx_abort() into the message
// printing routine above, so that this could become a simple MPI_Abort().
- gmx_abort(gmx_node_rank(), gmx_node_num(), returnCode);
+ gmx_abort(returnCode);
#endif
return returnCode;
}
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "gmx_fatal.h"
-#include "gmx_fatal_collective.h"
+#include "fatalerror.h"
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
-#include <ctype.h>
-#include <errno.h>
-#include <stdarg.h>
-#include <string.h>
+#include <cerrno>
+#include <cstdarg>
+#include <cstdlib>
+#include <cstring>
-#include "thread_mpi/threads.h"
+#include <exception>
-#include "main.h"
-#include "types/commrec.h"
-#include "network.h"
-#include "copyrite.h"
-#include "macros.h"
+#include "thread_mpi/threads.h"
-#include "gromacs/fileio/futil.h"
-#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/baseversion.h"
+#include "gromacs/utility/common.h"
#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/programcontext.h"
#include "gromacs/utility/smalloc.h"
static gmx_bool bDebug = FALSE;
static FILE *log_file = NULL;
-static tMPI_Thread_mutex_t debug_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
-static tMPI_Thread_mutex_t where_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
+static tMPI_Thread_mutex_t debug_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
+static tMPI_Thread_mutex_t where_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
+
+static const char *const gmxuser
+ = "Please report this to the mailing list (gmx-users@gromacs.org)";
gmx_bool bDebugMode(void)
{
- gmx_bool ret;
-#if 0
- tMPI_Thread_mutex_lock(&debug_mutex);
-#endif
- ret = bDebug;
-#if 0
- tMPI_Thread_mutex_unlock(&debug_mutex);
-#endif
return bDebug;
}
static int fatal_errno = 0;
-static void quit_gmx(const char *msg)
+static void default_error_handler(const char *msg)
{
tMPI_Thread_mutex_lock(&debug_mutex);
if (fatal_errno == 0)
}
perror(msg);
}
+ tMPI_Thread_mutex_unlock(&debug_mutex);
+}
-#ifdef GMX_LIB_MPI
- if (gmx_mpi_initialized())
- {
- int nnodes;
- int noderank;
+static void (*gmx_error_handler)(const char *msg) = default_error_handler;
- nnodes = gmx_node_num();
- noderank = gmx_node_rank();
+void set_gmx_error_handler(void (*func)(const char *msg))
+{
+ // TODO: Either this is unnecessary, or also reads to the handler should be
+ // protected by a mutex.
+ tMPI_Thread_mutex_lock(&debug_mutex);
+ gmx_error_handler = func;
+ tMPI_Thread_mutex_unlock(&debug_mutex);
+}
- if (nnodes > 1)
- {
- fprintf(stderr, "Error on rank %d, will try to stop all ranks\n",
- noderank);
- }
- gmx_abort(noderank, nnodes, -1);
- }
-#endif
+static void call_error_handler(const char *key, const char *file, int line, const char *msg)
+{
+ char buf[10240], errerrbuf[1024];
+ const char *llines = "-------------------------------------------------------";
+ char *strerr;
- if (debug)
+ if (msg == NULL)
{
- fflush(debug);
+ sprintf(errerrbuf, "Empty fatal_error message. %s", gmxuser);
}
- if (bDebugMode())
+ // In case ProgramInfo is not initialized and there is an issue with the
+ // initialization, fall back to "GROMACS".
+ const char *programName = "GROMACS";
+ try
+ {
+ programName = gmx::getProgramContext().displayName();
+ }
+ catch (const std::exception &)
{
- fprintf(stderr, "dump core (y/n):");
- fflush(stderr);
- if (toupper(getc(stdin)) != 'N')
- {
- (void) abort();
- }
}
- exit(fatal_errno);
- tMPI_Thread_mutex_unlock(&debug_mutex);
+ strerr = gmx_strerror(key);
+ sprintf(buf, "\n%s\nProgram %s, %s\n"
+ "Source code file: %s, line: %d\n\n"
+ "%s:\n%s\nFor more information and tips for troubleshooting, please check the GROMACS\n"
+ "website at http://www.gromacs.org/Documentation/Errors\n%s\n",
+ llines, programName, gmx_version(), file, line,
+ strerr, msg ? msg : errerrbuf, llines);
+ free(strerr);
+
+ gmx_error_handler(buf);
}
-/* The function below should be identical to quit_gmx,
- * except that is does not actually quit and call gmx_abort.
- */
-static void quit_gmx_noquit(const char *msg)
+GMX_ATTRIBUTE_NORETURN static void do_exit(bool bMaster, bool bFinalize)
{
- tMPI_Thread_mutex_lock(&debug_mutex);
- if (!fatal_errno)
- {
- if (log_file)
- {
- fprintf(log_file, "%s\n", msg);
- }
- fprintf(stderr, "%s\n", msg);
- /* we set it to no-zero because if this function is called, something
- has gone wrong */
- fatal_errno = 255;
- }
- else
- {
- if (fatal_errno != -1)
- {
- errno = fatal_errno;
- }
- perror(msg);
- }
-
-#ifndef GMX_LIB_MPI
if (debug)
{
fflush(debug);
}
- if (bDebugMode())
+
+#ifdef GMX_MPI
+ if (gmx_mpi_initialized())
{
- fprintf(stderr, "dump core (y/n):");
- fflush(stderr);
- if (toupper(getc(stdin)) != 'N')
+ if (bFinalize)
{
- (void) abort();
+ /* Broadcast the fatal error number possibly modified
+ * on the master process, in case the user would like
+ * to use the return status on a non-master process.
+ * The master process in cr and dd always has global rank 0.
+ */
+ MPI_Bcast(&fatal_errno, sizeof(fatal_errno), MPI_BYTE,
+ 0, MPI_COMM_WORLD);
+
+ /* Finalize nicely instead of aborting */
+ MPI_Finalize();
}
- }
+ else if (bMaster)
+ {
+#ifdef GMX_LIB_MPI
+ gmx_abort(1);
#endif
-
- tMPI_Thread_mutex_unlock(&debug_mutex);
-}
-
-void gmx_fatal(int f_errno, const char *file, int line, const char *fmt, ...)
-{
- va_list ap;
- char msg[STRLEN];
-
- va_start(ap, fmt);
- vsprintf(msg, fmt, ap);
- va_end(ap);
-
- tMPI_Thread_mutex_lock(&debug_mutex);
- fatal_errno = f_errno;
- tMPI_Thread_mutex_unlock(&debug_mutex);
-
- _gmx_error("fatal", msg, file, line);
-}
-
-void gmx_fatal_collective(int f_errno, const char *file, int line,
- const t_commrec *cr, gmx_domdec_t *dd,
- const char *fmt, ...)
-{
- gmx_bool bFinalize;
- va_list ap;
- char msg[STRLEN];
-#ifdef GMX_MPI
- int result;
+ }
+ else
+ {
+ /* Let all other processes wait till the master has printed
+ * the error message and issued MPI_Abort.
+ */
+ MPI_Barrier(MPI_COMM_WORLD);
+ }
+ }
+#else
+ GMX_UNUSED_VALUE(bMaster);
+ GMX_UNUSED_VALUE(bFinalize);
#endif
- bFinalize = TRUE;
-
-#ifdef GMX_MPI
- /* Check if we are calling on all processes in MPI_COMM_WORLD */
- if (cr != NULL)
- {
- MPI_Comm_compare(cr->mpi_comm_mysim, MPI_COMM_WORLD, &result);
- }
- else
+ if (bDebugMode())
{
- MPI_Comm_compare(dd->mpi_comm_all, MPI_COMM_WORLD, &result);
+ std::abort();
}
- /* Any result except MPI_UNEQUAL allows us to call MPI_Finalize */
- bFinalize = (result != MPI_UNEQUAL);
-#endif
+ std::exit(1);
+}
- if ((cr != NULL && MASTER(cr) ) ||
- (dd != NULL && DDMASTER(dd)))
+void gmx_fatal_mpi_va(int f_errno, const char *file, int line,
+ gmx_bool bMaster, gmx_bool bFinalize,
+ const char *fmt, va_list ap)
+{
+ if (bMaster)
{
- va_start(ap, fmt);
+ char msg[STRLEN];
vsprintf(msg, fmt, ap);
- va_end(ap);
tMPI_Thread_mutex_lock(&debug_mutex);
fatal_errno = f_errno;
tMPI_Thread_mutex_unlock(&debug_mutex);
- if (bFinalize)
- {
- /* Use an error handler that does not quit */
- set_gmx_error_handler(quit_gmx_noquit);
- }
-
- _gmx_error("fatal", msg, file, line);
+ call_error_handler("fatal", file, line, msg);
}
-#ifdef GMX_MPI
- if (bFinalize)
- {
- /* Broadcast the fatal error number possibly modified
- * on the master process, in case the user would like
- * to use the return status on a non-master process.
- * The master process in cr and dd always has global rank 0.
- */
- MPI_Bcast(&fatal_errno, sizeof(fatal_errno), MPI_BYTE,
- 0, MPI_COMM_WORLD);
-
- /* Finalize nicely instead of aborting */
- MPI_Finalize();
- }
- else
- {
- /* Let all other processes wait till the master has printed
- * the error message and issued MPI_Abort.
- */
- MPI_Barrier(MPI_COMM_WORLD);
- }
-#endif
+ do_exit(bMaster, bFinalize);
+}
- exit(fatal_errno);
+void gmx_fatal(int f_errno, const char *file, int line, const char *fmt, ...)
+{
+ va_list ap;
+ va_start(ap, fmt);
+ gmx_fatal_mpi_va(f_errno, file, line, TRUE, FALSE, fmt, ap);
+ va_end(ap);
}
/*
if (!bDebug) /* another thread hasn't already run this*/
{
no_buffers();
- debug = gmx_fio_fopen(dbgfile, "w+");
+ debug = gmx_ffopen(dbgfile, "w+");
bDebug = TRUE;
if (dbglevel >= 2)
{
tMPI_Thread_mutex_unlock(&debug_mutex);
}
-static const char *gmxuser = "Please report this to the mailing list (gmx-users@gromacs.org)";
-
-static void (*gmx_error_handler)(const char *msg) = quit_gmx;
-
-void set_gmx_error_handler(void (*func)(const char *msg))
-{
- tMPI_Thread_mutex_lock(&debug_mutex);
- gmx_error_handler = func;
- tMPI_Thread_mutex_unlock(&debug_mutex);
-}
-
char *gmx_strerror(const char *key)
{
typedef struct {
{ "input", "Input error or input inconsistency" },
{ "mem", "Memory allocation/freeing error" },
{ "open", "Can not open file" },
- { "range", "Range checking error" }
+ { "range", "Range checking error" },
+ { NULL, NULL}
};
-#define NMSG asize(msg)
- char buf[1024];
- size_t i;
if (key == NULL)
{
}
else
{
- for (i = 0; (i < NMSG); i++)
+ for (size_t i = 0; msg[i].key != NULL; ++i)
{
if (strcmp(key, msg[i].key) == 0)
{
- break;
+ return strdup(msg[i].msg);
}
}
- if (i == NMSG)
- {
- sprintf(buf, "No error message associated with key %s\n%s", key, gmxuser);
- return strdup(buf);
- }
- else
- {
- return strdup(msg[i].msg);
- }
+ char buf[1024];
+ sprintf(buf, "No error message associated with key %s\n%s", key, gmxuser);
+ return strdup(buf);
}
}
void _gmx_error(const char *key, const char *msg, const char *file, int line)
{
- char buf[10240], errerrbuf[1024];
- const char *llines = "-------------------------------------------------------";
- char *strerr;
-
- /* protect the audience from suggestive discussions */
-
- if (msg == NULL)
- {
- sprintf(errerrbuf, "Empty fatal_error message. %s", gmxuser);
- }
-
- strerr = gmx_strerror(key);
- sprintf(buf, "\n%s\nProgram %s, %s\n"
- "Source code file: %s, line: %d\n\n"
- "%s:\n%s\nFor more information and tips for troubleshooting, please check the GROMACS\n"
- "website at http://www.gromacs.org/Documentation/Errors\n%s\n",
- llines, ShortProgram(), GromacsVersion(), file, line,
- strerr, msg ? msg : errerrbuf, llines);
- free(strerr);
-
- gmx_error_handler(buf);
+ call_error_handler(key, file, line, msg);
+ do_exit(true, false);
}
void _range_check(int n, int n_min, int n_max, const char *warn_str,
* Declares fatal error handling and debugging routines for C code.
*
* \inpublicapi
+ * \ingroup module_utility
*/
-#ifndef _fatal_h
-#define _fatal_h
+#ifndef GMX_UTILITY_FATALERROR_H
+#define GMX_UTILITY_FATALERROR_H
+#include <stdarg.h>
#include <stdio.h>
-#include "types/simple.h"
+#include "basedefinitions.h"
#ifdef __cplusplus
extern "C" {
* code generation.
*/
#ifndef GMX_ATTRIBUTE_NORETURN
-#if __has_feature(attribute_analyzer_noreturn)
-#define GMX_ATTRIBUTE_NORETURN __attribute__((analyzer_noreturn))
+#if defined(__GNUC__) || __has_feature(attribute_analyzer_noreturn)
+#define GMX_ATTRIBUTE_NORETURN __attribute__((noreturn))
#else
#define GMX_ATTRIBUTE_NORETURN
#endif
/** Prints filename and line to stdlog. */
#define where() _where(__FILE__, __LINE__)
+/*! \brief
+ * Low-level fatal error reporting routine for collective MPI errors.
+ *
+ * This function works as gmx_fatal(), but provides additional control for
+ * cases where it is known that the same error occurs on multiple MPI ranks.
+ * The error handler is called only if \p bMaster is `TRUE`, and MPI_Finalize()
+ * is called instead of MPI_Abort() in MPI-enabled \Gromacs if \p bFinalize is
+ * `TRUE`.
+ *
+ * This is used to implement gmx_fatal_collective() (which cannot be declared
+ * here, since it would bring with it mdrun-specific dependencies).
+ */
+void
+gmx_fatal_mpi_va(int fatal_errno, const char *file, int line, gmx_bool bMaster,
+ gmx_bool bFinalize, const char *fmt, va_list ap) GMX_ATTRIBUTE_NORETURN;
+
/*! \brief
* Fatal error reporting routine for \Gromacs.
*
* The format of \p fmt uses printf()-like formatting.
*
* In case all MPI processes want to stop with the same fatal error,
- * use gmx_fatal_collective(), declared in gmx_fatal_collective.h,
+ * use gmx_fatal_collective(), declared in network.h,
* to avoid having as many error messages as processes.
*
* The first three parameters can be provided through ::FARGS:
/*! \brief
* Sets an error handler for gmx_fatal() and other fatal error routines.
*
- * The default handler prints the message and aborts the program.
- * If you set a custom handler, it must also abort the program, otherwise
- * \Gromacs will behave unpredictably (most likely, it crashes shortly after
- * the fatal error).
+ * The default handler prints the message.
+ * \Gromacs will terminate the program after the error handler returns.
+ * To make gmx_fatal_collective() work, the error handler should not terminate
+ * the program, as it cannot know what is the desired way of termination.
* The string passed to the handler may be a multi-line string.
*
* \see gmx_fatal()
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "gromacs/utility/futil.h"
+
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "thread_mpi/threads.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/types/commrec.h"
-#include "gromacs/legacyheaders/network.h"
-
-#include "gromacs/fileio/futil.h"
-#include "gromacs/fileio/path.h"
#include "gromacs/utility/cstringutil.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/path.h"
#include "gromacs/utility/programcontext.h"
#include "gromacs/utility/smalloc.h"
#include "gromacs/utility/stringutil.h"
}
-#ifdef rewind
-#undef rewind
-#endif
-
void frewind(FILE *fp)
{
tMPI_Thread_mutex_lock(&pstack_mutex);
#endif
}
-
-gmx_bool is_pipe(FILE *fp)
-{
- tMPI_Thread_mutex_lock(&pstack_mutex);
-
- t_pstack *ps = pstack;
- while (ps != NULL)
- {
- if (ps->fp == fp)
- {
- tMPI_Thread_mutex_unlock(&pstack_mutex);
- return TRUE;
- }
- ps = ps->prev;
- }
- tMPI_Thread_mutex_unlock(&pstack_mutex);
- return FALSE;
-}
-
-
static FILE *uncompress(const char *fn, const char *mode)
{
FILE *fp;
}
}
-
-gmx_bool gmx_fexist_master(const char *fname, t_commrec *cr)
-{
- gmx_bool bExist;
-
- if (SIMMASTER(cr))
- {
- bExist = gmx_fexist(fname);
- }
- if (PAR(cr))
- {
- gmx_bcast(sizeof(bExist), &bExist, cr);
- }
- return bExist;
-}
-
-gmx_bool gmx_eof(FILE *fp)
-{
- char data[4];
- gmx_bool beof;
-
- if (is_pipe(fp))
- {
- return feof(fp);
- }
- else
- {
- if ((beof = fread(data, 1, 1, fp)) == 1)
- {
- gmx_fseek(fp, -1, SEEK_CUR);
- }
- return !beof;
- }
-}
-
static char *backup_fn(const char *file, int count_max)
{
/* Use a reasonably low value for countmax; we might
/* name in Buf should now be OK */
}
-int gmx_truncatefile(char *path, gmx_off_t length)
-{
-#ifdef _MSC_VER
- /* Microsoft visual studio does not have "truncate" */
- HANDLE fh;
- LARGE_INTEGER win_length;
-
- win_length.QuadPart = length;
-
- fh = CreateFile(path, GENERIC_READ | GENERIC_WRITE, 0, NULL,
- OPEN_EXISTING, 0, NULL);
- SetFilePointerEx(fh, win_length, NULL, FILE_BEGIN);
- SetEndOfFile(fh);
- CloseHandle(fh);
-
- return 0;
-#else
- return truncate(path, length);
-#endif
-}
-
-
int gmx_file_rename(const char *oldname, const char *newname)
{
#ifndef GMX_NATIVE_WINDOWS
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \file
+ * \brief
+ * Low-level wrappers for OS-specific file handling with some \Gromacs
+ * customizations.
+ *
+ * \inpublicapi
+ * \ingroup module_utility
+ */
+#ifndef GMX_UTILITY_FUTIL_H
+#define GMX_UTILITY_FUTIL_H
+
+#include <limits.h>
+#include <stdio.h>
+
+#include "basedefinitions.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if 0
+}
+#endif
+
+#include "gmx_header_config.h"
+/*! \def DIR_SEPARATOR
+ * \brief
+ * Directory separator on this OS.
+ *
+ * Native Windows uses backslash path separators (but accepts also slashes).
+ * Cygwin and most other systems use slash.
+ *
+ * \todo
+ * Get rid of this (Redmine #950), or at least remove this from an installed
+ * header. It is not necessary for constructing paths on the systems that it
+ * currently supports, and is not reliable in parsing input paths either, since
+ * Windows needs to accept both instead of only DIR_SEPARATOR.
+ */
+#ifdef GMX_NATIVE_WINDOWS
+#define DIR_SEPARATOR '\\'
+#else
+#define DIR_SEPARATOR '/'
+#endif
+
+/*! \def GMX_PATH_MAX
+ * \brief
+ * Maximum path length, if the OS provides one, otherwise a fixed constant.
+ */
+#ifdef PATH_MAX
+# define GMX_PATH_MAX PATH_MAX
+#elif defined MAX_PATH
+# define GMX_PATH_MAX MAX_PATH
+#else
+# define GMX_PATH_MAX 4096
+#endif
+
+/** \Gromacs definition to use instead of `off_t`. */
+typedef gmx_int64_t gmx_off_t;
+
+/*! \brief
+ * Turn off buffering of files (which is default) for debugging purposes.
+ *
+ * This only has effect on files opened with gmx_ffopen().
+ */
+void no_buffers(void);
+
+/*! \brief
+ * Check whether a path exists.
+ *
+ * \returns `TRUE` when \p fname exists.
+ *
+ * Note that this returns `TRUE` even if \p fname is a directory instead of a
+ * file.
+ */
+gmx_bool gmx_fexist(const char *fname);
+
+/*! \brief
+ * Makes a backup of file if the file exists.
+ *
+ * \returns `FALSE` if there was a problem.
+ */
+gmx_bool make_backup(const char *file);
+
+/*! \brief
+ * Opens a file, with \Gromacs-specific additions.
+ *
+ * If the file is in compressed format, opens a pipe which uncompresses the
+ * file on the fly. For this to work, gmx_ffclose() and frewind() should
+ * always be used for files opened with gmx_ffopen() instead of fclose() and
+ * rewind(). For compressed files, the \p file parameter should be passed
+ * without the compressed extension; if that file is not found, then a few
+ * compression extensions are tried.
+ * Creates a backup if a file opened for writing already exists before
+ * overwriting it.
+ * A fatal error results if the file cannot be opened, for whatever reason.
+ */
+FILE *gmx_ffopen(const char *file, const char *mode);
+
+/** Closes a file opened with gmx_ffopen(). */
+int gmx_ffclose(FILE *fp);
+
+/*! \brief
+ * Wraps rewind() for files opened with gmx_ffopen().
+ *
+ * A fatal error results if this function is called for a pipe (a compressed
+ * input file).
+ */
+void frewind(FILE *fp);
+
+/** OS-independent 64-bit fseek(). */
+int gmx_fseek(FILE *stream, gmx_off_t offset, int whence);
+
+/** OS-independent 64-bit ftell(). */
+gmx_off_t gmx_ftell(FILE *stream);
+
+/*! \brief
+ * Finds full path for a library file.
+ *
+ * Searches first in the current directory, and then in the configured library
+ * directories.
+ * Fatal error results if the file is not found in any location.
+ * The caller is responsible of freeing the returned string.
+ */
+char *gmxlibfn(const char *file);
+
+/*! \brief
+ * Opens a library file for reading.
+ *
+ * Works as gmxlibfn(), except that it opens the file and returns a file
+ * handle.
+ */
+FILE *libopen(const char *file);
+
+/*! \brief
+ * More flexible gmxlibfn().
+ *
+ * Works as gmxlibfn(), but provides control whether the current working
+ * directory is searched or not, and whether a missing file is a fatal error or
+ * not.
+ */
+char *low_gmxlibfn(const char *file, gmx_bool bAddCWD, gmx_bool bFatal);
+
+/*! \brief
+ * Alternative for libopen() that optionally does not exit.
+ *
+ * Works as libopen(), but provides control whether a missing file is a fatal
+ * error or not.
+ */
+FILE *low_libopen(const char *file, gmx_bool bFatal);
+
+/** Opaque data type to list directories. */
+typedef struct gmx_directory *gmx_directory_t;
+
+/*! \brief
+ * Opens a directory for reading.
+ *
+ * \param[out] p_gmxdir Handle to the opened directory.
+ * \param[in] dirname Path to directory to open.
+ * \returns 0 on success.
+ */
+int
+gmx_directory_open(gmx_directory_t *p_gmxdir, const char *dirname);
+
+/*! \brief
+ * Gets next file in a directory.
+ *
+ * Given an initialized gmx_directory_t, if there are more files in
+ * the directory this routine returns 0 and write the next name
+ * into the USER-PROVIDED buffer \p name. The last argument is the max
+ * number of characters that will be written. Just as strncpy(), the
+ * string will NOT be terminated it it is longer than \p maxlength_name.
+ */
+int
+gmx_directory_nextfile(gmx_directory_t gmxdir, char *name, int maxlength_name);
+
+/** Releases all data for a directory structure. */
+int
+gmx_directory_close(gmx_directory_t gmxdir);
+
+
+/*! \brief
+ * Creates unique name for temp file (wrapper around mkstemp).
+ *
+ * \p buf should be at least 7 bytes long
+ */
+void gmx_tmpnam(char *buf);
+
+/*! \brief
+ * OS-independent rename().
+ *
+ * Renames/moves a file atomically, if the OS makes that available.
+ */
+int gmx_file_rename(const char *oldname, const char *newname);
+
+/*! \brief
+ * Copies a file (data only) oldname to newname.
+ *
+ * If \p copy_if_empty is `FALSE`, the file won't be copied if it's empty.
+ */
+int gmx_file_copy(const char *oldname, const char *newname, gmx_bool copy_if_empty);
+
+/*! \brief
+ * OS-independent fsync().
+ *
+ * Only use this during checkpointing!
+ */
+int gmx_fsync(FILE *fp);
+
+/*! \brief
+ * OS-independent chdir().
+ *
+ * Exits with a fatal error if changing the directory fails.
+ */
+void gmx_chdir(const char *directory);
+/*! \brief
+ * OS-independent getcwd().
+ *
+ * Exits with a fatal error if the call fails.
+ */
+void gmx_getcwd(char *buffer, size_t size);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
#include "config.h"
#include <stdio.h>
+#include <stdlib.h>
#ifdef GMX_OPENMP
#include <omp.h>
#endif
-#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/md_logging.h"
-
#include "gromacs/utility/common.h"
#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/programcontext.h"
+#include "gromacs/utility/stringutil.h"
int gmx_omp_get_max_threads(void)
{
#endif
}
-/*!
- * Thread affinity set by the OpenMP library can conflict with the GROMACS
- * internal affinity setting.
- *
- * While GNU OpenMP does not set affinity by default, the Intel OpenMP library
- * does. This conflicts with the internal affinity (especially thread-MPI)
- * setting, results in incorrectly locked threads, and causes dreadful performance.
- *
- * The KMP_AFFINITY environment variable is used by Intel, GOMP_CPU_AFFINITY
- * by the GNU compilers (Intel also honors it well). If any of the variables
- * is set, we honor it, disable the internal pinning, and warn the user.
- * When using Intel OpenMP, we will disable affinity if the user did not set it
- * anually through one of the aforementioned environment variables.
- *
- * Note that the Intel OpenMP affinity disabling iwll only take effect if this
- * function is called before the OpenMP library gets initialized which happens
- * when the first call is made into a compilation unit that contains OpenMP
- * pragmas.
- */
-void gmx_omp_check_thread_affinity(FILE *fplog,
- const t_commrec *cr,
- gmx_hw_opt_t *hw_opt)
+gmx_bool gmx_omp_check_thread_affinity(char **message)
{
- /* no need to worry if internal thread pinning is turned off */
- if (hw_opt->thread_affinity == threadaffOFF)
- {
- return;
- }
+ bool shouldSetAffinity = true;
-#ifndef GMX_OPENMP
- GMX_UNUSED_VALUE(fplog);
- GMX_UNUSED_VALUE(cr);
-#else
+ *message = NULL;
+#ifdef GMX_OPENMP
/* We assume that the affinity setting is available on all platforms
* gcc supports. Even if this is not the case (e.g. Mac OS) the user
* will only get a warning. */
#if defined(__GNUC__) || defined(__INTEL_COMPILER)
+ const char *programName;
+ try
+ {
+ programName = gmx::getProgramContext().displayName();
+ }
+ GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
+
const char *const gomp_env = getenv("GOMP_CPU_AFFINITY");
const bool bGompCpuAffinitySet = (gomp_env != NULL);
/* turn off internal pinning if GOMP_CPU_AFFINITY is set & non-empty */
if (bGompCpuAffinitySet && *gomp_env != '\0')
{
- /* TODO: with -pin auto we should only warn when using all cores */
- md_print_warn(cr, fplog,
- "NOTE: GOMP_CPU_AFFINITY set, will turn off %s internal affinity\n"
- " setting as the two can conflict and cause performance degradation.\n"
- " To keep using the %s internal affinity setting, unset the\n"
- " GOMP_CPU_AFFINITY environment variable.",
- ShortProgram(), ShortProgram());
-
- hw_opt->thread_affinity = threadaffOFF;
+ try
+ {
+ std::string buf = gmx::formatString(
+ "NOTE: GOMP_CPU_AFFINITY set, will turn off %s internal affinity\n"
+ " setting as the two can conflict and cause performance degradation.\n"
+ " To keep using the %s internal affinity setting, unset the\n"
+ " GOMP_CPU_AFFINITY environment variable.",
+ programName, programName);
+ *message = gmx_strdup(buf.c_str());
+ }
+ GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
+ shouldSetAffinity = false;
}
#endif /* __GNUC__ || __INTEL_COMPILER */
/* turn off internal pinning KMP_AFFINITY != "disabled" */
if (bKmpAffinitySet && (gmx_strncasecmp(kmp_env, "disabled", 8) != 0))
{
- /* TODO: with -pin auto we should only warn when using all cores */
- md_print_warn(cr, fplog,
- "NOTE: KMP_AFFINITY set, will turn off %s internal affinity\n"
- " setting as the two can conflict and cause performance degradation.\n"
- " To keep using the %s internal affinity setting, set the\n"
- " KMP_AFFINITY=disabled environment variable.",
- ShortProgram(), ShortProgram());
-
- hw_opt->thread_affinity = threadaffOFF;
+ try
+ {
+ std::string buf = gmx::formatString(
+ "NOTE: KMP_AFFINITY set, will turn off %s internal affinity\n"
+ " setting as the two can conflict and cause performance degradation.\n"
+ " To keep using the %s internal affinity setting, set the\n"
+ " KMP_AFFINITY=disabled environment variable.",
+ programName, programName);
+ *message = gmx_strdup(buf.c_str());
+ }
+ GMX_CATCH_ALL_AND_EXIT_WITH_FATAL_ERROR;
+ shouldSetAffinity = false;
}
#endif /* __INTEL_COMPILER */
#endif /* GMX_OPENMP */
+ return shouldSetAffinity;
}
#include "config.h"
#endif
+#include <stdio.h>
+
#ifndef GMX_NATIVE_WINDOWS
/* Ugly hack because the openmp implementation below hacks into the SIMD
* settings to decide when to use _mm_pause(). This should eventually be
#include <windows.h>
#endif
-#include "types/commrec.h"
-#include "mdrun.h"
+#include "basedefinitions.h"
#ifdef __cplusplus
extern "C"
/*! \brief
* Check for externally set thread affinity to avoid conflicts with \Gromacs
* internal setting.
+ *
+ * \param[out] message Receives the message to be shown to the user.
+ * \returns `true` if we can set thread affinity ourselves.
+ *
+ * While GNU OpenMP does not set affinity by default, the Intel OpenMP library
+ * does. This conflicts with the internal affinity (especially thread-MPI)
+ * setting, results in incorrectly locked threads, and causes dreadful performance.
+ *
+ * The KMP_AFFINITY environment variable is used by Intel, GOMP_CPU_AFFINITY
+ * by the GNU compilers (Intel also honors it well). If any of the variables
+ * is set, we should honor it and disable the internal pinning.
+ * When using Intel OpenMP, we will disable affinity if the user did not set it
+ * manually through one of the aforementioned environment variables.
+ *
+ * Note that the Intel OpenMP affinity disabling will only take effect if this
+ * function is called before the OpenMP library gets initialized, which happens
+ * when the first call is made into a compilation unit that contains OpenMP
+ * pragmas.
+ *
+ * If this function returns `false`, the caller is responsible to disable the
+ * pinning, show the message from \p *message to the user, and free the memory
+ * allocated for \p *message.
+ * If the return value is `true`, \p *message is NULL.
*/
-void gmx_omp_check_thread_affinity(FILE *fplog, const t_commrec *cr,
- gmx_hw_opt_t *hw_opt);
+gmx_bool gmx_omp_check_thread_affinity(char **message);
/*! \brief
* Pause for use in a spin-wait loop.
* Implements functions in path.h.
*
* \author Teemu Murtola <teemu.murtola@gmail.com>
- * \ingroup module_fileio
+ * \ingroup module_utility
*/
#include "path.h"
#endif
#endif
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/stringutil.h"
namespace
return path.substr(pos+1);
}
+std::string Path::stripExtension(const std::string &path)
+{
+ size_t dirSeparatorPos = path.find_last_of(cDirSeparators);
+ size_t extPos = path.find_last_of('.');
+ if (extPos == std::string::npos
+ || (dirSeparatorPos != std::string::npos && extPos < dirSeparatorPos))
+ {
+ return path;
+ }
+ return path.substr(0, extPos);
+}
+
std::string Path::normalize(const std::string &path)
{
std::string result(path);
*
* \author Teemu Murtola <teemu.murtola@gmail.com>
* \inlibraryapi
- * \ingroup module_fileio
+ * \ingroup module_utility
*/
-#ifndef GMX_FILEIO_PATH_H
-#define GMX_FILEIO_PATH_H
+#ifndef GMX_UTILITY_PATH_H
+#define GMX_UTILITY_PATH_H
#include <string>
#include <utility>
static std::string normalize(const std::string &path);
static std::string getParentPath(const std::string &path);
static std::string getFilename(const std::string &path);
+ static std::string stripExtension(const std::string &path);
static bool exists(const char *path);
static bool exists(const std::string &path);
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+/*! \file
+ * \brief
+ * Declares `real` and related constants.
+ *
+ * \inpublicapi
+ * \ingroup module_utility
+ */
+#ifndef GMX_UTILITY_REAL_H
+#define GMX_UTILITY_REAL_H
+
+/*! \brief Double precision accuracy */
+#define GMX_DOUBLE_EPS 2.2204460492503131e-16
+
+/*! \brief Maximum double precision value - reduced 1 unit in last digit for MSVC */
+#define GMX_DOUBLE_MAX 1.7976931348623157e+308
+
+/*! \brief Minimum double precision value */
+#define GMX_DOUBLE_MIN 2.2250738585072014e-308
+
+/*! \brief Single precision accuracy */
+#define GMX_FLOAT_EPS 1.19209290e-07F
+
+/*! \brief Maximum single precision value - reduced 1 unit in last digit for MSVC */
+#define GMX_FLOAT_MAX 3.40282346E+38F
+
+/*! \brief Minimum single precision value */
+#define GMX_FLOAT_MIN 1.175494351E-38F
+
+
+/*! \typedef real
+ * \brief Precision-dependent \Gromacs floating-point type.
+ */
+/*! \def HAVE_REAL
+ * \brief Used to check whether `real` is already defined.
+ */
+/*! \def GMX_MPI_REAL
+ * \brief MPI data type for `real`.
+ */
+/*! \def GMX_REAL_EPS
+ * \brief Accuracy for `real`.
+ */
+/*! \def GMX_REAL_MIN
+ * \brief Smallest non-zero value for `real`.
+ */
+/*! \def GMX_REAL_MAX
+ * \brief Largest finite value for `real`.
+ */
+/*! \def gmx_real_fullprecision_pfmt
+ * \brief Format string for full `real` precision.
+ */
+#ifdef GMX_DOUBLE
+
+#ifndef HAVE_REAL
+typedef double real;
+#define HAVE_REAL
+#endif
+
+#define GMX_MPI_REAL MPI_DOUBLE
+#define GMX_REAL_EPS GMX_DOUBLE_EPS
+#define GMX_REAL_MIN GMX_DOUBLE_MIN
+#define GMX_REAL_MAX GMX_DOUBLE_MAX
+#define gmx_real_fullprecision_pfmt "%21.14e"
+
+#else /* GMX_DOUBLE */
+
+#ifndef HAVE_REAL
+typedef float real;
+#define HAVE_REAL
+#endif
+
+#define GMX_MPI_REAL MPI_FLOAT
+#define GMX_REAL_EPS GMX_FLOAT_EPS
+#define GMX_REAL_MIN GMX_FLOAT_MIN
+#define GMX_REAL_MAX GMX_FLOAT_MAX
+#define gmx_real_fullprecision_pfmt "%14.7e"
+
+#endif /* GMX_DOUBLE */
+
+#endif
#include <dmalloc.h>
#endif
-#include "gromacs/legacyheaders/gmx_fatal.h"
+#include "thread_mpi/threads.h"
+#include "gromacs/utility/fatalerror.h"
#ifdef PRINT_ALLOC_KB
#include "gromacs/utility/gmxmpi.h"
#endif
-#ifdef DEBUG
-#include "thread_mpi/threads.h"
+static gmx_bool g_bOverAllocDD = FALSE;
+static tMPI_Thread_mutex_t g_over_alloc_mutex = TMPI_THREAD_MUTEX_INITIALIZER;
+#ifdef DEBUG
static void log_action(int bMal, const char *what, const char *file, int line,
int nelem, int size, void *ptr)
{
}
#endif
- allocate_fail = FALSE; /* stop compiler warnings */
#ifdef HAVE_POSIX_MEMALIGN
allocate_fail = (0 != posix_memalign(&malloced, alignment, nelem*elsize));
#elif defined HAVE_MEMALIGN
#endif
}
}
+
+void set_over_alloc_dd(gmx_bool set)
+{
+ tMPI_Thread_mutex_lock(&g_over_alloc_mutex);
+ /* we just make sure that we don't set this at the same time.
+ We don't worry too much about reading this rarely-set variable */
+ g_bOverAllocDD = set;
+ tMPI_Thread_mutex_unlock(&g_over_alloc_mutex);
+}
+
+int over_alloc_dd(int n)
+{
+ if (g_bOverAllocDD)
+ {
+ return OVER_ALLOC_FAC*n + 100;
+ }
+ else
+ {
+ return n;
+ }
+}
#include <stddef.h>
+#include "basedefinitions.h"
+
#ifdef __cplusplus
extern "C" {
#endif
#endif
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/*! \brief
* Frees memory referenced by \p ptr.
*
*/
#define sfree_aligned(ptr) save_free_aligned(#ptr, __FILE__, __LINE__, (ptr))
+/*! \brief
+ * Over allocation factor for memory allocations.
+ *
+ * Memory (re)allocation can be VERY slow, especially with some
+ * MPI libraries that replace the standard malloc and realloc calls.
+ * To avoid slow memory allocation we use over_alloc to set the memory
+ * allocation size for large data blocks. Since this scales the size
+ * with a factor, we use log(n) realloc calls instead of n.
+ * This can reduce allocation times from minutes to seconds.
+ *
+ * This factor leads to 4 realloc calls to double the array size.
+ */
+#define OVER_ALLOC_FAC 1.19
+
+/*! \brief
+ * Turns over allocation for variable size atoms/cg/top arrays on or off,
+ * default is off.
+ *
+ * \todo
+ * This is mdrun-specific, so it might be better to put this and
+ * over_alloc_dd() much higher up.
+ */
+void set_over_alloc_dd(gmx_bool set);
+
+/*! \brief
+ * Returns new allocation count for domain decomposition allocations.
+ *
+ * Returns n when domain decomposition over allocation is off.
+ * Returns OVER_ALLOC_FAC*n + 100 when over allocation in on.
+ * This is to avoid frequent reallocation during domain decomposition in mdrun.
+ */
+int over_alloc_dd(int n);
+
+/** Over allocation for small data types: int, real etc. */
+#define over_alloc_small(n) (int)(OVER_ALLOC_FAC*(n) + 8000)
+
+/** Over allocation for large data types: complex structs */
+#define over_alloc_large(n) (int)(OVER_ALLOC_FAC*(n) + 1000)
+
+#ifdef __cplusplus
+}
+#endif
+
#endif
#include <config.h>
#endif
+#include <stdlib.h>
+
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "vcm.h"
#include "mdebin.h"
#include "nrnb.h"
#include "calcmu.h"
-#include "index.h"
#include "vsite.h"
#include "update.h"
#include "ns.h"
#include "md_support.h"
#include "md_logging.h"
#include "network.h"
-#include "xvgr.h"
-#include "physics.h"
#include "names.h"
#include "force.h"
#include "disre.h"
#include "qmmm.h"
#include "domdec.h"
#include "domdec_network.h"
-#include "gromacs/gmxlib/topsort.h"
#include "coulomb.h"
#include "constr.h"
#include "shellfc.h"
#include "gromacs/gmxpreprocess/compute_io.h"
#include "checkpoint.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "sighandler.h"
#include "txtdump.h"
#include "gromacs/utility/cstringutil.h"
#include "types/iteratedconstraints.h"
#include "nbnxn_cuda_data_mgmt.h"
-#include "gromacs/utility/gmxmpi.h"
#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/mdoutf.h"
#include "gromacs/fileio/trajectory_writing.h"
#include "gromacs/fileio/trnio.h"
#include "gromacs/fileio/trxio.h"
#include "gromacs/fileio/xtcio.h"
-#include "gromacs/timing/wallcycle.h"
-#include "gromacs/timing/walltime_accounting.h"
+#include "gromacs/imd/imd.h"
+#include "gromacs/pbcutil/mshift.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/swap/swapcoords.h"
-#include "gromacs/imd/imd.h"
+#include "gromacs/timing/wallcycle.h"
+#include "gromacs/timing/walltime_accounting.h"
+#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/smalloc.h"
#ifdef GMX_FAHCORE
#include "corewrap.h"
rvec mu_tot;
t_vcm *vcm;
t_state *bufstate = NULL;
- matrix *scale_tot, pcoupl_mu, M, ebox;
+ matrix pcoupl_mu, M;
gmx_nlheur_t nlh;
t_trxframe rerun_fr;
gmx_repl_ex_t repl_ex = NULL;
gmx_ekindata_t *ekind, *ekind_save;
gmx_shellfc_t shellfc;
int count, nconverged = 0;
- real timestep = 0;
- double tcount = 0;
- gmx_bool bConverged = TRUE, bOK, bSumEkinhOld, bDoReplEx, bExchanged, bNeedRepartition;
- gmx_bool bAppend;
+ double tcount = 0;
+ gmx_bool bConverged = TRUE, bOK, bSumEkinhOld, bDoReplEx, bExchanged, bNeedRepartition;
gmx_bool bResetCountersHalfMaxH = FALSE;
gmx_bool bVV, bIterativeCase, bFirstIterate, bTemp, bPres, bTrotter;
gmx_bool bUpdateDoLR;
double cycles;
real saved_conserved_quantity = 0;
real last_ekin = 0;
- int iter_i;
t_extmass MassQ;
int **trotter_seq;
char sbuf[STEPSTRSIZE], sbuf2[STEPSTRSIZE];
/* Check for special mdrun options */
bRerunMD = (Flags & MD_RERUN);
- bAppend = (Flags & MD_APPENDFILES);
if (Flags & MD_RESETCOUNTERSHALFWAY)
{
if (ir->nsteps > 0)
bStateFromTPX = !bStateFromCP;
bInitStep = bFirstStep && (bStateFromTPX || bVV);
bStartingFromCpt = (Flags & MD_STARTFROMCPT) && bInitStep;
- bLastStep = FALSE;
bSumEkinhOld = FALSE;
- bDoReplEx = FALSE;
bExchanged = FALSE;
bNeedRepartition = FALSE;
step = ir->init_step;
step_rel = 0;
- if (ir->nstlist == -1)
- {
- init_nlistheuristics(&nlh, bGStatEveryStep, step);
- }
+ init_nlistheuristics(&nlh, bGStatEveryStep, step);
if (MULTISIM(cr) && (repl_ex_nst <= 0 ))
{
#include "gromacs/legacyheaders/checkpoint.h"
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/gmx_fatal.h"
#include "gromacs/legacyheaders/macros.h"
#include "gromacs/legacyheaders/main.h"
#include "gromacs/legacyheaders/mdrun.h"
#include "gromacs/commandline/pargs.h"
#include "gromacs/fileio/filenm.h"
+#include "gromacs/utility/fatalerror.h"
int gmx_mdrun(int argc, char *argv[])
{
#include "typedefs.h"
#include "types/commrec.h"
#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "macros.h"
-#include "main.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/essentialdynamics/edsam.h"
-#include "index.h"
-#include "physics.h"
+#include "gromacs/topology/index.h"
#include "names.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/utility/cstringutil.h"
#include "membed.h"
-#include "pbc.h"
+#include "gromacs/pbcutil/pbc.h"
#include "readinp.h"
#include "gromacs/gmxpreprocess/readir.h"
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012, by the GROMACS development team, led by
+ * Copyright (c) 2012,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "typedefs.h"
#include "types/membedt.h"
+#include "gromacs/fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#include <config.h>
#endif
-#include "gromacs/utility/smalloc.h"
#include "types/commrec.h"
#include "network.h"
#include "calcgrid.h"
#include "pme.h"
-#include "vec.h"
#include "domdec.h"
#include "nbnxn_cuda_data_mgmt.h"
#include "force.h"
#include "md_logging.h"
#include "pme_loadbal.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/smalloc.h"
+
/* Parameters and setting for one PP-PME setup */
typedef struct {
real rcut_coulomb; /* Coulomb cut-off */
/*
* This file is part of the GROMACS molecular simulation package.
*
- * Copyright (c) 2012,2013, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#ifndef _pme_loadbal_h
#define _pme_loadbal_h
+#ifdef __cplusplus
+extern "C" {
+#endif
+
typedef struct pme_load_balancing *pme_load_balancing_t;
/* Initialze the PP-PME load balacing data and infrastructure */
t_commrec *cr, FILE *fplog,
gmx_bool bNonBondedOnGPU);
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _pme_loadbal_h */
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+
+#include "repl_ex.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include <math.h>
-#include "repl_ex.h"
+
#include "network.h"
#include "gromacs/random/random.h"
#include "gromacs/utility/smalloc.h"
-#include "physics.h"
+#include "gromacs/math/units.h"
#include "copyrite.h"
-#include "macros.h"
-#include "vec.h"
+#include "gromacs/math/vec.h"
#include "names.h"
#include "domdec.h"
+#include "main.h"
#include "gromacs/random/random.h"
#define PROBABILITYCUTOFF 100
{
real *qall;
gmx_bool bDiff;
- int i, s;
+ int s;
snew(qall, ms->nsim);
qall[re->repl] = q;
const t_inputrec *ir,
int nst, int nex, int init_seed)
{
- real temp, pres;
+ real pres;
int i, j, k;
struct gmx_repl_ex *re;
gmx_bool bTemp;
real time)
{
int m, i, j, a, b, ap, bp, i0, i1, tmp;
- real ediff = 0, delta = 0, dpV = 0;
+ real delta = 0;
gmx_bool bPrint, bMultiEx;
gmx_bool *bEx = re->bEx;
real *prob = re->prob;
gmx_bool bEpot = FALSE;
gmx_bool bDLambda = FALSE;
gmx_bool bVol = FALSE;
- gmx_rng_t rng;
bMultiEx = (re->nex > 1); /* multiple exchanges at each state */
- fprintf(fplog, "Replica exchange at step " "%"GMX_PRId64 " time %.5f\n", step, time);
+ fprintf(fplog, "Replica exchange at step %" GMX_PRId64 " time %.5f\n", step, time);
if (re->bNPT)
{
t_state *state, gmx_enerdata_t *enerd,
t_state *state_local, gmx_int64_t step, real time)
{
- int i, j;
+ int j;
int replica_id = 0;
int exchange_partner;
int maxswap = 0;
#include "typedefs.h"
#include "types/commrec.h"
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* Abstract type for replica exchange */
typedef struct gmx_repl_ex *gmx_repl_ex_t;
extern void print_replica_exchange_statistics(FILE *fplog, gmx_repl_ex_t re);
/* Should only be called on the master nodes */
+#ifdef __cplusplus
+}
+#endif
+
#endif /* _repl_ex_h */
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
+
+#include <algorithm>
+
+#include <assert.h>
#include <signal.h>
#include <stdlib.h>
+#include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
-#include <string.h>
-#include <assert.h>
#include "typedefs.h"
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "copyrite.h"
#include "force.h"
#include "mdrun.h"
#include "constr.h"
#include "mvdata.h"
#include "checkpoint.h"
-#include "mtop_util.h"
+#include "gromacs/topology/mtop_util.h"
#include "sighandler.h"
#include "txtdump.h"
#include "gmx_detect_hardware.h"
#include "gmx_omp_nthreads.h"
#include "gromacs/gmxpreprocess/calc_verletbuf.h"
-#include "gmx_fatal_collective.h"
#include "membed.h"
-#include "macros.h"
#include "gmx_thread_affinity.h"
#include "inputrec.h"
+#include "main.h"
+#include "gromacs/essentialdynamics/edsam.h"
#include "gromacs/fileio/tpxio.h"
+#include "gromacs/math/vec.h"
#include "gromacs/mdlib/nbnxn_search.h"
#include "gromacs/mdlib/nbnxn_consts.h"
-#include "gromacs/timing/wallcycle.h"
-#include "gromacs/utility/gmxmpi.h"
-#include "gromacs/utility/gmxomp.h"
-#include "gromacs/swap/swapcoords.h"
-#include "gromacs/essentialdynamics/edsam.h"
+#include "gromacs/pbcutil/pbc.h"
#include "gromacs/pulling/pull.h"
#include "gromacs/pulling/pull_rotation.h"
+#include "gromacs/swap/swapcoords.h"
+#include "gromacs/timing/wallcycle.h"
+#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/utility/smalloc.h"
#ifdef GMX_FAHCORE
#include "corewrap.h"
else if (hw_opt->nthreads_omp > 0)
{
/* Here we could oversubscribe, when we do, we issue a warning later */
- nthreads_tmpi = max(1, nthreads_tot/hw_opt->nthreads_omp);
+ nthreads_tmpi = std::max(1, nthreads_tot/hw_opt->nthreads_omp);
}
else
{
const int nthreads_omp_always_faster = 4;
const int nthreads_omp_always_faster_Nehalem = 12;
const int nthreads_omp_always_faster_SandyBridge = 16;
- const int first_model_Nehalem = 0x1A;
- const int first_model_SandyBridge = 0x2A;
gmx_bool bIntel_Family6;
bIntel_Family6 =
{
int nthreads_hw, nthreads_tot_max, nthreads_tmpi, nthreads_new, ngpu;
int min_atoms_per_mpi_thread;
- char *env;
- char sbuf[STRLEN];
gmx_bool bCanUseGPU;
if (hw_opt->nthreads_tmpi > 0)
{
/* the thread number was chosen automatically, but there are too many
threads (too few atoms per thread) */
- nthreads_new = max(1, mtop->natoms/min_atoms_per_mpi_thread);
+ nthreads_new = std::max(1, mtop->natoms/min_atoms_per_mpi_thread);
/* Avoid partial use of Hyper-Threading */
if (gmx_cpuid_x86_smt(hwinfo->cpuid_info) == GMX_CPUID_X86_SMT_ENABLED &&
/* We determine the extra cost of the non-bonded kernels compared to
* a reference nstlist value of 10 (which is the default in grompp).
*/
-static const int nbnxn_reference_nstlist = 10;
+static const int nbnxnReferenceNstlist = 10;
/* The values to try when switching */
const int nstlist_try[] = { 20, 25, 40 };
#define NNSTL sizeof(nstlist_try)/sizeof(nstlist_try[0])
float listfac_ok, listfac_max;
int nstlist_orig, nstlist_prev;
verletbuf_list_setup_t ls;
- real rlist_nstlist10, rlist_inc, rlist_ok, rlist_max;
+ real rlistWithReferenceNstlist, rlist_inc, rlist_ok, rlist_max;
real rlist_new, rlist_prev;
- int nstlist_ind = 0;
+ size_t nstlist_ind = 0;
t_state state_tmp;
gmx_bool bBox, bDD, bCont;
const char *nstl_gpu = "\nFor optimal performance with a GPU nstlist (now %d) should be larger.\nThe optimum depends on your CPU and GPU resources.\nYou might want to try several nstlist values.\n";
const char *box_err = "Can not increase nstlist because the box is too small";
const char *dd_err = "Can not increase nstlist because of domain decomposition limitations";
char buf[STRLEN];
+ const float oneThird = 1.0f / 3.0f;
if (nstlist_cmdline <= 0)
{
verletbuf_get_list_setup(bGPU, &ls);
/* Allow rlist to make the list a given factor larger than the list
- * would be with nstlist=10.
+ * would be with the reference value for nstlist (10).
*/
nstlist_prev = ir->nstlist;
- ir->nstlist = 10;
+ ir->nstlist = nbnxnReferenceNstlist;
calc_verlet_buffer_size(mtop, det(box), ir, -1, &ls, NULL,
- &rlist_nstlist10);
+ &rlistWithReferenceNstlist);
ir->nstlist = nstlist_prev;
/* Determine the pair list size increase due to zero interactions */
rlist_inc = nbnxn_get_rlist_effective_inc(ls.cluster_size_j,
mtop->natoms/det(box));
- rlist_ok = (rlist_nstlist10 + rlist_inc)*pow(listfac_ok, 1.0/3.0) - rlist_inc;
- rlist_max = (rlist_nstlist10 + rlist_inc)*pow(listfac_max, 1.0/3.0) - rlist_inc;
+ rlist_ok = (rlistWithReferenceNstlist + rlist_inc)*pow(listfac_ok, oneThird) - rlist_inc;
+ rlist_max = (rlistWithReferenceNstlist + rlist_inc)*pow(listfac_max, oneThird) - rlist_inc;
if (debug)
{
fprintf(debug, "nstlist tuning: rlist_inc %.3f rlist_ok %.3f rlist_max %.3f\n",
t_inputrec *ir,
gmx_mtop_t *mtop, real box_vol)
{
- char *conv_mesg = "Converting input file with group cut-off scheme to the Verlet cut-off scheme";
+ const char *conv_mesg = "Converting input file with group cut-off scheme to the Verlet cut-off scheme";
md_print_warn(NULL, fplog, "%s\n", conv_mesg);
rlist_fac = 1 + verlet_buffer_ratio_nodynamics;
}
ir->verletbuf_tol = -1;
- ir->rlist = rlist_fac*max(ir->rvdw, ir->rcoulomb);
+ ir->rlist = rlist_fac*std::max(ir->rvdw, ir->rcoulomb);
}
gmx_mtop_remove_chargegroups(mtop);
gmx_bool bIsPPrankUsingGPU;
char gpu_err_str[STRLEN];
- bIsPPrankUsingGPU = (cr->duty & DUTY_PP) && fr->nbv != NULL && fr->nbv->bUseGPU;
+ bIsPPrankUsingGPU = (cr->duty & DUTY_PP) && fr != NULL && fr->nbv != NULL && fr->nbv->bUseGPU;
if (bIsPPrankUsingGPU)
{
const char *deviceOptions, int imdport, unsigned long Flags)
{
gmx_bool bForceUseGPU, bTryUseGPU;
- double nodetime = 0, realtime;
t_inputrec *inputrec;
t_state *state = NULL;
matrix box;
gmx_ddbox_t ddbox = {0};
int npme_major, npme_minor;
- real tmpr1, tmpr2;
t_nrnb *nrnb;
gmx_mtop_t *mtop = NULL;
t_mdatoms *mdatoms = NULL;
gmx_pme_t *pmedata = NULL;
gmx_vsite_t *vsite = NULL;
gmx_constr_t constr;
- int i, m, nChargePerturbed = -1, nTypePerturbed = 0, status, nalloc;
- char *gro;
+ int nChargePerturbed = -1, nTypePerturbed = 0, status;
gmx_wallcycle_t wcycle;
gmx_bool bReadEkin;
- int list;
gmx_walltime_accounting_t walltime_accounting = NULL;
int rc;
gmx_int64_t reset_counters;
gmx_edsam_t ed = NULL;
- t_commrec *cr_old = cr;
int nthreads_pme = 1;
int nthreads_pp = 1;
gmx_membed_t membed = NULL;
}
}
- /* Check for externally set OpenMP affinity and turn off internal
- * pinning if any is found. We need to do this check early to tell
- * thread-MPI whether it should do pinning when spawning threads.
- * TODO: the above no longer holds, we should move these checks down
- */
- gmx_omp_check_thread_affinity(fplog, cr, hw_opt);
-
/* Check and update the hardware options for internal consistency */
check_and_update_hw_opt_1(hw_opt, SIMMASTER(cr));
+ /* Early check for externally set process affinity. */
+ gmx_check_thread_affinity_set(fplog, cr,
+ hw_opt, hwinfo->nthreads_hw_avail, FALSE);
if (SIMMASTER(cr))
{
-#ifdef GMX_THREAD_MPI
- /* Early check for externally set process affinity.
- * With thread-MPI this is needed as pinning might get turned off,
- * which needs to be known before starting thread-MPI.
- * With thread-MPI hw_opt is processed here on the master rank
- * and passed to the other ranks later, so we only do this on master.
- */
- gmx_check_thread_affinity_set(fplog,
- NULL,
- hw_opt, hwinfo->nthreads_hw_avail, FALSE);
-#endif
#ifdef GMX_THREAD_MPI
if (cr->npmenodes > 0 && hw_opt->nthreads_tmpi <= 0)
if (hw_opt->nthreads_tmpi > 1)
{
+ t_commrec *cr_old = cr;
/* now start the threads. */
cr = mdrunner_start_threads(hw_opt, fplog, cr_old, nfile, fnm,
oenv, bVerbose, bCompact, nstglobalcomm,
if (DOMAINDECOMP(cr))
{
+ GMX_RELEASE_ASSERT(fr, "fr was NULL while cr->duty was DUTY_PP");
dd_init_bondeds(fplog, cr->dd, mtop, vsite, inputrec,
Flags & MD_DDBONDCHECK, fr->cginfo_mb);
}
else
{
+ GMX_RELEASE_ASSERT(pmedata, "pmedata was NULL while cr->duty was not DUTY_PP");
/* do PME only */
walltime_accounting = walltime_accounting_init(gmx_omp_nthreads_get(emntPME));
gmx_pmeonly(*pmedata, cr, nrnb, wcycle, walltime_accounting, ewaldcoeff_q, ewaldcoeff_lj, inputrec);
# include <config.h>
#endif
-#include "testutils/integrationtests.h"
-#include "testutils/testoptions.h"
-#include "testutils/cmdlinetest.h"
-#include "gromacs/options/options.h"
+#include "gromacs/gmxpreprocess/grompp.h"
#include "gromacs/options/basicoptions.h"
+#include "gromacs/options/options.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/basenetwork.h"
#include "gromacs/utility/file.h"
-#include "gromacs/legacyheaders/network.h"
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/gmxpreprocess/grompp.h"
+
#include "programs/mdrun/mdrun_main.h"
+#include "testutils/integrationtests.h"
+#include "testutils/testoptions.h"
+#include "testutils/cmdlinetest.h"
+
namespace gmx
{
namespace test
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/network.h"
-#include "gromacs/legacyheaders/types/simple.h"
-#include "gromacs/fileio/path.h"
+#include "gromacs/utility/basenetwork.h"
+#include "gromacs/utility/path.h"
+#include "gromacs/utility/real.h"
#include "gromacs/utility/stringutil.h"
-#include "../mdrun_main.h"
+#include "programs/mdrun/mdrun_main.h"
#include "testutils/cmdlinetest.h"
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#include "gromacs/math/3dview.h"
-
-#ifdef HAVE_CONFIG_H
-#include <config.h>
-#endif
+#include "3dview.h"
#include <math.h>
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
-#include "macros.h"
-#include "physics.h"
-#include "pbc.h"
-#include "vec.h"
-
-#include "gmx_fatal.h"
-
-#define N 4
-
-void m4_op(mat4 m, rvec x, vec4 v)
-{
- int i;
-
- for (i = 0; (i < N); i++)
- {
- v[i] = m[XX][i]*x[XX]+m[YY][i]*x[YY]+m[ZZ][i]*x[ZZ]+m[WW][i];
- }
-}
-
-void unity_m4(mat4 m)
-{
- int i, j;
-
- for (i = 0; (i < N); i++)
- {
- for (j = 0; (j < N); j++)
- {
- if (i == j)
- {
- m[i][j] = 1.0;
- }
- else
- {
- m[i][j] = 0.0;
- }
- }
- }
-}
-
-void print_m4(FILE *fp, const char *s, mat4 A)
-{
- int i, j;
-
- if (fp)
- {
- fprintf(fp, "%s: ", s);
- for (i = 0; i < N; i++)
- {
- fprintf(fp, "\t");
- for (j = 0; j < N; j++)
- {
- fprintf(fp, "%10.5f", A[i][j]);
- }
- fprintf(fp, "\n");
- }
- }
-}
-
-void print_v4(FILE *fp, char *s, int dim, real *a)
-{
- int j;
-
- if (fp)
- {
- fprintf(fp, "%s: ", s);
- for (j = 0; j < dim; j++)
- {
- fprintf(fp, "%10.5f", a[j]);
- }
- fprintf(fp, "\n");
- }
-}
-void mult_matrix(mat4 A, mat4 B, mat4 C)
-{
- int i, j, k;
-
- for (i = 0; i < N; i++)
- {
- for (j = 0; j < N; j++)
- {
- A[i][j] = 0;
- for (k = 0; (k < N); k++)
- {
- A[i][j] += B[i][k]*C[k][j];
- }
- }
- }
-}
+#include <algorithm>
-void rotate(int axis, real angle, mat4 A)
-{
- unity_m4(A);
-
- switch (axis)
- {
- case XX:
- A[YY][YY] = cos(angle);
- A[YY][ZZ] = -sin(angle);
- A[ZZ][YY] = sin(angle);
- A[ZZ][ZZ] = cos(angle);
- break;
- case YY:
- A[XX][XX] = cos(angle);
- A[XX][ZZ] = sin(angle);
- A[ZZ][XX] = -sin(angle);
- A[ZZ][ZZ] = cos(angle);
- break;
- case ZZ:
- A[XX][XX] = cos(angle);
- A[XX][YY] = -sin(angle);
- A[YY][XX] = sin(angle);
- A[YY][YY] = cos(angle);
- break;
- default:
- gmx_fatal(FARGS, "Error: invalid axis: %d", axis);
- }
-}
-
-void translate(real tx, real ty, real tz, mat4 A)
-{
- unity_m4(A);
- A[3][XX] = tx;
- A[3][YY] = ty;
- A[3][ZZ] = tz;
-}
+#include "gromacs/math/3dtransforms.h"
+#include "gromacs/math/units.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
static void set_scale(t_3dview *view, real sx, real sy)
{
view->sc_y = sy;
}
-void calculate_view(t_3dview *view)
+static void calculate_view(t_3dview *view)
{
#define SMALL 1e-6
mat4 To, Te, T1, T2, T3, T4, T5, N1, D1, D2, D3, D4, D5;
l = sqrt(dx*dx+dy*dy+dz*dz);
r = sqrt(dx*dx+dy*dy);
#ifdef DEBUG
- print_v4(debug, "eye", N, view->eye);
+ gmx_vec4_print(debug, "eye", view->eye);
printf("del: %10.5f%10.5f%10.5f l: %10.5f, r: %10.5f\n", dx, dy, dz, l, r);
#endif
if (l < SMALL)
{
gmx_fatal(FARGS, "Error: Zero Length Vector - No View Specified");
}
- translate((real)(-view->origin[XX]),
- (real)(-view->origin[YY]), (real)(-view->origin[ZZ]), To);
- translate((real)(-view->eye[XX]),
- (real)(-view->eye[YY]), (real)(-view->eye[ZZ]), Te);
+ gmx_mat4_init_translation(-view->origin[XX], -view->origin[YY], -view->origin[ZZ], To);
+ gmx_mat4_init_translation(-view->eye[XX], -view->eye[YY], -view->eye[ZZ], Te);
- unity_m4(T2);
+ gmx_mat4_init_unity(T2);
T2[YY][YY] = 0, T2[YY][ZZ] = -1, T2[ZZ][YY] = 1, T2[ZZ][ZZ] = 0;
- unity_m4(T3);
+ gmx_mat4_init_unity(T3);
if (r > 0)
{
T3[XX][XX] = -dy/r, T3[XX][ZZ] = dx/r, T3[ZZ][XX] = -dx/r, T3[ZZ][ZZ] = -dy/r;
}
- unity_m4(T4);
+ gmx_mat4_init_unity(T4);
T4[YY][YY] = r/l, T4[YY][ZZ] = dz/l, T4[ZZ][YY] = -dz/l, T4[ZZ][ZZ] = r/l;
- unity_m4(T5);
+ gmx_mat4_init_unity(T5);
T5[ZZ][ZZ] = -1;
- unity_m4(N1);
+ gmx_mat4_init_unity(N1);
/* N1[XX][XX]=4,N1[YY][YY]=4; */
- mult_matrix(T1, To, view->Rot);
- mult_matrix(D1, Te, T2);
- mult_matrix(D2, T3, T4);
- mult_matrix(D3, T5, N1);
- mult_matrix(D4, T1, D1);
- mult_matrix(D5, D2, D3);
+ gmx_mat4_mmul(T1, To, view->Rot);
+ gmx_mat4_mmul(D1, Te, T2);
+ gmx_mat4_mmul(D2, T3, T4);
+ gmx_mat4_mmul(D3, T5, N1);
+ gmx_mat4_mmul(D4, T1, D1);
+ gmx_mat4_mmul(D5, D2, D3);
- mult_matrix(view->proj, D4, D5);
+ gmx_mat4_mmul(view->proj, D4, D5);
#ifdef DEBUG
- print_m4(debug, "T1", T1);
- print_m4(debug, "T2", T2);
- print_m4(debug, "T3", T3);
- print_m4(debug, "T4", T4);
- print_m4(debug, "T5", T5);
- print_m4(debug, "N1", N1);
- print_m4(debug, "Rot", view->Rot);
- print_m4(debug, "Proj", view->proj);
+ gmx_mat4_print(debug, "T1", T1);
+ gmx_mat4_print(debug, "T2", T2);
+ gmx_mat4_print(debug, "T3", T3);
+ gmx_mat4_print(debug, "T4", T4);
+ gmx_mat4_print(debug, "T5", T5);
+ gmx_mat4_print(debug, "N1", N1);
+ gmx_mat4_print(debug, "Rot", view->Rot);
+ gmx_mat4_print(debug, "Proj", view->proj);
#endif
}
dr1 = sqrt(dr2);
if (fac < 1)
{
- bm = max(norm(view->box[XX]), max(norm(view->box[YY]), norm(view->box[ZZ])));
+ bm = std::max(norm(view->box[XX]), std::max(norm(view->box[YY]), norm(view->box[ZZ])));
if (dr1*fac < 1.1*bm) /* Don't come to close */
{
return FALSE;
return TRUE;
}
-void init_rotate_3d(t_3dview *view)
+/* Initiates the state of 3d rotation matrices in the structure */
+static void init_rotate_3d(t_3dview *view)
{
real rot = DEG2RAD*15;
int i;
for (i = 0; (i < DIM); i++)
{
- rotate(i, rot, view->RotP[i]);
- rotate(i, (real)(-rot), view->RotM[i]);
+ gmx_mat4_init_rotation(i, rot, view->RotP[i]);
+ gmx_mat4_init_rotation(i, -rot, view->RotM[i]);
#ifdef DEBUG
- print_m4(debug, "RotP", view->RotP[i]);
- print_m4(debug, "RotM", view->RotM[i]);
+ gmx_mat4_print(debug, "RotP", view->RotP[i]);
+ gmx_mat4_print(debug, "RotM", view->RotM[i]);
#endif
}
}
void rotate_3d(t_3dview *view, int axis, gmx_bool bPositive)
{
- int i, j;
mat4 m4;
if (bPositive)
{
- mult_matrix(m4, view->Rot, view->RotP[axis]);
+ gmx_mat4_mmul(m4, view->Rot, view->RotP[axis]);
}
else
{
- mult_matrix(m4, view->Rot, view->RotM[axis]);
- }
- for (i = 0; (i < N); i++)
- {
- for (j = 0; (j < N); j++)
- {
- view->Rot[i][j] = m4[i][j];
- }
+ gmx_mat4_mmul(m4, view->Rot, view->RotM[axis]);
}
-
+ gmx_mat4_copy(m4, view->Rot);
calculate_view(view);
}
void reset_view(t_3dview *view)
{
- int i;
-
#ifdef DEBUG
printf("Reset view called\n");
#endif
set_scale(view, 4.0, 4.0);
clear_rvec(view->eye);
calc_box_center(view->ecenter, view->box, view->origin);
- view->eye[ZZ] = 3.0*max(view->box[XX][XX], view->box[YY][YY]);
+ view->eye[ZZ] = 3.0*std::max(view->box[XX][XX], view->box[YY][YY]);
zoom_3d(view, 1.0);
view->eye[WW] = view->origin[WW] = 0.0;
/* Initiate the matrix */
- unity_m4(view->Rot);
+ gmx_mat4_init_unity(view->Rot);
calculate_view(view);
init_rotate_3d(view);
t_3dview *init_view(matrix box)
{
t_3dview *view;
- int i, j;
snew(view, 1);
-
- /* Copy parameters into variables */
- for (i = 0; (i < DIM); i++)
- {
- for (j = 0; (j < DIM); j++)
- {
- view->box[i][j] = box[i][j];
- }
- }
-
+ copy_mat(box, view->box);
view->ecenter = ecenterDEF;
-
reset_view(view);
return view;
* To help us fund GROMACS development, we humbly ask that you cite
* the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef GMX_MATH_3DVIEW_H
-#define GMX_MATH_3DVIEW_H
+#ifndef GMX_VIEW_3DVIEW_H
+#define GMX_VIEW_3DVIEW_H
-#include <stdio.h>
-
-#include "../legacyheaders/types/simple.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-#define WW 3
-
-typedef real vec4[4];
-
-typedef real mat4[4][4];
+#include "gromacs/math/3dtransforms.h"
+#include "gromacs/math/vectypes.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/real.h"
typedef int iv2[2];
typedef struct {
matrix box;
- int ecenter; /* enum for centering, see pbc.h */
- vec4 eye, origin; /* The eye and origin position */
- mat4 proj; /* Projection matrix */
- mat4 Rot; /* Total rotation matrix */
- real sc_x, sc_y; /* Scaling for aspect ratio */
- mat4 RotP[DIM]; /* state for 3d rotations */
+ int ecenter; /* enum for centering, see pbc.h */
+ vec4 eye, origin; /* The eye and origin position */
+ mat4 proj; /* Projection matrix */
+ mat4 Rot; /* Total rotation matrix */
+ real sc_x, sc_y; /* Scaling for aspect ratio */
+ mat4 RotP[DIM]; /* state for 3d rotations */
mat4 RotM[DIM];
} t_3dview;
-extern void print_m4(FILE *fp, const char *s, mat4 A);
-
-extern void print_v4(FILE *fp, char *s, int dim, real *a);
-
-extern void m4_op(mat4 m, rvec x, vec4 v);
-
-extern void unity_m4(mat4 m);
-
-extern void mult_matrix(mat4 A, mat4 B, mat4 C);
-
-extern void rotate(int axis, real angle, mat4 A);
-
-extern void translate(real tx, real ty, real tz, mat4 A);
-
-extern void m4_op(mat4 m, rvec x, vec4 v);
-
-extern void calculate_view(t_3dview *view);
-
-extern t_3dview *init_view(matrix box);
+t_3dview *init_view(matrix box);
/* Generate the view matrix from the eye pos and the origin,
* applying also the scaling for the aspect ration.
* There is no accompanying done_view routine: the struct can simply
* reset the view
*/
-extern gmx_bool zoom_3d(t_3dview *view, real fac);
+gmx_bool zoom_3d(t_3dview *view, real fac);
/* Zoom in or out with factor fac, returns TRUE when zoom successful,
* FALSE otherwise.
*/
-extern void init_rotate_3d(t_3dview *view);
-/* Initiates the state of 3d rotation matrices in the structure */
-
-extern void rotate_3d(t_3dview *view, int axis, gmx_bool bPositive);
+void rotate_3d(t_3dview *view, int axis, gmx_bool bPositive);
/* Rotate the eye around the center of the box, around axis */
-extern void translate_view(t_3dview *view, int axis, gmx_bool bPositive);
+void translate_view(t_3dview *view, int axis, gmx_bool bPositive);
/* Translate the origin at which one is looking */
-extern void reset_view(t_3dview *view);
+void reset_view(t_3dview *view);
/* Reset the viewing to the initial view */
-#ifdef __cplusplus
-}
-#endif
-
#endif
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
#include <algorithm>
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "x11.h"
#include "xutil.h"
#include <config.h>
#endif
+#include <stdlib.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> // for fork()
#endif
-#include "gromacs/utility/smalloc.h"
-#include "sysstuff.h"
#include "macros.h"
-#include "gromacs/utility/cstringutil.h"
#include "x11.h"
#include "xdlghi.h"
#include "xmb.h"
#include "names.h"
#include "nmol.h"
#include "manager.h"
-#include "gromacs/fileio/futil.h"
-#include "gmx_fatal.h"
+
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
#define MBFLAGS /* MB_APPLMODAL | */ MB_DONTSHOW
#include <config.h>
#endif
+#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
-#include <ctype.h>
+
+#include "fgrid.h"
+
#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
-#include "fgrid.h"
-#include "gromacs/fileio/futil.h"
static const char *type[] = {
"button", "radiobuttons", "groupbox", "checkbox",
#include <algorithm>
-#include "sysstuff.h"
-#include "gromacs/fileio/futil.h"
+#include "gromacs/utility/futil.h"
#include "gromacs/utility/smalloc.h"
#include "macros.h"
-#include "index.h"
+#include "gromacs/topology/index.h"
#include "xdlghi.h"
#include "dialogs.h"
-#include "index.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
t_filter *init_filter(t_atoms *atoms, const char *fn, int natom_trx)
{
#include <config.h>
#endif
-#include "sysstuff.h"
+#include <stdlib.h>
+
#include "macros.h"
#include "xutil.h"
#include "Xstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "copyrite.h"
#include "logo.h"
+#include "gromacs/utility/real.h"
+#include "gromacs/utility/smalloc.h"
+
typedef struct {
int x, y, rad;
unsigned long *col;
};
#define NMESS asize(Mess)
int i;
- real wfac, hfac;
t_logo *logo;
t_windata *wd;
wd = &(logo->wd);
if (bFirst)
{
- wfac = wd->width/110.0;
- hfac = wd->height/110.0;
+ const real wfac = wd->width/110.0;
+ const real hfac = wd->height/110.0;
for (i = 0; (i < asize(c)); i++)
{
c[i].x *= wfac;
#endif
#include <ctype.h>
+#include <stdlib.h>
#include <string.h>
#ifdef HAVE_UNISTD_H
#include <unistd.h> // for usleep()
#endif
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "typedefs.h"
#include "macros.h"
-#include "atomprop.h"
#include "names.h"
-#include "manager.h"
-#include "pbc.h"
-#include "nmol.h"
#include "copyrite.h"
-#include "vec.h"
-#include "gromacs/utility/cstringutil.h"
-#include "gromacs/fileio/futil.h"
#include "gromacs/fileio/tpxio.h"
#include "gromacs/math/utilities.h"
+#include "gromacs/math/vec.h"
+#include "gromacs/pbcutil/pbc.h"
+#include "gromacs/topology/atomprop.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/futil.h"
+#include "gromacs/utility/smalloc.h"
+
+#include "3dview.h"
+#include "manager.h"
+#include "nmol.h"
static void add_object(t_manager *man, eObject eO, atom_id ai, atom_id aj)
{
#define _manager_h
#include <stdio.h>
+
#include "typedefs.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/pbcutil/rmpbc.h"
+
+#include "3dview.h"
+#include "buttons.h"
+#include "nleg.h"
#include "x11.h"
#include "xutil.h"
-#include "gromacs/math/3dview.h"
-#include "nleg.h"
-#include "buttons.h"
-#include "rmpbc.h"
-#include "gromacs/fileio/trxio.h"
/* Some window sizes */
#define EWIDTH 200
#endif
#include <math.h>
-#include "sysstuff.h"
+#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
+
#include "macros.h"
-#include "xutil.h"
+
+#include "gromacs/fileio/writeps.h"
+#include "gromacs/utility/smalloc.h"
+
+#include "3dview.h"
#include "buttons.h"
#include "manager.h"
-#include "nmol.h"
#include "nleg.h"
-
-#include "gromacs/fileio/writeps.h"
-#include "gromacs/math/3dview.h"
+#include "nmol.h"
+#include "xutil.h"
#define MSIZE 4
{
corner[i][j] = ivec[i][j]*box[j][j];
}
- m4_op(view->proj, corner[i], x4);
+ gmx_mat4_transform_point(view->proj, corner[i], x4);
v4_to_iv2(x4, vec2[i], x0, y0, sx, sy);
}
ps_color(ps, 0, 0, 0.5);
{
if (man->bVis[i])
{
- m4_op(view->proj, man->x[i], x4);
+ gmx_mat4_transform_point(view->proj, man->x[i], x4);
man->zz[i] = x4[ZZ];
v4_to_iv2(x4, vec2[i], x0, y0, sx, sy);
}
#include <algorithm>
-#include "macros.h"
+#include "gromacs/legacyheaders/types/rgb.h"
+#include "gromacs/legacyheaders/macros.h"
#include "gromacs/utility/smalloc.h"
#include "buttons.h"
#ifndef _nleg_h
#define _nleg_h
+#include "gromacs/legacyheaders/types/rgb.h"
+
#include "x11.h"
#include "xutil.h"
#endif
#include <math.h>
-#include "sysstuff.h"
+#include <stdlib.h>
#include <string.h>
-#include "gromacs/utility/smalloc.h"
+
#include "macros.h"
-#include "xutil.h"
-#include "gromacs/math/3dview.h"
-#include "gmx_fatal.h"
+#include "txtdump.h"
+#include "gromacs/pbcutil/pbc.h"
+
+#include "gromacs/math/vec.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
+#include "3dview.h"
#include "buttons.h"
#include "manager.h"
#include "nmol.h"
-#include "vec.h"
-#include "txtdump.h"
-#include "pbc.h"
+#include "xutil.h"
#define MSIZE 4
for (i = 0; (i < NCUCEDGE); i++)
{
- m4_op(view->proj, corner[i], x4);
+ gmx_mat4_transform_point(view->proj, corner[i], x4);
v4_to_iv2(x4, vec2[i], x0, y0, sx, sy);
}
XSetForeground(x11->disp, x11->gc, YELLOW);
}
}
rvec_inc(corner[i], box_center);
- m4_op(view->proj, corner[i], x4);
+ gmx_mat4_transform_point(view->proj, corner[i], x4);
v4_to_iv2(x4, vec2[i], x0, y0, sx, sy);
}
if (debug)
{
if (man->bVis[i])
{
- m4_op(view->proj, man->x[i], x4);
+ gmx_mat4_transform_point(view->proj, man->x[i], x4);
man->zz[i] = x4[ZZ];
v4_to_iv2(x4, vec2[i], x0, y0, sx, sy);
}
#include <stdio.h>
#include <string.h>
-#include "sysstuff.h"
#include "macros.h"
#include "gromacs/utility/smalloc.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "typedefs.h"
#include "gromacs/commandline/pargs.h"
#include "copyrite.h"
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
+
#include "typedefs.h"
-#include "sysstuff.h"
#include "gromacs/utility/smalloc.h"
#include "Xstuff.h"
#include "x11.h"
#include "xutil.h"
#include "xdlg.h"
#include "xmb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
/*****************************
*
* Helpful routines
#include <config.h>
#endif
+#include <stdlib.h>
#include <string.h>
#include <algorithm>
-#include "gmx_fatal.h"
-#include "gromacs/utility/cstringutil.h"
-#include "sysstuff.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "xutil.h"
#include "xdlghi.h"
#include "fgrid.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
t_dlgitem **CreateRadioButtonGroup(t_x11 *x11, char *szTitle,
t_id GroupID, int nrb, t_id rb[],
int nSelect,
#include <algorithm>
-#include "gmx_fatal.h"
-#include "gromacs/utility/smalloc.h"
#include "macros.h"
#include "Xstuff.h"
#include "xdlgitem.h"
+#include "gromacs/utility/cstringutil.h"
+#include "gromacs/utility/fatalerror.h"
+#include "gromacs/utility/smalloc.h"
+
#define BUFSIZE 16
static t_dlgitem *newitem(void)
*
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2013, The GROMACS development team.
- * Copyright (c) 2013, by the GROMACS development team, led by
+ * Copyright (c) 2013,2014, by the GROMACS development team, led by
* Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
* and including many others, as listed in the AUTHORS file in the
* top-level source directory and at http://www.gromacs.org.
#include "xutil.h"
#include "xdlg.h"
#include "xmb.h"
-#include "gmx_fatal.h"
+#include "gromacs/utility/fatalerror.h"
#include "gromacs.bm"
#include "stop.bm"
#include "info.bm"
#include <libxml/parser.h>
#include <libxml/xmlmemory.h>
-#include "gromacs/fileio/path.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/options/options.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/path.h"
#include "gromacs/utility/stringutil.h"
#include "testutils/testasserts.h"
static const xmlChar * const cStringNodeName;
//! String constant for naming XML elements for integer values.
static const xmlChar * const cIntegerNodeName;
+ //! String constant for naming XML elements for int64 values.
+ static const xmlChar * const cInt64NodeName;
+ //! String constant for naming XML elements for unsigned int64 values.
+ static const xmlChar * const cUInt64NodeName;
//! String constant for naming XML elements for floating-point values.
static const xmlChar * const cRealNodeName;
//! String constant for naming XML attribute for value identifiers.
(const xmlChar *)"String";
const xmlChar * const TestReferenceChecker::Impl::cIntegerNodeName =
(const xmlChar *)"Int";
+const xmlChar * const TestReferenceChecker::Impl::cInt64NodeName =
+ (const xmlChar *)"Int64";
+const xmlChar * const TestReferenceChecker::Impl::cUInt64NodeName =
+ (const xmlChar *)"UInt64";
const xmlChar * const TestReferenceChecker::Impl::cRealNodeName =
(const xmlChar *)"Real";
const xmlChar * const TestReferenceChecker::Impl::cIdAttrName =
}
}
+void TestReferenceChecker::checkInt64(gmx_int64_t value, const char *id)
+{
+ if (impl_->shouldIgnore())
+ {
+ return;
+ }
+ SCOPED_TRACE(impl_->traceString(id));
+ bool bFound = false;
+ std::string strValue = formatString("%" GMX_PRId64, value);
+ std::string refStrValue =
+ impl_->processItem(Impl::cInt64NodeName, id, strValue, &bFound);
+ if (bFound)
+ {
+ EXPECT_EQ(refStrValue, strValue);
+ }
+}
+
+void TestReferenceChecker::checkUInt64(gmx_uint64_t value, const char *id)
+{
+ if (impl_->shouldIgnore())
+ {
+ return;
+ }
+ SCOPED_TRACE(impl_->traceString(id));
+ bool bFound = false;
+ std::string strValue = formatString("%" GMX_PRIu64, value);
+ std::string refStrValue =
+ impl_->processItem(Impl::cUInt64NodeName, id, strValue, &bFound);
+ if (bFound)
+ {
+ EXPECT_EQ(refStrValue, strValue);
+ }
+}
void TestReferenceChecker::checkDouble(double value, const char *id)
{
#include <iterator>
#include <string>
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/common.h"
namespace gmx
void checkStringBlock(const std::string &value, const char *id);
//! Check a single integer value.
void checkInteger(int value, const char *id);
+ //! Check a single int64 value.
+ void checkInt64(gmx_int64_t value, const char *id);
+ //! Check a single uint64 value.
+ void checkUInt64(gmx_uint64_t value, const char *id);
//! Check a single single-precision floating point value.
void checkFloat(float value, const char *id);
//! Check a single double-precision floating point value.
{
checkInteger(value, id);
}
+ //! Check a single integer value.
+ void checkValue(gmx_int64_t value, const char *id)
+ {
+ checkInt64(value, id);
+ }
+ //! Check a single integer value.
+ void checkValue(gmx_uint64_t value, const char *id)
+ {
+ checkUInt64(value, id);
+ }
//! Check a single single-precision floating point value.
void checkValue(float value, const char *id)
{
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/types/simple.h"
-
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/stringutil.h"
namespace gmx
#include <gtest/gtest.h>
-#include "gromacs/legacyheaders/types/simple.h"
-
+#include "gromacs/utility/basedefinitions.h"
#include "gromacs/utility/exceptions.h"
+#include "gromacs/utility/real.h"
namespace gmx
{
#include <gtest/gtest.h>
-#include "gromacs/fileio/path.h"
#include "gromacs/options/options.h"
#include "gromacs/options/basicoptions.h"
#include "gromacs/utility/gmxassert.h"
+#include "gromacs/utility/path.h"
#include "testutils/testoptions.h"
TestReferenceChecker checker(data.rootChecker());
checker.checkBoolean(true, "int");
checker.checkInteger(1, "int");
+ checker.checkInt64(1ULL<<42, "int64");
+ checker.checkUInt64(1ULL<<42, "uint64");
checker.checkDouble(0.5, "real");
checker.checkString("Test", "string");
}
TestReferenceChecker checker(data.rootChecker());
checker.checkBoolean(true, "int");
checker.checkInteger(1, "int");
+ checker.checkInt64(1ULL<<42, "int64");
+ checker.checkUInt64(1ULL<<42, "uint64");
checker.checkDouble(0.5, "real");
checker.checkString("Test", "string");
}
${CMAKE_SOURCE_DIR}/src/external/*.c
${CMAKE_SOURCE_DIR}/src/external/*.cpp
${CMAKE_SOURCE_DIR}/src/external/*.cu
+ ${CMAKE_SOURCE_DIR}/src/gromacs/selection/scanner.cpp
+ ${CMAKE_SOURCE_DIR}/src/gromacs/selection/parser.cpp
)
list(REMOVE_ITEM _inputfiles ${_files_to_ignore})
set(_outputopt --xml)
endif()
set(_common_flags
- --enable=style -DLINUX
+ --enable=style -DLINUX -DHAVE_UNISTD_H
-I src/gromacs/legacyheaders -I src
-I src/external/thread_mpi/include
-I src/external/tng_io/include
-I ${CMAKE_BINARY_DIR}/src -I ${CMAKE_BINARY_DIR}/src/gromacs/utility
--quiet
+ --inline-suppr
${_outputopt})
set(_c_flags
--suppress=variableScope
--suppress=sizeofCalculation
--suppress=missingInclude:src/programs/mdrun/gmx_gpu_utils/gmx_gpu_utils.cu
--suppress=*:src/external/Random123-1.08/include/Random123/features/compilerfeatures.h
- --inline-suppr)
+ --suppress=assignIfError:src/gromacs/mdlib/nbnxn_atomdata.c #Ticket 5695
+ --suppress=invalidPointerCast:src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh
+ --suppress=passedByValue:src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel.cuh
+ --suppress=passedByValue:src/gromacs/mdlib/nbnxn_cuda/nbnxn_cuda_kernel_utils.cuh
+ )
set(_cxx_flags
-D__cplusplus
--suppress=variableScope
--suppress=unnecessaryForwardDeclaration
--suppress=invalidscanf:src/gromacs/fileio/matio.cpp
- --suppress=invalidscanf:src/gromacs/gmxlib/xvgr.cpp
- --suppress=invalidscanf:src/gromacs/gmxpreprocess/pdb2top.cpp
- --suppress=*:src/gromacs/selection/scanner.cpp)
+ --suppress=invalidscanf:src/gromacs/fileio/xvgr.cpp
+ --suppress=invalidscanf:src/gromacs/topology/index.cpp
+ --suppress=invalidscanf:src/gromacs/gmxpreprocess/pdb2top.cpp)
# This list will hold the list of all files with cppcheck errors
# (one per input file)